Terminal
DR-Terminal bringt einen eigenen, von Grund auf in Kotlin geschriebenen VT100/xterm-Emulator mit — ohne WebView. Er unterstützt xterm-256color, den Alt-Buffer (vim/less/nano), die OSC-52-Zwischenablage, Fokus-Ereignisse und Mausverfolgung (mc, htop).
Tastatur und Tastenkürzel
| Tastenkürzel | Aktion |
|---|---|
| Ctrl+C — bei markiertem Text | Auswahl in die Zwischenablage kopieren. Ohne Auswahl erreicht das normale SIGINT den entfernten Prozess. |
| Enter — bei markiertem Text | Alternatives Kopier-Kürzel (praktisch bei Tastaturen ohne Ctrl). |
| Rechtsklick / Menü „Kopieren“ | Kontextmenü nach der Auswahl — immer verfügbar. |
| Ctrl+V | Einfügen. Mehrzeiliger Zwischenablageinhalt öffnet einen Bestätigungsdialog zum mehrzeiligen Einfügen. |
| Shift+Insert | Einfügen — klassisches X11-/Windows-Muskelgedächtnis. Einfg allein erreicht weiterhin die Shell. |
| Shift+Delete | Die Auswahl kopieren und aufheben (wie Ausschneiden). |
| Ctrl+F | Öffnet die Suchleiste (siehe „In der Ausgabe suchen“). Die Shell sieht den Tastendruck nie. |
| Ctrl+Shift+S | Öffnet die Snippet-Auswahl (siehe „Snippets“). Ctrl+S allein erreicht weiterhin die Shell. |
| Kürzelleiste | esc, ctrl, tab, Pfeiltasten, gängige Shell-Symbole, die snip-Taste und der ⌨-Umschalter — nützlich auf Mobilgeräten. Funktions- und Navigationstasten liegen auf der fn-Ebene der DevOps-Tastatur und in der optionalen F-Tasten-Reihe. |
| Schriftgröße | Schaltflächen A- / A+ im Terminal-Menü; Bereich 8–32 pt. |
Unter macOS funktioniert Cmd überall dort, wo oben Ctrl steht: Cmd+C, Cmd+V, Cmd+F und Cmd+Shift+S verhalten sich wie ihre Ctrl-Gegenstücke.
DevOps-Tastatur (Android & iOS)
Systemtastaturen arbeiten im Terminal gegen dich: Autokorrektur verstümmelt sudo -rf, Shell-Symbole liegen zwei Ebenen tief, und nicht-lateinische Layouts haben oft gar kein ASCII. DR-Terminal bringt eine eigene, immer-ASCII DevOps-Tastatur mit, von der App gezeichnet und mit Tasten direkt ans Terminal — das System-IME sieht sie nie.
- Hochformat — ein klassisches Dock am unteren Bildschirmrand.
- Querformat — Split-Modus: zwei daumengroße Cluster an der linken und rechten Kante, als durchscheinendes Glas über dem Terminal gezeichnet, sodass die volle Breite deine Sitzung weiter zeigt.
Ebenen: Kleinbuchstaben, Großbuchstaben (Shift), Ziffern, Shell-Symbole (| ~ $ & ' " \ …`) und eine fn/nav-Ebene (F1–F12, Pfeile, Home/End, PgUp/PgDn). Ctrl/Alt/Shift sind sticky: Tippen aktiviert sie für die nächste Taste, Doppeltippen rastet ein. ⌫, Pfeile oder Leertaste gedrückt halten wiederholt die Taste; langes Drücken auf Tasten mit kleiner Eckmarkierung liefert das Alternativzeichen.
- Grabber (Pille) oben schaltet FULL ↔ MINI um — MINI behält nur das Nötigste (Esc, Tab, Ctrl, Pfeile, ⌫, ↵) für htop-/Log-Sitzungen. Das Querformat merkt sich seinen eigenen Zustand und startet in MINI.
- Grabber ziehen, um einen Split-Cluster zu verschieben; er schnappt an die nächste Kante. Lege einen Cluster auf den anderen, um sie zu einer schwebenden Tastatur zu verschmelzen; die Split-Pille trennt sie wieder.
- Nach unten wischen über die Tasten versteckt die Tastatur; ein schwebender ⌨-Button holt sie zurück. Die Taste ⌨ wechselt zur Systemtastatur, wenn du Umlaute oder Emoji brauchst.
Einstellungen → Tastatur (mobil): Standardtastatur — Auto wählt die DevOps-Tastatur, wenn die Systemsprache nicht-lateinisch ist (Arabisch, Hebräisch, CJK…), sonst das System-IME; Layout — Auto/QWERTY/QWERTZ/AZERTY; Schieberegler für Deckkraft und Tastengröße; F-Tasten anzeigen — eine dauerhaft sichtbare Reihe F1–F10 über der Tastatur, praktisch für Abläufe mit mc/htop. Alle Tastatureinstellungen wandern ins verschlüsselte Konfigurations-Backup, wenn es von einem Telefon oder Tablet exportiert wird.
Markieren, kopieren, einfügen
Desktop: Mit der Maus ziehen, um zu markieren. Ein Doppelklick markiert ein Wort, ein Dreifachklick eine Zeile. Das Loslassen kopiert über die obigen Kürzel; ein Rechtsklick öffnet ein Menü.
Android & iOS: Lange tippen an einer beliebigen Stelle im Terminal startet eine Auswahl, dann ziehen, um sie zu erweitern, und loslassen, um zu kopieren — der Text landet in der Systemzwischenablage. Ein kurzes Antippen wird weiterhin an die Shell durchgereicht; ein Wischen scrollt weiterhin den Verlauf, sodass die üblichen Gesten weiter funktionieren.
- Einfügen-Symbol in der oberen Leiste des Terminals — ein Tipp fügt die Zwischenablage an der Cursorposition ein. Ist nichts in der Zwischenablage, erscheint ein neutraler Snackbar Nichts zum Einfügen.
- Text auswählen im Terminal-Menü — ein Kontrollkästchen, das den Auswahlmodus aktiv lässt, bis du ihn wieder ausschaltest, sodass jedes Ziehen markiert, statt zu scrollen oder an die Shell durchzureichen.
- Langes Tippen auf die Prompt-Zeile (die Zeile, in der sich der Cursor befindet, und nur, wenn du nicht in den Verlauf gescrollt hast) fügt ein, anstatt eine Auswahl zu starten — natürlich, wenn du die Zwischenablage einfach dort ablegen willst, wo du gerade tippst.
OSC 52 ermöglicht es entfernten Programmen (tmux, vim, fzf), über eine Escape-Sequenz in deine Systemzwischenablage zu kopieren — bidirektional.
Mehrzeiliges Einfügen: Wenn deine Zwischenablage Zeilenumbrüche enthält, siehst du einen Vorschaudialog zum mehrzeiligen Einfügen — das schützt vor dem Einfügen von Befehlen, die du nicht geprüft hast.
Scrollback und Verlauf
Der Scrollback-Puffer fasst bis zu 1000 Zeilen. Mausrad oder Touch-Ziehen scrollt; der Cursor verlässt korrekt den sichtbaren Bereich (xterm-Verhalten), und jede Auswahl scrollt mit dem Text mit.
Verlauf löschen sitzt im Tab „Verlauf“ der Seitenleiste und löscht den gespeicherten *Befehls*verlauf dieser Verbindung — der Scrollback auf dem Bildschirm bleibt unberührt.
Eine Bildlaufleiste erscheint am rechten Rand des Terminals (Desktop) — greife sie mit der Maus, um durch den Verlauf zu scrollen; Android und iOS scrollen per Touch. Die Mausrad-Scrollgeschwindigkeit ist unter Einstellungen → Terminal konfigurierbar (Zeilen pro einzelner Mausrad-Rastung).
Alt-Buffer (Vollbild-Apps)
Programme wie vim, less, nano, htop, mc wechseln in den Alt-Buffer — einen separaten Bildschirm, der beim Beenden verschwindet, ohne den Haupt-Scrollback zu verschmutzen.
In der Ausgabe suchen
Drücke Ctrl+F (Cmd+F unter macOS), um die Suchleiste zu öffnen. Sie durchsucht den Scrollback in Echtzeit, hebt jeden Treffer hervor und springt zwischen ihnen. Die Hervorhebung ist eine Overlay-Darstellung zur Renderzeit — es wird niemals etwas in den SSH-Datenstrom eingespeist.
Schrift, Theme, Hervorhebung
- Schriftgröße — die Schaltflächen A-/A+ im Terminal-Menü oder der Schieberegler unter Einstellungen → Erscheinungsbild; Bereich 8–32 pt. Die Schrift unter Benutzerdefiniert im Theme-Tab der Seitenleiste erlaubt zusätzlich 6–72 pt pro Alias.
- UI-Theme — hell / dunkel / System (die gesamte App, nicht das Terminal).
- Terminal-Theme — siehe den Abschnitt Theme weiter unten; das Theme gilt pro Alias.
- Hervorhebungsregeln — Einstellungen → Terminal → Ausgabe-Hervorhebung. Regex + Farbe hinzufügen, z. B.
ERRORrot einfärben.
Snippets
Snippets sind wiederverwendbare Befehlsvorlagen, die du in jeder Sitzung ausführen kannst. Eine Vorlage kann typisierte Platzhalter enthalten — ping -c {count:int=4} {host:ip} — und das Ausführen eines solchen Snippets öffnet einen kleinen Dialog, der nach den Werten fragt (int-, ip-, bool- und enum-Platzhalter erhalten passende Eingabefelder und Validierung). Ein Snippet ohne Platzhalter läuft sofort los. Sofort ausführen (Enter senden) entscheidet, ob Enter für dich gesendet wird oder der Befehl nur an der Eingabeaufforderung landet und noch bearbeitet werden kann.
Möglichkeiten, eines auszuführen:
- Ctrl+Shift+S (Cmd+Shift+S unter macOS) — eine Auswahl mit Sofortsuche beim Tippen; Enter führt den ersten Treffer aus.
- Snippets im Terminal-Menü — dieselbe Auswahl ohne Tastatur.
- Der Snippets-Tab in der Terminal-Seitenleiste — zuletzt verwendete zuerst, ein Klick zum Ausführen, dazu eine Verknüpfung zum Editor.
- Die angeheftete snip-Taste in der mobilen Kürzelleiste und auf der DevOps-Tastatur, deren angedockter Modus außerdem eine Kachelebene für Snippets bietet — ein tippfreundliches Raster mit deinen zuletzt verwendeten Snippets direkt im Blickfeld.
Jedes Snippet hat einen Sichtbarkeitsbereich: sichtbar für Alle Hosts, eine Gruppe oder einen einzelnen Host. Ein optionaler Filter Systeme (Debian, RHEL, Arch, macOS…) grenzt ihn weiter ein, sodass apt-Snippets nur auf Hosts erscheinen, die als Debian-Familie erkannt wurden — die Erkennung stammt aus der Prüfung bei der Anmeldung (siehe Host-Einblick weiter unten). Nur anzeigen, wenn verfügbar blendet ein Snippet zusätzlich aus, wenn sein Befehl auf dem Host nachweislich fehlt. Sitzungen ohne SSH-Host (lokal, seriell, Telnet) sehen nur globale Snippets.
Verwalte Snippets unter Einstellungen → Terminal → Snippets: hinzufügen, bearbeiten, duplizieren und löschen, Sichtbarkeitsbereich, Systeme und das Kennzeichen „Sofort ausführen“ setzen. Ein mitgelieferter Katalog mit über hundert fertigen Snippets — pro System (Debian, RHEL, Arch, Alpine, SUSE, BSD, macOS) sowie Sets für Docker, Netzwerk, Speicher und Werkzeuge — wird beim ersten Start angelegt; bearbeite oder lösche sie wie deine eigenen.
Befehlsverlauf und Autovervollständigung
Jede gespeicherte Verbindung merkt sich ihren Befehlsverlauf (wenn Verlauf speichern aktiviert ist). Die Pfeil-nach-oben-Taste ruft frühere Befehle ab, und das Autovervollständigungsfeld schlägt Befehlsnamen vor, die auf dem Server verfügbar sind — eine Live-Shell-Vervollständigung, unabhängig vom Verlauf dessen, was du getippt hast.
Host-Einblick (Live-Werte)
Nach der Anmeldung an einer SSH-Sitzung prüft die App den Host im Hintergrund — Betriebssystemname, CPU-Modell und Kernanzahl — und beginnt, Live-Werte abzufragen: Systemlast, Arbeitsspeicher, Swap und Belegung je eingehängtem Datenträger, jeweils mit einem Auslastungsbalken, der ab 75 % orange und ab 90 % rot wird.
- Der Host-Tab der Terminal-Seitenleiste (der Tab ganz links und der Standard für SSH-Sitzungen) zeigt alles auf einen Blick.
- Dieselben Zeilen erscheinen im Dialog Verbindungsinfo.
- Einstellungen → Terminal → Ressourcenüberwachung (CPU/RAM/Festplatte) schaltet die Abfrage global ein oder aus und legt das Aktualisierungsintervall fest (5–300 s). Das Verbindungsformular kann das Intervall pro Host übersteuern, und sein Dropdown Systemprüfung bei Anmeldung bestimmt, wie oft die vollständige Prüfung läuft: bei jeder Verbindung, einmal täglich, einmal wöchentlich oder deaktiviert.
Sitzungs-Tabs
Jede Sitzung — SSH, SFTP, lokal, seriell, Telnet — lebt in einem Tab. Tippe lange (mobil) oder rechtsklicke (Desktop) auf einen Tab oder auf eine Karte in der Liste der aktiven Sitzungen, um sein Menü zu öffnen: Umbenennen, Verbindungsinfo, Sitzung neu starten und Tab schließen. Sitzung neu starten baut die Verbindung ab und stellt sie von Grund auf neu her, während der Tab erhalten bleibt — praktisch nach einem Serverneustart. Bricht eine entfernte Sitzung ab, erhält das Terminal-Menü zusätzlich den Eintrag Erneut verbinden, der die Verbindung an Ort und Stelle wiederherstellt (lokale Terminals bieten ihn nicht — öffne stattdessen ein neues).
Seitenleiste (rechtes Panel) — Host / Verlauf / Vervollständigung / Snippets / Theme
Rechts neben dem Terminal (Desktop / Tablet) befindet sich ein einklappbares Panel mit fünf Tabs. Öffne es über den Pfeil am rechten Rand; verändere die Größe durch Ziehen am linken Rand. Der Zustand gilt pro Alias — jede gespeicherte Verbindung merkt sich ihren Tab und ihre Breite.
- Host — der Standard-Tab für SSH-Sitzungen: erkanntes System, CPU und Live-Werte. Siehe Host-Einblick weiter oben.
- Verlauf — zuletzt eingegebene Befehle. Ein Klick tippt den Befehl ins Terminal; der Schalter daneben entscheidet, ob mit Enter automatisch abgesendet wird. Auch Verlauf löschen liegt hier.
- Vervollständigung — Live-Vorschläge für Befehlsnamen aus der Shell-Vervollständigung des Servers. Kann pro Alias stummgeschaltet werden (Glockensymbol).
- Snippets — deine Snippets für diesen Host, zuletzt verwendete zuerst. Siehe Snippets weiter oben.
- Theme — Erscheinungsbild des Terminals. Siehe den Abschnitt unten.
Theme — Terminal-Themes (435 Schemata)
Das Theme gilt pro Alias — jede Verbindung hat ihren eigenen Hintergrund, Vordergrund und eine 16-farbige ANSI-Palette (dieselben Indizes, die ls --color verwendet: Standard 0–7 + Hell 8–15).
- Eingebauter Katalog mit 435 Themes — das Feld Suchen… filtert nach Namen. Jede Zeile zeigt Hintergrund, Vordergrund und einen 16-Farben-Streifen. Ein Klick wendet das Theme sofort an.
- Benutzerdefiniert (dieser Alias) — auf dem Desktop bietet die Seitenleiste auch die manuelle Bearbeitung von Schrift, Hintergrund, Vordergrund und den 16 ANSI-Slots. Jeder Slot hat seinen eigenen Reset (⟲); die gesamte Palette hat einen separaten Reset.
- Blaue Verzeichnisse in
ls --colorsind ANSI 4 (BLUE) oder 12 (BRIGHT_BLUE) — um sie zu ändern, wähle ein anderes Theme oder bearbeite diese beiden Farbfelder.
Android & iOS: Die gesamte Desktop-Seitenleiste wird durch ein einzelnes Paletten-Symbol in der oberen Leiste des Terminals ersetzt. Tippe darauf für ein Bottom-Sheet mit demselben Katalog von 435 Themes, durchsuchbar und mit Live-Farbvorschauen. Das Antippen einer Zeile wendet das Theme an und schließt das Sheet, sodass du das Ergebnis sofort siehst; die Schaltfläche Zurücksetzen oben verwirft alle Überschreibungen, sodass der Alias auf seine Standardwerte zurückfällt.
Die 435 eingebauten Themes stammen aus der Open-Source-Sammlung edcet/terminal-themes (MIT).