J'ai personnalisé mon invite ZSH avec oh-my-zsh pour le rendre plus lisible et ajouter des informations sur git si je me trouve dans un référentiel.
Exemple :bob@inf [~/docs] %
bob@inf [~/src/nicest] master %
(dans un dépôt git)
Cela fonctionne bien, mais j'ai quelques bugs avec tmux
et le nom de la fenêtre. Il affiche toujours une valeur non sens et je ne peux pas le désactiver avec automatic-rename off
(cela ne fonctionne tout simplement pas, le nom de la fenêtre change après chaque commande). Pour le premier exemple, tmux utilise ~/docs
pour le nom de la fenêtre.
Je ne suis pas sûr de la façon dont je peux résoudre le problème. J'aimerais conserver mon invite de commande zsh tel qu'il est, si je peux apporter des modifications, mais j'aimerais comprendre où se situe le problème?
Une autre solution consiste peut-être à redéfinir la commande settile
(from this answer ), mais je ne sais pas comment le faire de la bonne façon.
J'ai jeté un coup d'oeil à oh-my-zsh et ai trouvé un probablement suspect .
Lorsque la valeur de la variable d’environnement TERM commence par screen
(qu’il convient de placer sous , écran et tmux ), il utilise une séquence de contrôle terminal écran pour définir le nom de la fenêtre sur
..
suivi des 13 derniers caractères ou du chemin complet s'il contient moins de 15 caractères) etssh
name__, Sudo
et quelques autres).Il semble que cela fonctionne de cette façon pour vous (vous avez dit que votre fenêtre nommée avait été changée en ~/docs
lorsque vous vous trouviez dans ce répertoire). Si vous souhaitez désactiver ce changement de nom automatique, vous pouvez le désactiver complètement en définissant le paramètre Shell DISABLE_AUTO_TITLE sur true
dans votre .zshrc
:
DISABLE_AUTO_TITLE=true
Si vous définissez simplement cela dans un shell interactif, vous obtiendrez une chaîne vide pour le nom de la fenêtre en cours, mais oh-my-zsh arrêtera de mettre à jour la fenêtre avant chaque invite et chaque commande dans cette instance de shell (elle doit figurer dans votre .zshrc
pour affecter toutes les nouvelles instances de Shell).
Je sais que la réponse ci-dessus vous donne une solution, mais une autre consiste à ajouter simplement cette option à votre ~/.tmux.conf
set-option -g allow-rename off
J'ai rencontré le même problème, c'est-à-dire que le nom de la fenêtre de tmux a été modifié même en configurant le fichier .tmux.conf:
set-window-option -g automatic-rename off
Merci la réponse de Chris. Le nom de ma fenêtre tmux n’a pas été renommé automatiquement après avoir changé:
set -g default-terminal "screen-256color"
à:
set -g default-terminal "xterm-256color"
Si vous souhaitez désactiver le changement de nom automatique uniquement pour certaines fenêtres, vous pouvez utiliser:
set -t [WINDOW_NUMBER] automatic-rename off
Désactivez le renommage automatique dans une fenêtre spécifique d'une autre session:
set -t [SESSION]:[WINDOW_NUMBER] automatic-rename off