Comment changer le titre du terminal du titre Terminator, ZSH sur Debian?


14

Je ne sais pas si je devrais le poser ici ou sur unix.stackexchange.com, j'ai trouvé cette question ici .

Ma question est similaire, je veux changer le titre d'un terminal, j'utilise une distribution basée sur Debian, Terminator et ZSH, oh-my-zsh le titre était bien avec bash, mais quand je suis passé à ZSH, il apparaît /bin/zshcomme Titre.


@ DaniëlW.Crompton vraiment? c'est dupe? si c'est le cas, je vais le fermer maintenant, j'ai lié à cette question, donc je sais que c'est là, mais je ne savais pas que c'était dupe parce que j'utilise un système d'exploitation et un émulateur différents
Lynob

Avez-vous essayé ce qui a été conseillé dans la question à laquelle vous avez lié?
Daniël W. Crompton

2
@ DaniëlW.Crompton oui, echo -ne "\e]1;this is the title\aet echo -ne "\e]1;$PWD\a"ne donne pas d'erreurs mais ne fonctionne pas, j'ai essayé de tout décocher sauf si je manque quelque chose
Lynob

1
Avez-vous essayé echo -ne "\ e] 0; $ PWD \ a" avec un 0 plutôt que 1?
Daniël W. Crompton

Réponses:


13

Vous définissez le titre de votre fenêtre avec les séquences d'échappement xtem, dans la plupart des implémentations, la première fonctionnera mieux:

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: Ce qui précède ne définit le titre qu'une seule fois. Pour que zsh affiche toujours la piqûre dans le titre, ajoutez ce qui suit à votre .zprofiledans votre répertoire personnel:

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac

2
je l' ai dit plus tôt les echo -ne "\e]0;$PWD\a"travaux , mais quand je shell sortie, il cesse de travailler ... J'ai essayé vous avez tapé dans la réponse et je reçois zsh: command not found: stringaet zsh: command not found: e]1et ainsi de suite, tous
Lynob

1
Mise à jour de la réponse
Daniël W. Crompton

Pour remplacer le répertoire personnel de $ PWD par celui que ~j'ai utilisé precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(shell Z)
Maksym Ganenko

13

Ce qui suit a fonctionné pour moi de renommer chaque onglet dans gnome-terminal. J'ai ajouté le code suivant à mon fichier ~ / .zshrc .

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

Cela crée une fonction de titre pour renommer chaque onglet.

Remarque, si vous utilisez oh-my-zsh, vous devrez désactiver sa commande de titre automatique. Vous pouvez le faire en décommentant cette ligne dans votre fichier ~ / .zshrc :

DISABLE_AUTO_TITLE="true"

5
DISABLE_AUTO_TITLE = "true" a fait l'affaire pour moi. Je vous remercie.
Rakesh Gopal

4

Cela devrait fonctionner quel que soit le shell utilisé:

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

2

Les réponses antérieures n'ont pas vraiment fonctionné pour moi. Pas sans quelques hoquets (pas toujours rafraîchis ou quelque chose). Cela peut être dû au fait que j'avais ZSH sans oh-my-zsh. Heureusement, j'ai appris chpwd, alors:

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 est appelé à chaque changement de répertoire.
  2. la première fois que vous lancez xterm (ou autres), cela ne compte pas comme un changement de répertoire, alors mettez l'appel chpwd directement dans .zshrc

Comme je n'utilise pas oh-my-zsh , je ne sais pas si cela fonctionne là-bas, mais à moins qu'ils n'aient changé et écrasé chpwd(auquel cas vous écraserez leur écrasement: D), cela devrait.


-1

Eh bien, vous pouvez créer un script qui ouvre une fenêtre et définit le nom comme vous le souhaitez. Exécutez le script pour afficher la fenêtre avec votre nom. Vous pouvez également définir la position X, Y et la taille de la fenêtre. Vous pouvez en créer plusieurs et avoir des fenêtres nommées pour chaque occasion.


//, vous avez quelque chose d'un peu plus spécifique?
Nathan Basanese

Cela fait plus de 12 ans que j'ai écrit ces scripts. Je ne veux pas donner de mauvaises informations mais je pense que tout cela a été fait en utilisant les options de xterm. Consultez la page MAN pour xterm pour plus d'informations. J'ai peut-être les scripts quelque part, mais Harvey a laissé tout mon ancien disque dans une pile où ils ont été jetés pour les mettre hors de danger. Une fois les réparations terminées, je pourrai peut-être les mettre à jour.
cliff2310
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.