Como definir o título da guia no Terminal.app para o servidor remoto no qual estou conectado

3

Eu uso um Mac para trabalhar em vários outros.

O que eu gostaria de fazer é encontrar uma maneira de definir programaticamente o título de uma guia Terminal.app para o nome do servidor em que estou no ssh, para que eu possa determinar rapidamente em qual guia eu quero ir para verificar em um servidor específico.

Alguém sabe como fazer isto?

Obrigado.

alesplin
fonte

Respostas:

6

Claro, essa é uma maneira fácil de fazer isso:

echo -n -e "\033]0;Superuser.com rules\007"

Basta alterar as "regras do SuperUser.com" para o que você gostaria de intitular a sessão.

Para capturar o nome do host e publicá-lo no título, você pode executar algo como isto

name=`hostname`;echo -n -e "\033]0;$name\007"
ablinkin
fonte
11
Perfeito. Apenas o que eu precisava.
Alsplin 02/03/12
Isso é incrível e funciona muito bem. Existe uma maneira de fazer isso feliz automaticamente ao iniciar o Terminal e / ou alterar os hosts?
Mitch Malone
4

Eu queria fazer isso no outro dia e tive o seguinte resultado:

coloque isso no seu arquivo .bash_profile / .bashrc:

function tabname { printf "\e]1;$1\a"; }
function winname { printf "\e]2;$1\a"; }
function ssh() { echo "$@" | tabname `sed -E 's/(.*@)?([-a-zA-Z0-9\.]*)(.*)/\2/'`; /usr/bin/ssh "$@"; tabname; }

Alterando automaticamente os nomes das guias Terminal.app ao usar o SSH

Espero que isto ajude.

Ben Mackey
fonte
Ele usa uma expressão regular para obter apenas o nome do host. Estou apenas aprendendo as expressões regulares, para que qualquer pessoa sinta-se à vontade para postar uma solução melhor se você puder fazê-lo melhor.
precisa
printf tem um problema quando o título contém %caracteres
Blaise