C'est un peu un suivi de cette question . Je travaille dans tcsh dans l' écran GNU dans un xterm .
J'ai ce qui suit dans mon .cshrc:
alias res_t 'xtset -t %h:%d "(%u:%g)" %e' # reset titlebar
res_t # reset title right now
alias precmd res_t
Et cela fonctionne bien!
Cependant, lorsque je lance l'écran, je vois que le titre n'est pas mis à jour avec le répertoire actuel. Comment faire pour mettre à jour l'écran le titre xterm?
gnu-screen
xterm
tcsh
Nathan Fellman
la source
la source
Réponses:
Vous pouvez définir le titre de la fenêtre xterm en l'ajoutant à votre
.tcshrc
ou.cshrc
(remplacez votreprecmd
alias actuel ):Assurez-vous qu'il s'agit du seul alias precmd dans vos fichiers
.cshrc
et.tcshrc
lorsque vous l'utilisez. Cette méthode affiche le répertoire actuel comme le titre de la fenêtre pour moi dans les deux xterm a gnome-terminal, qu'une session d'écran GNU soit ouverte ou non.Ma réponse était basée sur cela .
la source
Je comprends que vous utilisez tcsh, donc cela ne fonctionnera probablement pas ... Juste au cas où quelqu'un chercherait le moyen bash de le faire.
Si vos systèmes (local / distant) exécutent bash, vous pouvez utiliser la variable d'environnement "PROMPT_COMMAND" pour définir le titre de la fenêtre. PROMPT_COMMAND est évalué avant qu'une invite ne s'affiche.
(dans votre .bashrc):
Explication:
Cela définit le shell à ajouter au fichier d'historique chaque fois qu'une commande est terminée, plutôt que lorsque le shell entier est terminé. (Ceci n'est pas lié à cet exemple).
Cela fait écho au code d'échappement "\ 033] 0;" qui définit le titre de la fenêtre avec les variables "user" @ "host" (en supprimant la correspondance la plus longue de droite à la première ".") puis le répertoire de travail (en remplaçant '~' par '$ HOME').
L'astuce ci-dessus fonctionnera avec toute application de terminal qui prend en charge le changement dynamique du titre de la fenêtre (ce que font iTerm, Terminal.app, urxvt, aterm, eTerm. Xterm, etc.). Vous pouvez également consulter la variable shell "TITLEBAR" dans la documentation bash, elle est similaire.
la source
Cela devrait fonctionner dans n'importe quel shell, mais c'est un hack .screenrc sale. Il reprend la ligne de votre hardstatus pour fonctionner, ce qui peut être inacceptable pour certains utilisateurs. Mais cela fonctionne dans gnome-terminal sur le dernier Ubuntu, même sans la ligne termcapinfo ci-dessous. Certaines situations peuvent nécessiter des ajustements plus profonds (je n'ai pas testé sur PuTTY, par exemple).
Trouvé sur ce lien .
la source
la source
screen
hardstatus
variable d' écran soit correctement définie et que termcap / terminfo soit pris en chargehs|ts|fs|ds
.Cette page (qui a été liée ci-dessus) est la solution, mais vous devez vous assurer que la chaîne de terminal de l'entrée s'aligne avec la chaîne d'identification de votre terminal (c'est-à-dire ce à quoi la variable TERM est définie) sinon elle n'aura aucun effet.
Voici un résumé de ce que j'ai fait, qui a fonctionné pour moi après des années à ne pas investir suffisamment de temps pour comprendre cela:
Découvrez quelle est la chaîne d'ID de votre terminal en exécutant:
Il dira probablement quelque chose comme «xterm» ou «linux» ou «rxvt».
Ajoutez maintenant la ligne suivante à votre fichier .screenrc (ou créez-en un s'il n'existe pas) situé dans votre homedir (~ / .screenrc):
La clé est de vous assurer que 'xterm' est la chaîne d'ID de votre TERM que vous avez obtenue ci-dessus. Vous pouvez créer plusieurs lignes pour chaque type de terme différent que vous utilisez.
Par exemple, je l'ai comme fichier .screenrc car j'utilise à la fois xterms et le type de terme 'linux' lorsque SShing dans une boîte:
J'espère que cela aide et est totalement agnostique à la coquille. N'oubliez pas que si vous exécutez screen en tant que root, vous devrez modifier ~ root / .screenrc en plus de votre propre fichier ~ / .screenrc comme celui-ci.
la source
Les instructions ici m'ont permis de mettre à jour le titre dans rxvt de bash pour moi - ce qui n'est peut-être d'aucune aide mais j'ai pensé que cela valait la peine d'être étudié (section Barre d'état informative si le lien ne saute pas à la droite de la page)
la source