Aufmacher

Grafische Shells

Muschelsuppe

Die Hotwire-Shell hat sich zum Ziel gesetzt, die oft umständliche Arbeit in der Konsole mit Interaktionen zu vereinfachen und langfristig die traditionellen Eingabefenster zu ersetzen.

Hotwire [1] versteht sich selbst als intelligente, hybride text- und grafikorientierte Shell für Entwickler und Administratoren. Als Besonderheit gegenüber normalen Shells verfügt sie unter anderem über eine interaktive Ein- und Ausgabe (Abbildung 1).

Abbildung 1: Die interaktive Shell Hotwire trennt den Ein- und Ausgabebereich in verschiedene Fenster.

Um ihren Anspruch umzusetzen und den altehrwürdigen Shells wie die Bash ernsthaft Paroli zu bieten, muss das auf Python basierte Programm schon einiges aufweisen. Ob dem so ist, soll der Praxistest zeigen.

Basics

Da keine der gängigen Distributionen Hotwire mitbringt, gilt es, das Programm nachträglich zu installieren (siehe Kasten "Installation"). Die folgende Beschreibung bezieht sich auf den Einsatz unter Fedora 7, das standardmäßig Gnome verwendet, den "natürlichen LebensraumW von Hotwire. Allerdings bereitet auch der Betrieb in einer KDE-Umgebung keinerlei Probleme.

Nach der Installation starten Sie Hotwire auf dem Gnome-Desktop über Anwendungen | Systemwerkzeuge | Hotwire Shell, im K-Menü der KDE finden Sie es unter System |Terminals | Hotwire Shell. Alternativ rufen Sie das Tool mit der Eingabe von hotwire & in der Kommandozeile auf. An Argumenten beim Programmaufruf akzeptiert das Tool lediglich --debug[-modules...] und --help. Abgesehen von der Anzeige der Hilfe sind diese Argumente allerdings nur für Entwickler von Belang.

Der obere Teil des Hotwire-Fensters enthält die Menüleiste, in der Mitte sehen Sie den Ausgabebereich, darunter die Hotwire-eigene Befehls-History, welche die letzten drei ausgeführten Kommandos anzeigt. Am unteren Ende finden Sie die Leiste zur Befehlseingabe. Das Trennen von Ein- und Ausgabe ermöglicht Ihnen die Eingabe von neuen Befehlen, während Sie beispielsweise noch eine Dateiausgabe in einem Pager betrachten. Die Anzeige des aktuellen Verzeichnisses und eventuell noch offener Pipes zeigt die Statusleiste an der Unterkante des Fensters.

Installation

Hotwire liegt aktuell in der Version 0.590 vor. Bei dieser noch recht niedrigen Versionsnummer ist die Integration in die verschiedenen Distributionen unterschiedlich weit fortgeschritten: Unter Fedora-Core 7 installieren Sie Hotwire mit yum install hotwire. Falls Sie Mandriva-Linux Spring 2007 nutzen, müssen Sie den Zweig /contrib/backports aktivieren. Als Anwender von Ubuntu laden Sie Hotwire unter [2] herunter. Für Debian steht die Shell noch auf der Wunschliste, weswegen Sie sie selbst aus den Sourcen kompilieren müssen.

Anwender von Suse finden bei Packman [3] fertige RPM-Pakete. Im Test verweigerte Hotwire unter Suse Linux 10.0 jedoch mit dem Hinweis auf das fehlende Paket cairo den Start, obwohl es existiert. In jedem Fall muss Python in der aktuellen Version installiert sein. Diese Abhängigkeit sollten die distributionsspezifischen Paketmanager jedoch selbständig auflösen.

Sobald Sie den ersten Buchstaben eines Kommandos eingeben, öffnet sich oberhalb der Eingabezeile ein neuer Anzeigebereich. Dieser dient zum Autovervollständigen und listet in alphabetischer Reihenfolge alle Befehle auf, die auf Ihre bisherige Eingabe passen (Abbildung 2).

Abbildung 2: Unter der Befehlseingabe zeigt Hotwire im oberen Bereich die klassische Autovervollständigung und im unteren Übereinstimmungen mit der History.

Hotwires interne Kommandos, Builtins genannt, stehen in der Hierarchie über externen Kommandos. Geben Sie als Beispiel den Builtin-Befehl ls ein, verwendet die interaktive Shell diesen anstelle des systemeigenen Ls-Befehls.

Durch Drücken von [Tab] wechseln Sie von oben nach unten durch die Liste der Systemkommandos, mit [Umschalt]-[Tab] wechseln Sie dir Richtung. Mit den Tasten [Pfeil-oben] und [Pfeil-unten] durchforsten Sie die Hotwire-interne History. Hierzu erscheint das markierte Kommando automatisch in der Eingabezeile, das Sie mit [Eingabe] ausführen (Abbildung 3). Eine Auswahl mit der Maus unterstützt Hotwire nicht.

Abbildung 3: Hotwire übernimmt Ihre Auswahl aus der Befehlsvervollständigung automatisch in die Befehlszeile.

Einfache Kommandos wie beispielsweise ls erledigen Sie so sehr zügig. Nach dem Verzeichniswechsel via cd listet Hotwire den Inhalt des neuen Ordners automatisch im darüber liegenden Fenstern auf. Der Builtin-Befehl ls ordnet jedem Dateitypen in der Ausgabe ein passendes Symbol zu und stellt diese damit wie ein Dateibrowser dar. Ein Klick auf einen Dateinamen oder ein Ordnersymbol übersetzt Hotwire in die dazugehörige Standardaktion und nimmt diese in die History auf. So wechseln Sie in der Shell via Mausklick in Verzeichnisse oder editieren Textdateien. Der Ordnerwechsel klappt jedoch nur bis zur zweiten Verzeichnisebene. Danach stellt Hotwire die folgenden Unterverzeichnisse zwar noch dar, das Öffnen via Mausklick schlägt jedoch fehl. Ebensowenig unterstützt es das Ausführen von Programmen per Mausklick – dieses Feature steht allerdings auf der Roadmap der Entwickler.

Geschichte

Die History der Hotwire-Shell unterscheidet sich gründlich von der History-Funktion anderer Shells wie der Bash. Hotwire speichert Kommandoabfolge von anderen Shells unabhängig in der Datei ~/.hotwire/persist/history.p. Das bedeutet, dass es das Programm nicht erlaubt, auf Befehle zurückzugreifen, die Sie in einer normalen Unix-Shell eingegeben haben, und umgekehrt. Genauso verhält es sich mit Aliasen: Haben Sie beispielsweise den Alias alias c=clear definiert, steht dieser nur in der Shell zur Verfügung, in der Sie ihn angelegt haben.

Hotwire zeigt Ihnen zwischen Menüleiste und Ausgabebereich die letzten drei Befehle der aktuellen Sitzung. Klicken auf einen davon, erscheint ein kleines Menü mit den Einträgen Show und Remove. Während Show ein weiteres Ausagbefenster öffnet und den Inhalt der Aktion darin anzeigt, entfernt Remove das Kommando samt seiner Ausgabe aus dem Verlaufsspeicher. Den sichtbaren Ausgabebereich blenden Sie mit einem Klick auf das darüber stehende Kommando und Hide wieder aus. Mit [Strg]+[Bild-oben]/[Bild-unten] wechseln Sie den Fokus zwischen den Ausgabebereichen.

Mit der Tastenkombination [Strg]+[S] durchforsten Sie den aktuellen Ausgabebereich nach Textmustern. Die Suche erfolgt in Echtzeit nach jedem eingegebenen Buchstaben (Abbildung 4). Übereinstimmungen stellt Hotwire in Fettschrift dar. Allerdings durchsucht das Programm nur reine Textausgaben. Gerenderte Ausgaben, wie etwa das Ergebnis von ls, durchforstet Hotwire nicht. Mit [Esc] beenden Sie die Suche.

Abbildung 4: Die integrierte Suchfunktion von Hotwire ermöglicht in Echtzeit das Durchforsten von Textdokumenten nach Begriffen.

Rechts in der History zeigt das Programm einen Undo-Button, der es ermöglicht, die letzten drei Aktionen rückgängig zu machen. Das funktioniert auch für den Builtin-Befehl rm. Er benötigt zum Löschen von Verzeichnisbäumen keine weiteren Optionen (wie etwa -r bei traditionellen Unix-Shells).

Der Builtin-Befehl filter, der auch gerenderte Ausgaben nach regulären Ausdrücken durchsucht, stellt Hotwires Pendant zu grep dar. Die Suche via Filter unterscheidet zwischen Groß- und Kleinschreibung. Sie binden das Kommando über eine Pipe ein: So zeigt ein ls | filter Desk im Home-Verzeichnis als Ausgabe nur noch den Desktop-Ordner an.

Desweiteren kennt Filter zusätzliche Parameter. Der Befehl ls | filter conf cmd listet aus den Einträge im aktuellen Verzeichnis alle ausführbaren Dateien (cmd) auf, welche die Buchstabenfolge conf enthalten. Die dokumentierte Liste der verfügbaren Parameter ist allerdings recht kurz und umfasst neben cmd nur noch owner_name zum Filtern nach Besitzern. Als angenehme Randerscheinung listet Filter sich niemals selbst auf, das lästige | grep -v grep entfällt also.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 2 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...