Giải pháp này có một chút hackish, nhưng tôi nghĩ nó sẽ làm những gì bạn đang tìm kiếm. Bạn sẽ cần xdotoolvà wmctrlcài đặt để làm việc này.
Trước tiên, bạn phải chỉnh sửa ~/.bashrctệp của mình vì theo mặc định, thiết bị đầu cuối đặt lại tiêu đề của nó sau mỗi dòng, hiển thị tiêu đề dòng lệnh vô dụng.
Ngay sau khi: xterm*|rxvt*)
Thay thế: PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
Với: PS1="${debian_chroot:+($debian_chroot)}\u@\h \w\a$ "
Tiếp theo, chúng tôi sẽ tạo một sshtập lệnh tùy chỉnh được gọi là bất cứ điều gì bạn muốn, nhưng với câu trả lời này, tôi sẽ gọi cho tôi tab-ssh. Mở trình soạn thảo văn bản và lưu như sau tab-ssh:
#!/usr/bin/env bash
WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
xdotool windowfocus $WID
xdotool key ctrl+shift+t
wmctrl -i -a $WID
sleep 1
title=$(echo "$*" | sed s/.*@//g)
xdotool type --delay 1 --clearmodifiers 'echo -en "\033]0;"'"${title}"'"\a"'
xdotool key Return
sleep 1
xdotool type --delay 1 --clearmodifiers "ssh $*"
xdotool key Return
Sau đó làm cho nó thực thi:
chmod +x tab-ssh
Bây giờ, giả sử bạn đang sử dụng bashvà gnome-terminal, chạy tập lệnh sẽ mở một tab mới, đổi tên nó và bắt đầu sshphiên. Ví dụ:
tab-ssh username@0.0.0.0
sẽ mở một tab mới, đổi tên nó thành 0.0.0.0(tức là mọi thứ theo dấu "@"), sau đó thực thi username@0.0.0.0.
Tạo bằng cách sử dụng như sau: