Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
command-not-found ist ein kleines Hilfsprogramm für die Kommandozeile. Ruft man ein nicht-installiertes Programm auf, so macht command-not-found Vorschläge, welches/welche Paket/Pakete hierfür installiert werden müssten.
In der Bash gibt es eine Funktion command_not_found_handle
, die immer dann aufgerufen wird, wenn ein Befehl nicht gefunden wurde. Diese Funktion ist unter Ubuntu so definiert, dass das Python-Skript command-not-found aufgerufen wird und dann beispielsweise alle Pakete anzeigt, über die der nicht gefundene Befehl installierbar ist. Dies kann auch dann hilfreich sein, wenn sich ein Paket aus Fremdquellen über nicht erfüllte Abhängigkeiten beschwert. command-not-found greift auf eine eigene Datenbank zurück, die weitestgehend (aber nicht nur) auf den offiziellen Ubuntu-Paketquellen basiert.
command-not-found gehört zur Standardinstallation, kann ansonsten aber auch über das Paket
command-not-found
installiert [1] werden.
Wie oben bereits erwähnt, braucht man command-not-found nicht extra aufzurufen, es tritt bei Bedarf von alleine in Aktion.
Der MPlayer ist nicht installiert. Ruft man im Terminal [3]
mplayer
auf, so erhält man folgende Meldung:
Der Befehl »mplayer« wurde nicht gefunden, meinten Sie vielleicht: Befehl »kplayer« aus dem Paket »kplayer« (multiverse) Befehl »mplayer« aus dem Paket »mplayer« (universe) Befehl »mplayer« aus dem Paket »mplayer2« (universe) mplayer: Befehl nicht gefunden.
Je nach verwendeter Ubuntu-Version kann die Ausgabe eventuell auch leicht anders sein. Ein weiteres Beispiel (gemeint war aplay)
bplay
Die Anwendung »bplay« ist momentan nicht installiert. Sie können sie durch folgende Eingabe installieren: sudo apt-get install bplay
Durch command-not-found entsteht eine kurze Verzögerung, nachdem man einen unbekannten Befehl eingegeben hat. Dies beruht darauf, dass das Durchsuchen der Datenbank von command-not-found einen kurzen Moment benötigt. Gerade bei langsameren Systemen erfolgt dadurch eine spürbare Verzögerung. Will man diese Verzögerung vermeiden, so deinstalliert [1] man am besten das Paket
command-not-found
Danach wird command-not-found automatisch nicht mehr genutzt und falsch geschriebene Befehle werden sofort mit einem "command not found" quittiert, ohne weitere Hinweise zu geben. Eine zweite Möglichkeit zur Deaktivierung ist es, die Funktion command_not_found_handle
anders zu definieren.
Why is command-not-found crashing? - Blogbeitrag des Entwicklers, 04/2013
Shell/Befehlsübersicht - Übersicht über verschiedene Shellbefehle
Diese Revision wurde am 1. November 2016 08:48 von aasche erstellt.