Questa soluzione è un po 'hacker, ma penso che farà ciò che stai cercando. Sarà necessario xdotool
e wmctrl
installato per farlo funzionare.
Per prima cosa devi modificare il tuo ~/.bashrc
file perché di default il terminale reimposta il suo titolo dopo ogni riga, rendendo inutile il titolo della riga di comando.
Subito dopo: xterm*|rxvt*)
Sostituire: PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
Con: PS1="${debian_chroot:+($debian_chroot)}\u@\h \w\a$ "
Successivamente creeremo uno ssh
script personalizzato chiamato come vuoi, ma per questa risposta chiamerò il mio tab-ssh
. Apri un editor di testo e salva quanto segue come 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
Quindi renderlo eseguibile:
chmod +x tab-ssh
Ora, supponendo che tu stia utilizzando bash
e gnome-terminal
, l'esecuzione dello script dovrebbe aprire una nuova scheda, rinominarla e avviare la ssh
sessione. Per esempio:
tab-ssh username@0.0.0.0
aprirà una nuova scheda, rinominandola in 0.0.0.0
(cioè tutto ciò che segue il segno "@"), quindi eseguirà username@0.0.0.0
.
Creato utilizzando il seguente: