Como mudar o título do terminal Terminator, ZSH no Debian?

14

Não sei se devo perguntar aqui ou no unix.stackexchange.com, encontrei essa pergunta aqui .

Minha pergunta é semelhante, eu quero mudar o título de um terminal, estou usando uma distribuição baseada em Debian, Terminator e ZSH, oh-my-zsh, o título estava bom com bash, mas quando mudei para ZSH, ele mostra /bin/zshcomo título.

Lynob
fonte
@ DaniëlW.Crompton realmente? é um idiota? se assim for, vou fechá-lo agora, vinculei-me a essa pergunta, então sei que está lá, mas não sabia que é um idiota porque estou usando um sistema operacional e um emulador diferentes
Lynob
Você experimentou o que foi aconselhado na pergunta à qual vinculou?
Daniël W. Crompton
2
@ DaniëlW.Crompton sim, echo -ne "\e]1;this is the title\ae echo -ne "\e]1;$PWD\a"não faça erros dar, mas não funciona, eu tentei desmarcando tudo menos im faltando alguma coisa
Lynob
1
Você tentou echo -ne "\ e] 0; $ PWD \ a" com 0 em vez de 1?
Daniël W. Crompton

Respostas:

13

Você define o título da janela com as seqüências de escape xtem. Na maioria das implementações, a primeira funciona melhor:

echo -en "\e]0;string\a" #-- Set icon name and window title to string
echo -en "\e]1;string\a" #-- Set icon name to string
echo -en "\e]2;string\a" #-- Set window title to string

EDIT: O texto acima apenas define o título uma vez. Para configurar o zsh para sempre exibir a picada no título, adicione o seguinte ao seu .zprofileno diretório inicial:

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac
Daniël W. Crompton
fonte
2
eu disse anteriormente echo -ne "\e]0;$PWD\a"obras, mas quando eu sair shell, ele pára de funcionar ... Eu tentei você digitou na resposta e eu recebo zsh: command not found: stringae zsh: command not found: e]1e assim por diante, todos eles
Lynob
1
Atualizado a resposta
Daniël W. Crompton
Para substituir o diretório inicial dentro de $ PWD por ~eu usei precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(shell Z)
Maksym Ganenko
13

O seguinte funcionou para eu renomear cada guia no gnome-terminal. Eu adicionei o seguinte código ao meu arquivo ~ / .zshrc .

precmd () { print -Pn "\e]0;$TITLE\a" }
title() { export TITLE="$*" }

Isso cria uma função de título para renomear cada guia.

Observe que, se você estiver usando oh-my-zsh , precisará desativar o comando de título automático. Você pode fazer isso descomentando esta linha no seu arquivo ~ / .zshrc :

DISABLE_AUTO_TITLE="true"
Steve
fonte
5
DISABLE_AUTO_TITLE = "true" fez o truque para mim. Obrigado.
Rakesh Gopal
4

Isso deve funcionar independentemente do shell usado:

printf "\033];%s\07\n" "hello world"
jlliagre
fonte
2

Respostas anteriores não funcionaram para mim. Não sem alguns soluços (nem sempre atualizados ou algo assim). Pode ser devido ao fato de eu ter ZSH, sem oh-my-zsh. Felizmente eu aprendi chpwd, então:

chpwd() {
  [[ -t 1 ]] || return
  case $TERM in
    sun-cmd) print -Pn "\e]l%~\e\\"
      ;;
    *xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
      ;;
  esac
}
  1. chpwd é chamado toda vez que o diretório é alterado.
  2. Na primeira vez em que você inicia o xterm (ou outros), isso não conta como alteração de diretório, então coloque a chamada chpwd diretamente em .zshrc

Como eu não uso oh-my-zsh , não sei se funciona lá, mas, a menos que eles tenham sido alterados e substituídos chpwd(nesse caso, você substituirá o sobrescrito: D), deve.

LAFK diz Restabelecer Monica
fonte
-1

Bem, você pode criar um script que abre uma janela e define o nome para o que você deseja. Execute o script para abrir a janela com seu nome. Você também pode definir a posição X, Y e o tamanho da janela. Você pode criar vários e ter janelas nomeadas para todas as ocasiões.

cliff2310
fonte
//, Tem algo um pouco mais específico?
Nathan Basanese 15/03/19
Faz mais de 12 anos desde que escrevi esses scripts. Não quero dar informações ruins, mas acho que tudo isso foi feito usando as opções do xterm. Verifique a página MAN do xterm para obter mais informações. Posso ter os scripts em algum lugar, mas Harvey deixou todo o meu disco antigo em uma pilha onde eles foram despejados para tirá-los do perigo. Quando os reparos estiverem concluídos, talvez eu possa atualizar isso.
precisa saber é o seguinte