Als Schnittstelle zwischen GUI und Prompt stellen Terminal-Emulatoren das wohl wichtigste Werkzeug auf der grafischen Oberfläche dar. Wir klopfen die zehn wichtigsten Vertreter dieser Gattung auf Ihre Fähigkeiten ab.
Einige Dinge lassen sich schneller und eleganter durch ein Shell-Kommando lösen, als durch grafische Applikationen. Auch unter X müssen Sie nicht auf diesen Komfort verzichten: Mehr als ein Dutzend Terminal-Emulatoren offerieren Ihnen eine Kommandozeile im Fensterformat. Jeder Desktop-Umgebung und fast allen Fenstermanagern liegt eine entsprechende Anwendung bei. So verschieden deren Herkunft ist, so unterschiedlich fallen auch die eingebauten Funktionen aus. In diesem Artikel nehmen wir eine Auswahl an Terminalprogrammen unter die Lupe und zeigen deren Vor- und Nachteile auf.
Testumgebung
Als Testsystem diente Suse Linux 9.2, das ebenso wie Fedora Core auf UTF-8 [1] als Zeichensatzkodierung setzt. Mandrake Linux verwendet normalerweise ISO-8859-15 als Zeichensatzkodierung, schaltet aber auf UTF-8 um, wenn Sie bei der Installation eine weitere Sprache auswählen, deren Zeichen nicht in ISO-8859-15 vorkommen.
Da UTF-8 sich künftig als Standard durchsetzen wird, sollte auch der Terminal-Emulator damit zurecht kommen. Andernfalls scheitert er beispielsweise daran, Umlaute korrekt darzustellen. Verwenden Sie UTF-8 als Systemzeichensatz, so spielt dieses Kriterium eine maßgebliche Rolle bei der Auswahl des Terminals.
Einen schnellen Überblick über die Features der Programme bietet Ihnen Tabelle 1. Dort erfahren Sie zusätzlich, wieviel Arbeitsspeicher die Programme benötigen. Der Wert stammt direkt aus der Prozesstabelle und bezieht sich auf die Standardkonfiguration der Terminals. Die konsole startet ebenso wie das gnome-terminal einige zusätzliche Prozesse, die unter der jeweiligen Desktop-Umgebung ohnehin laufen.
Der Klassiker
Es existiert wohl kaum eine Desktop-Distribution, die nicht das xterm (Abbildung 1) mitbringt. Dieses Terminal-Programm gehört als Grundausstattung zum X-Window-System – sowohl bei XFree 4.x als auch X.org. Man sieht dem Terminal deutlich an, dass es zum Arbeiten bestimmt ist: Die Entwickler haben auf nahezu jeden grafischen Schnickschnack verzichtet. Einzig die Schriftart sowie die Farben für den Vorder- und Hintergrund können Sie mit Aufrufparametern beeinflussen. Der Aufruf xterm --help verrät, dass -bg gefolgt von einem Farbnamen die Farbe für den Hinter- und -fg die für den Vordergrund bestimmt. So startet xterm -bg SteelBlue -fg white das Programm mit weißer Schrift auf mittelblauem Grund. Welche Farbnamen die Parameter akzeptieren, bringen Sie mit Hilfe des Kommandos showrgb | less in Erfahrung.
Was an grafischen Spielereien fehlt, macht das xterm durch Funktionalität wett. Es unterstützt sowohl UTF-8 als auch, in Zusammenarbeit mit der verwendeten Shell, die Anzeige von Farben. Ein Beispiel dafür ist die farbige Darstellung von Verzeichnisbäumen mit Hilfe des Programms dircolors[2]. Um das Aussehen eines xterm-Fensters zur Laufzeit ändern, greifen Sie zu einem externen Helfer, etwa zu dem unter [3] erhältlichen xtermcontrol.
Unter uns
Das rxvt (our extended virtual terminal) [4] liegt ebenso wie das xterm fast jeder Distribution bei. Das Hauptaugenmerk der Entwickler lag darauf, ein möglichst ressourcenschonendes und gleichzeitig optisch gefälliges Terminal zu schreiben. rxvt -tr startet das Programm mit pseudotransparentem Hintergrund, so dass der Bildschirmhintergrund durchscheint.
Die Manpage beschreibt unzählige Parameter und verspricht unter anderem, dass das Programm auch Bilder im XPM-Format als Hintergrund lädt. Das gelingt jedoch nur, wenn Sie oder Ihr Distributor beim Kompilieren den Grundstein für dieses Feature gelegt haben. Beim Konfigurieren des Quellcodes müssen Sie dafür dem configure-Skript den Parameter --enable-xpm-background übergeben.
Die Standardausführung des rxvt unterstützt UTF-8 nicht. Für diese Spezialaufgabe existiert jedoch eine Unicode-Version des rxvt unter [5].
Aufpoliert
Eigentlich für den Fenstermanager Afterstep entwickelt, steht das hochgradig konfigurierbare aterm [6,7] auch anderen grafischen Umgebungen gut zu Gesicht. Um das Rad nicht neu zu erfinden, verwendeten die Entwickler den Quellcode des rxvt als Basis für den Terminal-Emulator. Die gemeinsame Herkunft ist unverkennbar: Ebenso wie sein Vorfahr spielt das aterm weder mit dircolors noch mit UTF-8 zusammen.
Zum Ausgleich wartet es mit einigen grafischen Besonderheiten auf. So beherrscht es neben transparentem Hintergrund auch die Darstellung durchsichtiger Scroll-Balken. Dieses Feature aktivieren Sie mit dem Aufrufparameter -trsb. Soll zusätzlich der Hintergrund in einem durchsichtigen Blauton erscheinen und wollen Sie weiße Schrift (Abbildung 3), erreichen Sie das mit dem Befehl aterm -tr -tint blue -trsb -fg white.
Im Zusammenspiel mit dem Einfärbemodus (-tint farbname) bietet das aterm den Parameter -tinttype. -tinttype erwartet eine Funktion, wie etwa andInverted, and (logisches und) oder or (logisches oder). Wie bei Filtern in einem Bildbearbeitungsprogramm kombiniert aterm die Farbwerte des Hintergrundes und der hinter -tint angegebenen Farbe. Ein lila-weißer Hintergrund scheint mit der Option -tint blue dunkelblau durch. Geben Sie zusätzlich -tinttype andInverted an, wechselt die Farbe zu Gelb- und Güntönen.
Die Aufrufparameter -tint und -tinttype funktionieren ebenfalls, wenn Sie mit -pixmap gefolgt vom Pfad zu einer XPM-Datei ein Hintergrundbild setzen. Damit das aterm Hintergrundbilder anzeigt, müssen Sie es mit configure-Parameter --enable-background-image übersetzt haben.
Laut Dokumentation lässt sich das Terminal mit Hilfe der Afterstep-Bibliotheken auch zur Anzeige von JPG- und PNG-Grafiken überreden. Im Test mit dem aktuellen Afterstep 2.00.01 gelang uns das allerdings nicht.
Reichen Ihnen derartige grafische Spielereien nicht aus, erweitert multi-aterm[8] das klassische aterm um Karteireiter oder auch Tabs. Mit diesem Feature fassen Sie mehrere Terminal-Sitzungen in einem Fenster zusammen. Ein neues Kommandozeilenfenster öffnen Sie über das Shell-Icon und wechseln danach mit der Maus zwischen den Tabs.
Kommandozeile für WindowMaker
Was für Afterstep gut ist, kann für WindowMaker nicht schlecht sein – dachten sich offenbar die Entwickler des beliebten Fenstermanagers. Sie griffen ebenfalls zum rxvt-Quellcode, um auch für WindowMaker ein eigenes Terminal-Programm zu schreiben. Das wterm[9] gibt sich in grafischer Hinsicht spartanischer als das aterm, bietet jedoch dafür ein Konfigurationsmenü. Der Befehl wterm -wm startet – zumindest unter Windowmaker – neben dem Terminal-Emulator ein Windowmaker-Menü (Abbildung 4). Mit dessen Hilfe wählen Sie die Hintergrund- und Schriftfarbe sowie die Schriftgröße aus.
Villa Kunterbunt
Bunt, bunter, am buntesten … das charakterisiert den Fenstermanager Enlightenment. Da darf ein entsprechend konfigurierbares Terminal nicht fehlen. Das Eterm[10] gibt sich grafisch ebenso verspielt wie der zugehörige Window-Manager. Ob Sie lieber ein Hintergrundbild, Pseudotransparenz oder gleich ein Terminal-Theme wollen, spielt keine Rolle: Eterm (Abbildung 5) lässt Ihnen alle Freiheiten. Es bringt von Haus aus viele Hintergrund-Grafiken mit, die die Distributoren jedoch oft in einem separaten Paket ausliefern, etwa Eterm-Themes.
Um die vielen Gestaltungsoptionen auszuprobieren, müssen Sie nicht erst stundenlang die Manpage studieren: Das Terminal verfügt über ein Menü, mit dessen Einträgen Background und Font Sie sein Erscheinungsbild und die Schriftart festlegen. Dem Eterm liegt zusätzlich das Programm Esetroot bei. Mit dessen Hilfe setzen Sie – nicht nur unter Enlightenment – den Desktop-Hintergrund.
Unicode-Spezialist
Das mlterm (ml für multilingual) [11] positioniert sich als der UTF-8-Experte unter den Terminals. Es beherrscht auch die Darstellung von Sprachen, die nicht von links nach rechts, sondern umgekehrt oder auch von oben nach unten laufen. So sorgt der Aufruf mlterm-G cjk dafür, dass die Eingabe von oben nach unten und von rechts nach links erfolgt, wie es bei asiatischen Sprachen vorkommt. mlterm -help listet alle Kommandozeilenoptionen auf. Darunter befindet sich auch eine, mit der Sie einen durchsichtigen Hintergrund einstellen.
Multitalent
Nicht nur Fenstermanager, sondern auch Desktop-Umgebungen bringen einen eigenen Terminal-Emulator mit. Unter XFCE [12] heißt er schlicht und einfach Terminal[13] (Abbildung 6). Hinter dem unscheinbaren Namen verbirgt sich ein Alleskönner. Zum Funktionsumfang gehören Hintergrundbild, Pseudotransparenz, Karteireiter und Unterstützung von dircolor-Farben. Da XFCE auf GTK2 basiert, kommt das Terminal auch mit der UTF-8-Kodierung zurecht. Statt über Kommandozeilenoptionen steuern Sie das Verhalten des Programms vollständig über das Menü.
Terminals für Gnome
Das gnome-terminal (Abbildung 7) basiert ebenso wie die XFCE-Kommandozeile auf GTK2 und wartet daher mit nahezu identischen Funktionen auf. UTF-8 macht der Anwendung keine Probleme. Das Erscheinungsbild beeinflussen Sie über Menüs; Tabs helfen, die Fensterflut auf dem Desktop einzudämmen. Ein besonderes Feature stellt die Option dar, eigene Profile anzulegen. Sie können alle Einstellungen in einem Profil speichern, das Sie später per Mausklick auswählen. So schalten Sie bequem zwischen mehreren Einstellungen um, ohne sich jedesmal erneut durch die Menüs kämpfen zu müssen.
Im Gegensatz zu einfachen Terminals erweist sich die Gnome-Variante als weniger performant. So erzeugt das schnelle Scrollen durch längeren Text eine hohe CPU-Last. Für Rechner mit weniger als 600 MHz Prozessortakt stellen daher schlankere Programme, wie etwa das aterm, eine bessere Wahl dar.
Wenn Sie eine Alternative zum gnome-terminal suchen, finden Sie sie vielleicht in dzt[14]. Das Programm basiert auf GTK und integriert sich gut in die Desktop-Umgebung. Das Terminal verzichtet auf grafischen Ballast und bietet neben Tabs eine Icon-Leiste. Damit schalten Sie zwischen den einzelnen Karteireitern um. Mit UTF-8 kommt dzt leider nicht zurecht, benutzt dafür aber die mit dircolors festgelegten Farben bei der Anzeige des Verzeichnisbaums.
K wie Konsole
Auch der KDE-Desktop wartet mit einem einem eigenen Terminal auf, der konsole (Abbildung 8). Sie konfigurieren die Anwendung über das Menü, das keine Wünsche offen lässt. Die konsole bietet, verglichen mit den anderen Testkandidaten, die meisten Einstellmöglichkeiten. Sie unterstützt Tabs ebenso wie UTF-8 sowie die farbige Darstellung von Verzeichnisbäumen mit dircolors. Wie sich die Schaltflächen und der Fensterrahmen präsentieren, hängt vom verwendeten KDE-Theme ab.
@L_Die Anzeige des pseudotransparenten Hintergrundes gelingt nur unter KDE. Die Desktop-Umgebung stülpt dazu ein weiteres Fenster über den Hintergrund. Dieses lässt die pseudotransparente konsole durchscheinen. Läuft kein kdesktop-Prozess, erscheint der Hintergrund der konsole schwarz, wenn Sie ein transparentes Schema auswählen.
Ebenso wie im gnome-terminal können Sie auch in der konsole die aktuellen Einstellungen als Profil speichern. So angelegte Profile wählen Sie entweder über das Menü oder mit Kommandozeilenoptionen aus. Die letzte Möglichkeit erweist sich als praktisch, wenn Sie eine konsole mit einem bestimmten Profil über eine Desktop-Verknüpfung starten wollen. Der richtige Aufruf lautet konsole --profile profilname. Mittels Aufrufoption legen Sie auch ein anderes Arbeitsverzeichnis als ~ fest: Das Kommando konsole --workdir /tmp startet das Programm im temporären Verzeichnis /tmp.
Fazit
Eine allgemein gültige Empfehlung für einen der Terminal-Emulatoren auszusprechen, ist praktisch unmöglich. Bei der Wahl des richtigen Terminals sollten Sie sich vor allem darüber im Klaren seinn, welche Features Ihnen am wichtigsten sind.
Können Sie auf UTF-8-Unterstützung verzichten, mögen es aber komfortabel und grafisch verspielt, ist das Eterm die richtige Wahl. Muss das Terminal vor allem schnell und schlank sein, bieten sich rxvt und dessen Abkömmlinge wterm und aterm an. Sind Tabs ein Muss, entscheiden Sie sich am Besten für konsole, gnome-terminal oder das XFCE-Terminal.
Über mangelnde Auswahl jedenfalls kann man sich gerade bei dieser Gattung von Werkzeugen nicht beklagen. Da ist für jeden Anwendungszweck auch das passende Terminal dabei.
Tabelle 1: Terminal-Emulatoren im Überblick
| Terminal-Emulator | Hintergrundbilder | Pseudotransparenz (Hintergrund) | Pseudotransparenz (Scroll-Balken) | Scroll-Balken positionieren | Dircolor-Unterstützung | Konfiguration | Darstellung von Umlauten (UTF-8) | Tab-Unterstützung | Speicherverbrauch (VSIZE in KByte) |
|---|---|---|---|---|---|---|---|---|---|
xterm |
– | – | – | ja | ja | Parameter und [3] | ja | – | 8780 |
rxvt |
ja | ja | – | ja | ja | Parameter | [5] | – | 4416 |
aterm |
ja | ja | ja | ja | ja | Parameter | – | [8] | 3920 |
wterm |
ja | ja | – | ja | ja | Parameter/Menü | – | – | 3120 |
| Eterm | ja | ja | – | ja | – | Menü | – | – | 8200 |
mlterm |
ja | ja | – | ja | – | Parameter | ja | – | 8564 |
| Terminal | ja | ja | – | ja | ja | Menü | ja | ja | 18636 |
gnome-terminal |
ja | ja | – | ja | ja | Menü | ja | ja | 23340 |
dzt |
– | – | – | – | ja | Parameter | – | ja | 10224 |
konsole |
ja | nur KDE | – | ja | ja | Menü | ja | ja | 29640 |
Der Autor
Hagen Höpfner ist wissenschaftlicher Mitarbeiter am Institut für Technische und Betriebliche Informationssysteme der Fakultät für Informatik an der Otto-von-Guericke-Universität Magdeburg. Was er dort so alles treibt, steht unter http://wwwiti.cs.uni-magdeburg.de/~hoepfner/ In seiner Freizeit spielt der begeisterte Vater Gitarre in der Rockband “Gute Frage” (http://www.gutefrage.de/).
Glossar
-
pseudotransparent
-
Bei dieser Form der Transparenz zeigt ein Programm nur den passenden Ausschnitt des Desktop-Hintergrunds ab. Fenster, die hinter einer pseudotransparenten Anwendung liegen, scheinen nicht durch. Das neue Xorg beherrscht im Gegensatz zu XFree echte Transparenz, die jedoch erst mit Zusatzprogrammen aktiviert werden muss.
Infos
[1] UTF-8 and Unicode FAQ for Unix/Linux: http://www.cl.cam.ac.uk/~mgk25/unicode.html
[2] Farbige Ausgabe von ls mit dircolors: Hagen Höpfner, “Bunte Verzeichnisse”, Linux User 09/2004, 68 f.
[3] Homepage von XtermControl: http://www.thrysoee.dk/xtermcontrol/
[4] Homepage von rxvt: http://sourceforge.net/projects/rxvt
[5] Unicode-Variante von rxvt: http://software.schmorp.de/
[6] aterm: http://aterm.sourceforge.net/
[7] aterm-Artikel: Joachim Moskalewski, “Hokuspokus Nr. 2”, LinuxUser 02/2001, S. 68 f. http://www.linux-user.de/ausgabe/2001/02/068-desktopia/desktopia-aterm.html
[8] materm: http://www.nongnu.org/materm/
[9] wterm: http://largo.windowmaker.org/files.php#wterm
[10] Eterm: http://www.eterm.org/
[11] mlterm: http://mlterm.sourceforge.net/
[12] XFCE-Artikel: Andrea Müller, “Aufpoliert”, LinuxUser 01/2004, S. 52 ff.
[13] XFCE-Terminal: http://www.os-cillation.com/article.php?sid=40
[14] dzt: http://dzt.sourceforge.net/










