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 xdotool
và wmctrl
cài đặt để làm việc này.
Trước tiên, bạn phải chỉnh sửa ~/.bashrc
tệ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 ssh
tậ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 bash
và gnome-terminal
, chạy tập lệnh sẽ mở một tab mới, đổi tên nó và bắt đầu ssh
phiê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: