2 votes

Comment définir le répertoire de travail comme titre de l'onglet dans Terminal pour Mac ?

L'un de mes Macs fonctionne sous Mac OS Mojave et, par souci de parité avec ma machine Catalina, j'ai remplacé l'interpréteur de commandes par zsh. Je ne sais pas exactement quand, mais à un moment donné, j'ai remarqué que le répertoire de travail actuel n'était jamais affiché, que ce soit dans l'invite elle-même ou dans le titre de l'onglet.

J'ai trouvé un moyen de restaurer le titre de l'invite en ajoutant ceci à mon ~/.zprofile fichier : PROMPT='%~ ' . Cependant, je n'ai pas réussi à rétablir le nom du répertoire dans le titre de l'onglet :

Terminal window with tabs

C'est assez frustrant lorsque l'on a affaire à plusieurs onglets, comme c'est le cas quotidiennement. Il me semble que tous les paramètres du terminal sont corrects :

Terminal Preferences

Ai-je raté quelque chose ou ai-je rencontré un bug étrange ?

3voto

Gordon Davisson Points 30215

Solution : Copier les fichiers d'installation de zsh ( /etc/zshrc y /etc/zshrc_Apple_Terminal ) d'un système Catalina vers l'ancien système (de préférence après avoir sauvegardé le(s) équivalent(s) original(aux)).

Je n'ai pas testé cela dans Mojave, mais je l'ai fait dans High Sierra, et cela fonctionne très bien.

Explication du problème : pour définir le titre de la fenêtre ou de l'onglet du terminal, il faut exécuter du code (par exemple une fonction de l'interpréteur de commandes) pour envoyer les séquences d'échappement appropriées, la version codée du nom du répertoire, etc. au terminal. Dans les anciennes versions de MacOS, ceci était géré dans bash en ayant /etc/bashrc courir /etc/bashrc_Apple_Terminal qui définit une fonction et un ensemble appropriés PROMPT_COMMAND pour indiquer à bash de l'exécuter à chaque fois qu'il demande une nouvelle commande. Mais comme zsh n'était pas l'interpréteur de commandes par défaut, Apple n'a pas pris la peine de créer l'équivalent de setup scripts pour zsh.

Dans Catalina, zsh est le shell par défaut, ils ont donc écrit des étapes d'installation analogues et les ont ajoutées à l'interface utilisateur. /etc/zshrc y /etc/zshrc_Apple_Terminal . Les mécanismes sont différents (par exemple, zsh utilise add-zsh-hook precmd au lieu de la PROMPT_COMMAND ), mais elle fait essentiellement la même chose. Ces fichiers ne dépendent d'aucun élément de Catalina ; vous pouvez simplement les copier sur des systèmes plus anciens et ils devraient fonctionner de la même manière que dans Catalina.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X