Home / LinuxUser / 2007 / 10 / Muschelsuppe

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Muschelsuppe

Grafische Shells

01.10.2007 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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1227 Hits
Wertung: 137 Punkte (8 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...