Desktop CLI
Die Desktop-Version von DR-Terminal liefert eine Kommandozeilen-Schnittstelle. Praktisch für IDE-Integrationen, Skripte und Automatisierung.
Verwendung
DR-Terminal connect <target> [flags]
- target — wird zuerst als Name einer gespeicherten Verbindung aufgelöst (unabhängig von Groß-/Kleinschreibung), dann als
host[:port]geparst.
Flags
| Flag | Beschreibung |
|---|---|
-u, --user | Benutzername (für host:port-Ziele). |
-p, --password | Passwort in der Kommandozeile (unsicher — kann in der Shell-History landen). |
--password-stdin | Passwort über stdin lesen (sicher: pass show server | DR-Terminal ...). |
-i, --identity | Datei mit privatem Schlüssel (PEM). |
-j, --jump | Kette von Jump-Hosts nach Namen, z. B. bastion1,bastion2. |
-c, --command | Shell-Snippet: nach Login injiziert (Standard) oder mit --exec kopflos ausgeführt. |
--new-tab | Erzwingt einen neuen Tab in der laufenden Instanz. |
--exec | Kopflos: Befehl ausführen, stdout/stderr streamen, mit dem entfernten Exit-Code enden. |
-h, --help | Diese Hilfe anzeigen. |
Beispiele
# Neuen Tab in laufender Instanz öffnen und in gespeicherten "lager" einloggen
DR-Terminal connect lager --new-tab
# Ad-hoc-Host mit Benutzer und Schlüssel
DR-Terminal connect 10.0.0.1:22 -u pi -i ~/.ssh/id_ed25519 --new-tab
# Jump-Kette: bastion1 → bastion2 → Ziel
DR-Terminal connect production -j bastion1,bastion2 --new-tab
# Kopfloser Exec — gibt uptime aus und endet
DR-Terminal connect lager --exec -c 'uptime'
# CLI-Start-Skript: nach Login Befehle ausführen
DR-Terminal connect dev --new-tab -c 'cd /srv/app && tmux attach -t main'
Symlink in PATH
Nach der Installation (oder nach ./gradlew :composeApp:createDistributable) legen Sie einen Symlink an, damit der Befehl global verfügbar ist:
sudo ln -s /path/to/DR-Terminal/bin/DR-Terminal /usr/local/bin/dr-terminal
dr-terminal connect lager --exec -c 'df -h'
Single-Instance
DR-Terminal läuft pro Benutzer als eine Instanz (Unix Domain Socket oder Named Pipe unter Windows). Ein zweites DR-Terminal connect ... leitet seine Argumente an die laufende Instanz weiter und beendet sich — die laufende Instanz öffnet dann einen neuen Tab.