en ce moment j'utilise un code perl d'une ligne pour changer les titres de mes barres de terminal,
print("\e]0;@ARGV\7");
mais à chaque fois que je ssh vers une autre machine distante, le titre sera modifié par l'hôte (ce qui ne me dérange pas particulièrement). Mais après avoir quitté la connexion, le titre modifié reste. Y'a t'il un moyen d'arranger cela? essentiellement, je veux un titre fixe pour mes terminaux lors d'un fonctionnement local.
J'utilise principalement le terminal et le terminateur xfce sous CentOS ou Debian. Merci.
ÉDITER
Une autre subtilité est que, plutôt que d'avoir tous les terminaux du même nom, je préférerais avoir la liberté de modifier leurs titres à la volée mais d'interdire uniquement à la session SSH de modifier ce que j'ai modifié.
Solution: ajoutez des fonctions ~ / .bashrc pour faire quelque chose après les commandes ssh et su
Remarque: redémarrez bash après les modifications dans ~ / .bashrc
Exemple:
J'espère que cela pourra aider.
la source
revert
car vous ne vérifiez pas ce que c'était avant ... si vous avez interrogé et enregistré la valeur précédente tho ;-)Configurez votre fichier dot shell local (par exemple
$PROMPT_COMMAND
dans~/.bashrc
) pour définir le titre du terminal de manière appropriée, en utilisant le même mécanisme.Par exemple:
la source
export PROMPT_COMMAND="printf '\e]0;\7\n'"
), votre émulateur de terminal peut définir le titre de la fenêtre comme bon lui semble. Lorsque vous SSH vers un hôte distant qui définit le titre du terminal, votre émulateur de terminal affiche ce titre et lorsque vous vous déconnectez, il revient à utiliser son propre titre. C'est du moins ainsi que fonctionne l'application macOS Terminal.AJOUTEZ ces lignes à ~ / .bashrc
fonctionne bien avec les linux basés sur Debian
la source
PROMPT_COMMAND
plutôt que d'utiliserPS1
, car vous n'avez pas à inclure le\[ \]
bracketing et cela peut éliminer certains guillemets.Une solution consiste à changer la variable de terminal en vt100 avant ssh'ing, par exemple exécuter
Cela fonctionne car généralement les scripts d'initialisation regardent la variable de terminal et ne la modifient que le titre c'est xterm. Vous perdez des écrans, des couleurs et peut-être d'autres fonctionnalités fantaisistes que vous apprécierez ou non.
Si vous souhaitez conserver le terminal local en tant que xterm, alias ssh pour modifier la variable de terminal à la volée, comme
la source
J'ai résolu ce problème en l'ajoutant à ma PS1 dans mon fichier .bashrc.
Par conséquent, toute la ligne ressemble à ceci (j'ai personnalisé mon PS!:
J'espère que cela aide les autres.
la source
export PS1='\[\033]0;\007\]\h:\W \u\$ '
), votre émulateur de terminal peut définir le titre de la fenêtre comme bon lui semble. Lorsque vous SSH vers un hôte distant qui définit le titre du terminal, votre émulateur de terminal le montrera et lorsque vous vous déconnecterez, il reviendra à l'utilisation de son propre titre. C'est du moins ainsi que fonctionne l'application macOS Terminal.D'autres réponses ne fonctionneraient pas pour moi lorsque je quitte SSH, mais elles me rapprochent. L'ajout de renommage automatique de setw fonctionne lorsque je quitte la session ssh distante afin qu'il se renomme automatiquement et n'ait plus à quitter la fenêtre pour réinitialiser. [Jan. 2018 - Debian 9]
la source