Desktop CLI
Wersja Desktopowa DR-Terminal udostępnia interfejs wiersza poleceń. Przydatne do integracji z IDE, skryptami i automatyzacją.
Podstawowa składnia
DR-Terminal connect <target> [flagi]
- target — najpierw szukany jako nazwa zapisanego połączenia (case-insensitive), w drugiej kolejności parsowany jako
host[:port].
Flagi
| Flaga | Opis |
|---|---|
-u, --user | Login użytkownika (tylko dla targetu host:port). |
-p, --password | Hasło w linii poleceń (niebezpieczne — może trafić do historii shell). |
--password-stdin | Odczyt hasła z stdin (bezpieczne: pass show serwer | DR-Terminal ...). |
-i, --identity | Plik klucza prywatnego (PEM). |
-j, --jump | Łańcuch jump hostów po nazwach, np. bastion1,bastion2. |
-c, --command | Snippet shella: wstrzyknięty po zalogowaniu (domyślnie) albo wykonany headlessowo z --exec. |
--new-tab | Wymusza otwarcie tabu w działającej instancji. |
--exec | Tryb bez GUI: uruchamia komendę, drukuje stdout/stderr, kończy z exit code shella. |
-h, --help | Ten help. |
Przykłady
# Otwórz nowy tab w istniejącej instancji i zaloguj do zapisanego "lager"
DR-Terminal connect lager --new-tab
# Ad-hoc host z userem i kluczem
DR-Terminal connect 10.0.0.1:22 -u pi -i ~/.ssh/id_ed25519 --new-tab
# Jump chain: bastion1 → bastion2 → target
DR-Terminal connect produkcja -j bastion1,bastion2 --new-tab
# Headless exec — drukuje uptime i kończy
DR-Terminal connect lager --exec -c 'uptime'
# Skrypt startowy przez CLI: po logowaniu wykonaj polecenia
DR-Terminal connect dev --new-tab -c 'cd /srv/app && tmux attach -t main'
Symlink do PATH
Po instalacji (albo po wykonaniu ./gradlew :composeApp:createDistributable) utwórz symlink, żeby komenda była dostępna globalnie:
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 trzyma pojedynczą instancję per użytkownik (Unix socket lub nazwany pipe na Windowsie). Odpalenie drugiego DR-Terminal connect ... przekazuje argumenty do działającej instancji i kończy się — działająca instancja otwiera nowy tab.