Le package responsable de ce comportement est le package de commande introuvable et il inclut déjà le comportement souhaité bien qu'il soit désactivé par défaut. Vous pouvez l'activer en ajoutant la ligne suivante à votre~/.bashrc
export COMMAND_NOT_FOUND_INSTALL_PROMPT=1
Maintenant, le comportement est changé en
The program 'x' is currently not installed. You can install it by typing:
sudo apt-get install x
Do you want to install it? (N/y)
Remarque:
Si vous recevez un message concernant le plantage de python (spécifiquement AttributeError: 'str' object has no attribute 'decode'
), il s'agit du bogue 1073919 . Un correctif est déjà disponible pour Raring et Saucy. Alternativement ( utilisateurs avancés uniquement ), vous pouvez modifier le fichier /usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py
, voir le diff attaché au rapport de bogue pour les lignes qui doivent être modifiées.
Edit: Le correctif est maintenant publié dans la version 0.3ubuntu7.1 dans Raring (SRU) et pour 0.3ubuntu8 dans Saucy.
Il existe quelques méthodes pour installer rapidement le package suggéré:
Ajouter
export COMMAND_NOT_FOUND_INSTALL_PROMPT=1
quelque part comme~/.bashrc
c'est le moyen le plus "cool", bien que ce ne soit évidemment pas aussi sûr, mais probablement 90% du temps provoquera un "Merci, c'est exactement ce que je voulais que vous fassiez!" réponse.
(Un inconvénient personnel de cette méthode est que je semble trouver la réponse difficile à retenir / rechercher, donc j'ai tendance à ne pas l'avoir beaucoup utilisée jusqu'à présent.)
Si vous utilisez le terminal par défaut, vous pouvez sélectionner rapidement la ligne et cliquer avec le bouton du milieu pour la coller directement dans la ligne de commande. (D'autres terminaux ou applications SSH peuvent avoir des méthodes différentes.)
En pratique, j'ai tendance à trouver cela assez rapidement, et un peu plus difficile à faire "accidentellement", et sans nécessiter de configuration préalable, que j'ai tendance à le faire à la place.
Il y a cependant quelque chose à dire - si vous pouvez (ou voulez apprendre) taper rapidement - pour taper
sudo apt install packagename
directement.Il vous aide à exercer votre mémoire musculaire et signifie également que vous devez lire et taper le nom du package, ce qui signifie que vous vous en souviendrez probablement plus facilement à l'avenir. C'est aussi un peu plus facile dans les versions Ubuntu plus récentes, car
apt
fonctionne à la place deapt-get
.la source
~/.bashrc
au lieu de~/.bash_rc
..bash_profile
.