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.

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"

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.