Das 34 Jahre alte Xterm hat auf dem Linux-Desktop inzwischen Gesellschaft von zahlreichen jüngeren Terminalemulatoren bekommen, die das schlichte Werkzeug mit neuen Ideen aufpeppen.
In der breiten Öffentlichkeit gilt Linux nach wie vor als System für Nerds, die nichts dabei finden, ständig kryptische Befehle in ein Textinterface tippen zu müssen. Tatsächlich kann man unter den meisten Distributionen alles von der Installation über typische Alltagsaufgaben bis hin zur Systemadministration in einer grafischen Oberfläche erledigen, ohne je eine Kommandozeile auch nur zu Gesicht zu bekommen.
Möchte man jedoch unter der Haube schrauben oder per Skript Aufgaben automatisieren, kann nach wie vor keine GUI mit der Flexibilität eines Terminals konkurrieren. So gut wie jede Distribution bringt daher Xterm als Basis-Terminalemulator mit. Daneben finden sich oft Desktop-spezifische Alternativen wie das Gnome-Terminal oder die Konsole im Anwendungsmenü. Darüber hinaus finden sich in den Paketquellen und auf Entwicklerportalen wie Github zahlreiche weitere Terminals. Dieser Artikel wirft einen Blick auf aktuelle Alternativen, die das Thema Terminalemulator teils aus einer komplett neuen Perspektive angehen.
Alacritty
Viele Terminalemulatoren glänzen mit zahlreichen Extrafunktionen. Tabs oder unterschiedlich gestaltbare Profile gehören mittlerweile quasi zur Grundausstattung, das Unterteilen eines Terminals in Unterfenster zur höheren Schule. Alacritty [1] bietet nichts davon: Das Terminal verzichtet auf solche Extras ebenso wie auf grafische Einstellungsmöglichkeiten. Dafür schaltet Alacritty den Turbo ein: Es greift beim Zeichnen des Terminalinhalts über OpenGL auf die Grafikkarte zurück, zudem wurde das Programm mit Rust geschrieben, das eine ähnliche Effizienz wie C++ erreicht [2]. Dadurch scrollen Inhalte wesentlich schneller über den Bildschirm als bei den meisten anderen Terminalprogrammen.
Ein Vergleich der Ausgabe von time find /usr mit dem Gnome-Terminal zeigt, dass Alacritty doppelt so schnell zur Sache geht wie das “ausgewachsene” Terminal des Gnome-Desktops (Abbildung 1). Aktuell steht der Versionszähler der Anwendung bei 0.1.0; der Entwickler spricht von einer “Alpha-Version mit Bugs und fehlenden Funktionen” (beispielsweise gilt es unter Wayland noch Fehler auszumerzen). Das hindert jedoch viele Anwender nicht, das Terminal bereits jetzt einzusetzen.

Abbildung 1: Alacritty im Vergleich zum Gnome Terminal: Das schlanke Terminal geht doppelt so schnell zur Sache wie der Gnome-Standard.
In den Paketquellen der großen Distributionen glänzt das junge Projekt noch durch Abwesenheit, der Entwickler gibt jedoch Installationshinweise für die gängigsten Derivate. Nur unter Arch (via AUR), NixOS und Void Linux lässt sich das Programm ohne Handarbeit installieren.
Terminator
Terminator [3] gehört zu den Terminalanwendungen, die einen Terminalmultiplexer integrieren, ohne dass man auf Tools wie Tmux [4] zurückgreifen muss. So lässt sich das Fenster per Mausklick in mehrere Bereiche aufteilen (Abbildung 2), wobei Sie die einzelnen Teilfenster in Gruppen gliedern können. Eingaben dürfen Sie dann gleich an alle Terminals einer Gruppe senden. Auf diesem Weg aktualisieren Sie beispielsweise eine Netzwerkumgebung aus mehreren via SSH gemanagten Servern auf einen Schlag, ohne die Ausgaben aus dem Blick zu verlieren.

Abbildung 2: Terminator gehörte zu den ersten Terminal-Apps, die das Fenster in mehrere Bereiche mit eigenständigen Terminals aufteilen konnten.
In den Einstellungen bietet Terminator viele Möglichkeiten, das Aussehen zu beeinflussen. Mit Profilen lässt sich das Erscheinungsbild der Unterfenster leicht anpassen, sodass man schon aufgrund der Optik erkennt, dass man beispielsweise per SSH auf einem entfernten Rechner arbeitet. Der Entwickler hinter Terminator arbeitet noch aktiv an der Anwendung, die demnächst anstehende Version 2.0 setzt dann zum Beispiel vollständig auf GTK3.
Terminator gibt es schon seit einigen Jahren, sodass sich die Anwendung in der Regel direkt über die Paketverwaltung der jeweils genutzten Distribution installieren lässt. Unter Ubuntu erhalten Sie die neueste Version bei Bedarf über eine PPA-Paketquelle.
Terminus
Terminus [5] fällt wie andere moderne plattformübergreifend verfügbare Anwendungen in die Sparte der Electron-Apps. Statt einer klassischen Programmiersprache samt den zugehörigen Bibliotheken nutzt Terminus wie etwa der Atom-Editor [6] oder das Zeichenwerkzeug Draw.io [7] das Electron-Framework [8]. Auf Basis von Javascript lassen sich damit sehr einfach Anwendungen für mehrere Betriebssysteme entwickeln. Terminus gibt es daher für Linux, MacOS und Windows.
Aufgrund des Electron-Frameworks passt sich Terminus nicht sauber in Linux-Desktops ein. Dennoch macht das Terminal optisch durchaus etwas her (Abbildung 3). In den Einstellungen (über den Schalter Settings in der Kopfleiste zu öffnen) ändern Sie die Farben und Schriftarten. Über den Reiter Plugins richten Sie bei Bedarf zusätzliche Funktionen und Themes ein. Ein ausgeklügeltes Fenstermanagement wie Tilix kennt Terminus nicht, sondern beherrscht lediglich das Öffnen weiterer Terminals in zusätzlichen Tabs.

Abbildung 3: Terminus entstand, wie inzwischen viele Anwendungen, mithilfe von Javascript. Die Electron-Umgebung erlaubt dann den Einsatz auf verschiedenen Plattformen.
Aktuell müssen Sie Terminus in der Regel von Hand installieren. Auf der Github-Seite des Projekts bietet der Entwickler jedoch zu jeder neuen Version Pakete im RPM- sowie DEB-Format für 64-Bit-Systeme an. Diese lassen sich über die jeweilige Paketverwaltung integrieren.
Tilix
Oft genügt ein Terminal allein nicht: In einem Fenster aktualisiert man gerade das System, im nächsten kompiliert ein Programm und im dritten arbeitet man per SSH auf einem entfernten System. Auf dem Desktop stapeln sich so die Terminalfenster, und die Gefahr wächst, eine Aktion auf dem falschen System auszuführen. Die moderne GTK3-Anwendung Tilix [9] schafft hier Ordnung: Das Programm unterstützt mehrere Sitzungen in einer Instanz und erlaubt das Aufteilen des Fensters in mehrere Bereiche (Abbildung 4).

Abbildung 4: Tilix räumt den Desktop auf: Die einzelnen Bereiche lassen sich frei anordnen und per Maus immer wieder neu arrangieren.
Dazu dienen die Schalter in der Fensterleiste: Das Plus-Icon öffnet eine weitere Tilix-Instanz im aktuellen Fenster, die zwei Schalter daneben teilen das aktuelle Fenster horizontal oder vertikal in der Mitte. Das Teilungsverhältnis lässt sich danach per Mausklick individuell anpassen. Ein neues Fenster öffnen Sie über das Aktivitätenmenü oder die Tastenkombination [Strg]+[Alt]+[N]. Bei Bedarf arrangieren Sie die einzelnen Terminalansichten per Drag & Drop neu oder verschieben sie in ein anderes Fenster. Zwischen den einzelnen Sitzungen innerhalb eines Fensters wechseln Sie über die von links ausklappbare Seitenleiste: Dazu klicken Sie auf den Schalter X / Y links oben im Fenster.
Über die Einstellungen passen Sie Tilix an Ihre Anforderungen an. Dazu gehören Optionen zum Erscheinungsbild (etwa ein transparenter Hintergrund oder Bilder unter dem Text im Terminal) oder auch Profile mit unterschiedlichen Einstellungen zur Schrift und den Farben im Terminalbereich. Dabei bietet Tilix die Möglichkeit, die Profile automatisch anhand des aktuellen Ordners oder SSH-Logins zu aktivieren.
Anwendern, die nicht ohne ein jederzeit verfügbares Terminalfenster auskommen, kommt der Quake-Modus von Tilix sehr gelegen: Dazu ordnen Sie in der Desktop-Umgebung das Kommando tilix --quake einer Tastenkombination zu – in Gnome etwa wählen Sie dazu Einstellungen | Geräte | Tastatur und klicken dann am Ende der Liste im Bereich Eigene Tastenkombinationen auf das Plus-Icon. Anschließend legt sich Tilix automatisch im oberen Drittel des Desktops über die aktiven Fenster. Führen Sie die Tastenkombination erneut aus, verschwindet es wieder vom Bildschirm, wobei die aktive Sitzung inklusive der gerade laufenden Kommandos erhalten bleibt.
Sie finden Tilix direkt in den Repositories fast aller gängigen Distributionen, lediglich bei Debian “Stretch” müssen Sie noch die Backports bemühen. Bei Ubuntu gehört Tilix seit Version 17.10 zum Fundus. Für diverse andere Distributionen finden sich auf der Homepage Hinweise zur Installation.
Upterm
Unter der Haube von Upterm [10] arbeitet wie bei Terminus die Javascript-Umgebung Electron. Besonders gelungen fällt daher die Integration der Anwendung in den Linux-Desktop nicht aus. Dafür gibt es das Programm auch für MacOS, an einer Windows-Umsetzung arbeitet das Projekt noch. Upterm geht darüber hinaus auch bei vielen Details neue Wege, die dem Anwender zum einen Aufgaben abnehmen, zum anderen im Alltag das Leben erleichtern.
Eine Besonderheit von Upterm liegt darin, dass es Kommandos und deren Ausgaben in Blöcke trennt. So lässt sich der Verlauf wesentlich einfacher überblicken. Bei Terminal-Anwendungen wie Htop zeigt Upterm einen Screenshot des Stands beim Beenden des Programms an (Abbildung 5).

Abbildung 5: Upterm trennt die Eingabe eines Kommandos von der Ausgabe ab. Quicktipps mit Erklärungen helfen bei der Eingabe von Befehlen.
Installation: Die Entwickler von Upterm stellen ein AppImage bereit, das sich distributionsunabhängig nutzen lässt. Unter Arch Linux greifen Sie zur Installation auf das AUR zurück. Die Zukunft der Anwendung liegt allerdings im Ungewissen: Ende des Jahres verstarb der bisherige Hauptentwickler [11].
Extraterm
Extraterm [12] arbeitet ähnlich wie Upterm und trennt die Ausgabe vom eigentlichen Kommando ab. Dazu müssen Sie die Shell-Integration gesondert laden [13]. Extraterm unterstützt mit der Bash, der Z-Shell und Fish die gängigsten Shell-Umgebungen. Nach dem Laden der Shell-Integration zeigt das Terminal die Ausgaben erfolgreich abgeschlossener Kommandos mit einem blauen Rahmen an, bei Fehlern stattdessen mit einem roten Rahmen (Abbildung 6).

Abbildung 6: Extraterm hebt die Ausgabe von Kommandos farblich hervor und erlaubt, mithilfe von Tags die Ausgabe in neue Befehle zu übernehmen.
Zudem implementiert die Shell-Integration mit show und from zwei neue Kommandos. Mit dem ersten lassen sich zum Beispiel Bilder direkt in Extraterm betrachten. Mit dem zweiten übernehmen Sie nach dem Schema from 8 | grep jpg die Ausgabe eines Befehls in ein neues Kommando. Die Zahl entspricht dabei der Tag-Nummer einer Ausgabe, die Sie rechts oben neben dem X-Icon zum Schließen der Box finden.
Wie auch bei Tilix lässt sich bei Extraterm das Fenster in mehrere Bereiche unterteilen. Dazu rufen Sie mit [Strg]+[Alt]+[P] die Command Palette auf und wählen dann Horizontal Split oder Vertical Split. Weitere Tabs in einem Bereich erzeugen Sie ganz klassisch mit einem Klick auf das Plus-Icon neben einem Tab-Reiter. Im Menü Command finden sich mit den Settings und Key Bindings auch Einstellungsdialoge.
In den Paketquellen der üblichen Distributionen suchen Sie Extraterm noch vergeblich. Der Entwickler stellt über die Github-Seite des Projekts eine statisch kompilierte Version in Form von ZIP-Archiven zur Verfügung. Diese müssen Sie lediglich entpacken und das darin enthaltene Binary extraterm aufrufen. Arch-User erhalten das Programm via AUR.
Termux (Android)
Zwar versteckt Android seine Herkunft unter einer per Fingerzeig zu steuernden Oberfläche, doch unter der Haube des von Google entwickelten Systems für mobile Geräte steckt ein angepasster Linux-Kernel. Über die Android Debug Bridge [14] bietet Google Entwicklern eine Schnittstelle, um via USB mit dem Android-System per Kommando zu kommunizieren. Auf dem Bildschirm eines Android-Geräts finden sich jedoch keine Systemwerkzeuge, geschweige denn ein Terminal.
Mit Termux [15] lässt sich ein solches jedoch schnell nachrüsten. Die Open-Source-App findet sich sowohl im Google Play Store als auch im Open-Source-Market F-Droid. Termux bietet eine Linux-Umgebung mit den üblichen Linux-Kommandos, ein gerootetes Handy brauchen Sie dafür nicht (Abbildung 7). Über eine Paketverwaltung, die ähnlich wie Debians Apt funktioniert, installieren Sie bei Bedarf zusätzliche Anwendungen. Mit pkg search Begriff durchsuchen Sie die Paketquellen, mit pkg install Paket spielen Sie das gewünschte Paket ein. Genauso wie bei Debian bringen Sie das System mit pkg upgrade auf den aktuellen Stand.

Abbildung 7: Termux bringt die Linux-Umgebung auf jedes Android-Gerät. Dafür braucht es nicht einmal Root-Rechte oder andere Hacks.
Um das Android-Terminal komfortabel zu bedienen, bedarf es einer vollständigen Tastatur mit Pfeiltasten, Tabulator sowie Zusatztasten wie [Strg]+ und [Alt]. Nur so lassen sich beispielsweise Anwendungen mit [Strg]+[C] abbrechen oder Kommandos nachträglich bearbeiten. Die üblichen Android-Keyboards kennen solche Tasten nicht, als Alternative steht mit dem Hacker’s Keyboard [16] jedoch eine Open-Source-Anwendung im Play Store oder via F-Droid bereit. Im Querformat zeigt die Tastatur-App alle für den Linux-Alltag wichtigen Tasten an (Abbildung 8).
![Abbildung 8: Das Hacker's Keyboard erleichtert mit Zusatztasten wie [Ctrl] oder den Pfeiltasten den Umgang mit dem Linux-Terminal.](https://www.linux-community.de/wp-content/uploads/2018/06/b08_termux2-300x150.jpg)
Abbildung 8: Das Hacker’s Keyboard erleichtert mit Zusatztasten wie [Ctrl] oder den Pfeiltasten den Umgang mit dem Linux-Terminal.
Die reduzierte Oberfläche von Termux bietet selbst wenig Funktionen. Etwas versteckt gibt es allerdings die Möglichkeit, mehrere Sitzung zu nutzen. Dazu ziehen Sie vom linken Bildschirmrand eine Seitenleiste auf. Von Termux profitieren besonders Konsolenritter, die mit einem Android-Handy in der Hand nicht auf Vim, SSH oder gewohnte Terminalanwendungen verzichten möchten. Dank Git-Client lassen sich beispielsweise auch Dot-Files ohne viel Aufwand mit einem Git-Repository synchronisieren.
SSH-Clients für Android
Alternativ zur Linux-Umgebung mit Termux und dem dort enthaltenen SSH-Client finden sich im Play Store von Android eigenständige SSH-Apps inklusive Frontend zum Verwalten häufiger gebrauchter SSH-Clients sowie der entsprechenden Schlüssel. Zu den gebräuchlichsten Vertretern dieser Gattung zählen die Open-Source-App ConnectBot [17] und die “Freemium”-App JuiceSSH [18] – die kostenpflichtige Pro-Version schlägt mit 5,49 Euro zu Buche.
ConnectBot beschränkt sich auf SSH, JuiceSSH unterstützt hingegen mit Mosh [19] oder “Mobile Shell” eine Alternative zur SSH-Shell, die besonders bei langsamen oder instabilen Verbindungen, wie Sie im Mobilfunknetz vorkommen, Vorteile bietet. Beide SSH-Clients blenden nach einem Fingerzeig auf den Terminalbereich zusätzliche Tasten ein, die bei den üblichen Android-Keyboards fehlen. So erübrigt sich die Installation des bereits erwähnten Hacker’s Keyboard (Abbildung 9).

Abbildung 9: Benötigen Sie unter Android nur einen SSH-Client, greifen Sie am besten gleich auf einen SSH-Client wie ConnectBot (links) oder JuiceSSH (rechts) zurück.
Fazit
Es lohnt sich, das Gnome-Terminal oder dessen KDE-Pendant Konsole einmal links liegen zu lassen und etwas über den Tellerrand hinauszusehen: Tilix bietet mit seinem Terminal-Multiplexer die Chance für mehr Ordnung auf dem Desktop, mit Alacritty scrollen Sie blitzschnell auch durch große Dateien. Das perfekte Terminalprogramm gibt es wahrscheinlich nicht, doch je nach Situation bietet sich eine der hier vorgestellten Alternativen an.
Infos
-
Alacritty: https://github.com/jwilm/alacritty
-
“Announcing Alacritty”: https://jwilm.io/blog/announcing-alacritty
-
Terminator: https://gnometerminator.blogspot.de
-
Terminus: https://github.com/Eugeny/terminus
-
Electron: https://electronjs.org
-
“Upterm Project Dead?”: https://github.com/railsware/upterm/issues/1288
-
Extraterm: http://extraterm.org
-
Extraterm-Shell-Integration: https://github.com/sedwards2009/extraterm/blob/master/docs/guide.md#shell-integration
-
Android Debug Bridge: https://developer.android.com/studio/command-line/adb.html
-
Termux: https://termux.com
-
Hacker’s Keyboard: https://github.com/klausw/hackerskeyboard
-
ConnectBot: https://connectbot.org
-
JuiceSSH: https://juicessh.com
-
Mosh Mobile Shell: https://mosh.org





