Gostaria de definir o título do terminal para user@host
que eu possa dizer com facilidade a qual máquina estou conectado no título da janela. Existe uma maneira de fazer isso no SSH ou no Terminal GNOME?
fonte
Gostaria de definir o título do terminal para user@host
que eu possa dizer com facilidade a qual máquina estou conectado no título da janela. Existe uma maneira de fazer isso no SSH ou no Terminal GNOME?
Sim. Aqui está um exemplo para o bash usando o PS1 que deve ser independente da distribuição:
Especificamente, a sequência de escape \[\e]0; __SOME_STUFF_HERE__ \a\]
é de interesse. Eu editei isso para ser definido em uma variável separada para maior clareza.
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
TITLEBAR='\[\e]0;\u@\h\a\]'
# Same thing.. but with octal ASCII escape chars
#TITLEBAR='\[\033]2;\u@\h\007\]'
if [ "$color_prompt" = yes ]; then
PS1="${TITLEBAR}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ "
else
PS1="${TITLEBAR}\u@\h:\W\$ "
fi
unset color_prompt force_color_prompt
Observe também que existem várias maneiras de definir o título de um xterm, dependendo do programa do terminal que você está usando e do shell. Por exemplo, se você estiver usando o Konsole do KDE, poderá substituir a configuração do título em Settings
-> Configure Profiles
-> Edit Profile
-> Tabs
e definir as configurações Tab title format
e Remote tab title format
.
Além disso, você pode querer conferir:
\h
esse prompt apenas se$SSH_CLIENT
não estiver vazio.\[\e]2;\u@\h\a
. (Também editei a minha resposta com que info)Aqui está uma versão do script SSH bash que eu uso, que define o título e o prompt de comando do servidor remoto sem fazer alterações no servidor remoto.
Você pode invocá-lo chamando ./my_ssh.sh nome de usuário hostname
fonte
O seguinte funciona para mim (provavelmente apenas no gnome-terminal):
Onde o comando ssh_bkup é apenas básico 'ssh' com um nome alterado, que é chamado logo após o comando echo alterar o título do terminal atual.
fonte
~/bin
tem prioridade no meu caminho, então coloquei seu script no meu~/bin/ssh
. A última linha chama explicitamente para/usr/bin/ssh
. Dessa forma, outros usuários ainda usam o padrãossh
quando estão conectados à máquina e (como nossos diretórios pessoais estão no servidor, contas LDAP) recebo a funcionalidade em qualquer máquina em que estiver conectado.esta é a versão alias
fonte