Este é um pouco de acompanhamento para esta pergunta . Estou trabalhando no tcsh na tela GNU em um xterm .
Eu tenho o seguinte no meu .cshrc:
alias res_t 'xtset -t %h:%d "(%u:%g)" %e' # reset titlebar
res_t # reset title right now
alias precmd res_t
E isso funciona bem!
No entanto, quando executo a tela, vejo que o título não é atualizado com o diretório atual. Como faço para atualizar a tela com o título xterm?
gnu-screen
xterm
tcsh
Nathan Fellman
fonte
fonte
Respostas:
Você pode definir o título da janela do xterm adicionando-o ao seu
.tcshrc
ou.cshrc
(substitua o seuprecmd
alias atual ):Certifique-se de que este seja o único alias precmd nos arquivos
.cshrc
e.tcshrc
ao usá-lo. Este método exibe o diretório atual como o título da janela para mim no xterm em um terminal gnome, independentemente de uma sessão da tela GNU estar aberta.Minha resposta foi baseada nisso .
fonte
Eu entendo que você está usando o tcsh, então isso provavelmente não funcionará ... Caso alguém esteja procurando a maneira básica de fazer isso.
Se seus sistemas (local / remoto) estiverem executando o bash, você poderá usar a variável de ambiente "PROMPT_COMMAND" para definir o título da janela. PROMPT_COMMAND é avaliado antes que um prompt seja exibido.
(no seu .bashrc):
Explicação:
Isso define o shell para anexar ao arquivo de histórico toda vez que um comando é concluído, e não quando o shell inteiro é concluído. (Isso não está relacionado a este exemplo).
Isso ecoa o código de escape "\ 033] 0;" que define o título da janela com variáveis "usuário" @ "host" (removendo a correspondência mais longa da direita para a primeira ".") e, em seguida, o diretório de trabalho (substituindo '~' por '$ HOME').
O truque acima funcionará com qualquer aplicativo de terminal que suporte a alteração dinâmica do título da janela (que iTerm, Terminal.app, urxvt, aterm, eTerm. Xterm etc.). Você também pode procurar na variável de shell "TITLEBAR" na documentação do bash, é semelhante.
fonte
Isso deve funcionar em qualquer shell, mas é um hack .screenrc sujo. Ele assume o controle da linha de status mais difícil, o que pode ser inaceitável para alguns usuários. Mas ele funciona no gnome-terminal no Ubuntu mais recente, mesmo sem a linha termcapinfo abaixo. Algumas situações podem exigir ajustes mais profundos (não testei no PuTTY, por exemplo).
Encontrado neste link .
fonte
fonte
screen
hardstatus
variável de tela definida adequadamente e o termcap / terminfo suportahs|ts|fs|ds
.Esta página (que foi vinculada acima) é a solução, no entanto, você precisa garantir que a sequência de terminais da entrada esteja alinhada com a sequência de identificação do seu terminal (ou seja, com o que a variável TERM está configurada), caso contrário não terá nenhum efeito.
Aqui está um resumo do que fiz, que funcionou para mim depois de anos sem investir tempo suficiente para descobrir isso:
Descubra qual é a cadeia de caracteres de identificação do seu terminal executando:
Provavelmente dirá algo como 'xterm' ou 'linux' ou 'rxvt'.
Agora adicione a seguinte linha ao seu arquivo .screenrc (ou crie um, se não existir), localizado no seu homedir (~ / .screenrc):
A chave é garantir que 'xterm' seja a string de ID do seu TERM que você obteve acima. Você pode criar várias linhas para cada tipo de termo diferente usado.
Por exemplo, eu tenho isso como meu arquivo .screenrc porque eu uso o xterms e o tipo de termo 'linux' quando carrego em uma caixa:
Espero que isso ajude e seja totalmente independente de shell. Lembre-se, se você executar a tela como root, precisará modificar o ~ root / .screenrc, além do seu próprio arquivo ~ / .screenrc, como este.
fonte
As instruções aqui me permitiram atualizar o título no rxvt do bash para mim - o que provavelmente não ajuda em nada, mas achei que poderia valer a pena investigar (seção Barra de status informativa se o link não pular para a parte direita da página)
fonte