Como escolho o que aparece na barra de título do PuTTY do Linux?

Como escolho o que aparece na barra de título do PuTTY do Linux?

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:

  1. Obtenha a saída do comando em um arquivo.
  2. 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.

informação relacionada