CLI Desktop
La versione Desktop di DR-Terminal fornisce un'interfaccia da riga di comando. Utile per integrazioni con IDE, scripting e automazione.
Uso
DR-Terminal connect <target> [flags]
- target — prima risolto come nome di connessione salvata (case-insensitive), poi interpretato come
host[:port].
Flag
| Flag | Descrizione |
|---|---|
-u, --user | Nome utente (per target host:port). |
-p, --password | Password sulla riga di comando (insicuro — può finire nella cronologia della shell). |
--password-stdin | Legge la password da stdin (sicuro: pass show server | DR-Terminal ...). |
-i, --identity | File chiave privata (PEM). |
-j, --jump | Catena di jump host per nome, p. es. bastion1,bastion2. |
-c, --command | Snippet shell: iniettato dopo il login (default) o eseguito senza interfaccia con --exec. |
--new-tab | Forza l'apertura di una nuova scheda nell'istanza in esecuzione. |
--exec | Senza interfaccia: esegue il comando, trasmette stdout/stderr, termina con l'exit code remoto. |
-h, --help | Questo aiuto. |
Esempi
# Apri nuova scheda nell'istanza in esecuzione e accedi a "lager" salvato
DR-Terminal connect lager --new-tab
# Host ad-hoc con utente e chiave
DR-Terminal connect 10.0.0.1:22 -u pi -i ~/.ssh/id_ed25519 --new-tab
# Catena di jump: bastion1 → bastion2 → target
DR-Terminal connect production -j bastion1,bastion2 --new-tab
# Exec senza interfaccia — stampa uptime e termina
DR-Terminal connect lager --exec -c 'uptime'
# Script di avvio via CLI: esegue comandi dopo il login
DR-Terminal connect dev --new-tab -c 'cd /srv/app && tmux attach -t main'
Symlink in PATH
Dopo l'installazione (o dopo ./gradlew :composeApp:createDistributable) crea un symlink per avere il comando disponibile globalmente:
sudo ln -s /path/to/DR-Terminal/bin/DR-Terminal /usr/local/bin/dr-terminal
dr-terminal connect lager --exec -c 'df -h'
Istanza singola
DR-Terminal mantiene un'istanza per utente (Unix domain socket o named pipe su Windows). Un secondo DR-Terminal connect ... inoltra i suoi argomenti all'istanza in esecuzione e termina — l'istanza in esecuzione apre allora una nuova scheda.