Desktop CLI
Bản dựng Desktop của DR-Terminal đi kèm một giao diện dòng lệnh. Hữu ích cho việc tích hợp IDE, viết script và tự động hóa.
Cách dùng
DR-Terminal connect <target> [flags]
- target — được phân giải đầu tiên như một tên kết nối đã lưu (không phân biệt hoa thường), sau đó được đối chiếu với các kết nối đã lưu theo
host[:port](thu hẹp bằng-unếu có), rồi mới được phân tích thànhhost[:port]cho một phiên tạm thời. Một kết nối đã lưu khớp sẽ dùng lại chủ đề, nhóm và thông tin đăng nhập đã lưu của kết nối đó.
Cờ
| Cờ | Mô tả |
|---|---|
-u, --user | Tên người dùng (cho các target host:port). |
-p, --password | Mật khẩu trên dòng lệnh (không an toàn — có thể vào lịch sử shell). |
--password-stdin | Đọc mật khẩu từ stdin (an toàn: pass show server | DR-Terminal ...). Chỉ dùng với --exec. |
-i, --identity | Tệp khóa riêng (PEM). Chỉ dùng với --exec. |
-j, --jump | Chuỗi các jump host theo tên, ví dụ bastion1,bastion2. |
-c, --command | Đoạn shell: đưa vào sau khi đăng nhập (mặc định) hoặc thực thi không có giao diện với --exec. |
--new-tab | Buộc mở một tab mới trong phiên bản đang chạy. |
--exec | Không giao diện: chạy lệnh, truyền stdout/stderr, thoát với mã thoát từ xa. |
-h, --help | Hiển thị trợ giúp này. |
-i và --password-stdin chỉ áp dụng cho các lần chạy không giao diện với --exec. Khi mở một tab trong GUI, việc xác thực dùng thông tin đăng nhập của kết nối đã lưu hoặc các lời nhắc thông thường trong ứng dụng.
Ví dụ
# Open a new tab in the running instance and log into saved "lager"
DR-Terminal connect lager --new-tab
# Ad-hoc host with user — the app prompts for credentials
DR-Terminal connect 10.0.0.1:22 -u pi --new-tab
# Jump chain: bastion1 → bastion2 → target
DR-Terminal connect production -j bastion1,bastion2 --new-tab
# Headless exec with a key file — prints uptime and exits
DR-Terminal connect 10.0.0.1:22 -u pi -i ~/.ssh/id_ed25519 --exec -c 'uptime'
# CLI start script: run commands after login
DR-Terminal connect dev --new-tab -c 'cd /srv/app && tmux attach -t main'
Symlink vào PATH
Sau khi cài đặt DR-Terminal, tạo một symlink để lệnh hoạt động toàn cục:
sudo ln -s /path/to/DR-Terminal/bin/DR-Terminal /usr/local/bin/dr-terminal
dr-terminal connect lager --exec -c 'df -h'
Một phiên bản duy nhất
DR-Terminal giữ một phiên bản cho mỗi người dùng (Unix domain socket hoặc named pipe trên Windows). Một lệnh DR-Terminal connect ... thứ hai sẽ chuyển tiếp các đối số của nó tới phiên bản đang chạy rồi thoát — phiên bản đang chạy sau đó mở một tab mới.