Це рішення трохи хакерське, але я думаю, воно зробить те, що ви шукаєте. Для цього вам знадобиться xdotoolі wmctrlвстановлено.
Спершу вам слід відредагувати ~/.bashrcфайл, оскільки за замовчуванням термінал скидає його заголовок після кожного рядка, а заголовок командного рядка робить марним.
Відразу після: xterm*|rxvt*)
Замінити: PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
З: PS1="${debian_chroot:+($debian_chroot)}\u@\h \w\a$ "
Далі ми створимо користувацький sshсценарій, який називається все, що ви хочете, але для цієї відповіді я буду дзвонити моєму tab-ssh. Відкрийте текстовий редактор і збережіть таке 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
Потім зробіть його виконуваним:
chmod +x tab-ssh
Тепер, припускаючи, що ви використовуєте bashта gnome-terminal, запустивши скрипт, слід відкрити нову вкладку, перейменувати її та розпочати sshсеанс. Для прикладу:
tab-ssh username@0.0.0.0
відкриє нову вкладку, перейменує її на 0.0.0.0(тобто все, що слідує за знаком "@"), а потім виконає username@0.0.0.0.
Створено за допомогою наступного: