CLI de Desktop
La versión Desktop de DR-Terminal ofrece una interfaz de línea de comandos. Útil para integraciones con IDE, scripting y automatización.
Uso
DR-Terminal connect <target> [flags]
- target — primero se resuelve como nombre de conexión guardada (ignorando mayúsculas), después se interpreta como
host[:port].
Flags
| Flag | Descripción |
|---|---|
-u, --user | Nombre de usuario (para targets host:port). |
-p, --password | Contraseña en la línea de comandos (inseguro — puede llegar al historial del shell). |
--password-stdin | Leer contraseña desde stdin (seguro: pass show server | DR-Terminal ...). |
-i, --identity | Archivo de clave privada (PEM). |
-j, --jump | Cadena de hosts de salto por nombre, p. ej. bastion1,bastion2. |
-c, --command | Fragmento de shell: inyectado tras iniciar sesión (por defecto) o ejecutado sin interfaz con --exec. |
--new-tab | Fuerza la apertura de una nueva pestaña en la instancia en ejecución. |
--exec | Sin interfaz: ejecuta el comando, transmite stdout/stderr, termina con el código de salida remoto. |
-h, --help | Esta ayuda. |
Ejemplos
# Abrir nueva pestaña en la instancia en ejecución y entrar en el "lager" guardado
DR-Terminal connect lager --new-tab
# Host ad-hoc con usuario y clave
DR-Terminal connect 10.0.0.1:22 -u pi -i ~/.ssh/id_ed25519 --new-tab
# Cadena de saltos: bastion1 → bastion2 → destino
DR-Terminal connect production -j bastion1,bastion2 --new-tab
# Exec sin interfaz — imprime uptime y termina
DR-Terminal connect lager --exec -c 'uptime'
# Script de inicio vía CLI: ejecuta comandos tras iniciar sesión
DR-Terminal connect dev --new-tab -c 'cd /srv/app && tmux attach -t main'
Symlink en PATH
Tras instalar (o tras ./gradlew :composeApp:createDistributable) crea un symlink para tener el comando disponible globalmente:
sudo ln -s /path/to/DR-Terminal/bin/DR-Terminal /usr/local/bin/dr-terminal
dr-terminal connect lager --exec -c 'df -h'
Instancia única
DR-Terminal mantiene una instancia por usuario (socket de dominio Unix o named pipe en Windows). Un segundo DR-Terminal connect ... reenvía sus argumentos a la instancia en ejecución y termina — la instancia en ejecución abre entonces una nueva pestaña.