Na configuração do PuTTY existe uma opção em Terminal → Recursos chamadaDesative a alteração do título da janela com controle remoto. Sem isso habilitado, a barra de título do PuTTY mudará toda vez que eu pressionar Enter no console.
Eu estava pensando que seria uma solução mais limpa definir o texto da barra de título do Linux do que especificar um para cada cliente PuTTY que tenho disponível. Então, onde posso modificar o que o Linux define como título da janela?
$ unome -a Linux drevo 2.6.32-5-amd64 #1 SMP Seg, 16 de janeiro 16:22:28 UTC 2012 x86_64 GNU/Linux $ cat /etc/debian_version 6.0.4
Responder1
A maioria dos programas de terminal - incluindo konsole, putty e xterm - emula o antigo terminal VT100. Este terminal permite que você defina certas coisas, incluindo negrito, cores, defina o título do terminal e assim por diante, usando sequências de caracteres especiais chamadas sequências de escape.
O shell bash possui uma variável chamada PROMPT_COMMAND que, se definida, é avaliada antes de cada prompt impresso (acredito que o zsh tenha algo semelhante, na verdade, acho que o bash tirou o código deles). Você pode gerar sequências de escape em PROMPT_COMMAND e isso definirá sua barra de título.
Isto é o que tenho no meu (Linux/bash):
USER=$(/usr/bin/id -un)
HOSTNAME=$(uname -n)
HOSTNAME=${HOSTNAME%%.*}
PROMPT_COMMAND='echo -ne "\e]0;$USER@${HOSTNAME}: $(pwd -P)\a"'
Você pode colocar isso em seu ~/.bashrc
Existem muitas personalizações que você pode fazer com seu terminal. Gosto de negrito no meu prompt, para facilitar a visualização do final do meu prompt. Isso o torna amarelo em negrito, bom contra meu fundo preto padrão:
PS1="\[\e[33;1m\]\h:\$\[\e[0m\] "
Procure por Linux Prompt Customization, você encontrará mais HowTos do que saberá o que fazer. Escolha aquele que você achar mais fácil de ler.
Responder2
O título do terminal é definido usando sequências de escape especiais na saída do console. Por padrão, o prompt do bash inclui essas sequências de escape e define o título para o diretório de trabalho atual.
Portanto, você terá que editar sua variável PS1 (na maioria das vezes ela está definida ~/.bashrc
), caso contrário, o bash substituirá seu título toda vez que o prompt for exibido.
Você pode então definir o título colocando o seguinte em um script que é executado quando você faz login, por exemplo ~/.profile
:
echo -e "\033]0;<your string>\007"
Responder3
Pesquisei em vários fóruns e não encontrei a resposta para a pergunta:
Como obter toda a saída de comando para o título do Putty?
Era necessário que outros programas soubessem quando alguns trabalhos em um servidor foram concluídos e se foram feitos certo ou errado. Plink stdout e stdin não estavam funcionando. Usei muitos ajustes com atrasos de espera e para alguns comandos que funcionaram, para outros não. XSEL e XCLIP não puderam ser instalados nesse servidor.
Então aqui está a solução:
- Obtenha a saída do comando em um arquivo.
- Faça eco desse arquivo no título.
No cliente Putty e no servidor SUSE é assim:
ls /home | grep domagaja > logutoit.txt
echo -e "\033]0\\;$(cat logutoit.txt)\\007\\c"
Esperançosamente, alguém será capaz de usar isso. É claro que não funcionará para todos os tipos de servidores e configurações de clientes PuTTY, mas a ideia deve funcionar bem.