Comment puis-je définir le titre de la fenêtre de PuTTY sur le nom de la session chargée?

28

Normalement, lorsque vous chargez une session enregistrée dans PuTTY et que vous vous y connectez, PuTTY définit le titre de la fenêtre sur le nom d'hôte du système auquel vous vous êtes connecté (plus la chaîne "PuTTY").

Maintenant, j'ai de nombreuses sessions différentes qui se connectent toutes au même hôte, mais sur des ports différents (car l'hôte exécute plusieurs tunnels SSH sur différents ports). Par conséquent, voir le nom d'hôte n'est pas très utile, car il est toujours le même.

Je voudrais donc que PuTTY affiche le nom de la session chargée dans le titre de la fenêtre. Y a-t-il un moyen de faire cela?

La seule façon que j'ai pu trouver est de définir le titre de la fenêtre manuellement (Fenêtre / Comportement / Titre de la fenêtre). Mais je pense que je devrais le faire manuellement pour chaque session, ce qui est plutôt fastidieux.

sleske
la source
1
Kitty est le meilleur client telnet / SSH (fork de Putty) et vous pouvez définir le titre de la fenêtre à partir de la ligne de commande par l'option "-title".
Mareg

Réponses:

16

Pour modifier le titre de la fenêtre de session PuTTY SSH (un par un manuellement par l'interface graphique PuTTY):

Pour Windows et Debian

  1. Load une session de PuTTY.
  2. Dans le menu d'arborescence de gauche, cliquez sur: WindowBehaviour.
  3. Dans le panneau de droite, Window titlesaisissez votre titre dans la zone de texte.
  4. Save la session.

Pour modifier le titre de la fenêtre de session PuTTY SSH (pour toutes les sessions par ligne de commande):

Pour Debian 8 (Jessie)

  1. Accédez au dossier où PuTTY stocke les sessions: /home/nolwennig/.putty/sessions

    Remarque: remplacez nolwennig par votre nom d'utilisateur

  2. Attribuez au paramètre WinTitlele nom du fichier de session enregistré pour chaque fichier de session enregistré avec quelque chose comme ceci:

    find . -type f -exec sed -e 's/^WinTitle=/WinTitle=%f/g' {} \;

    Cela fonctionne bien si aucun WinTitle n'est enregistré

Pour les fenêtres

  1. PuTTY stocke les sessions dans le registre Windows HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Remarque: ne remplacez pas SimonTatham votre nom d'utilisateur.

  2. Vous pouvez exporter cette section avec une commande comme celle-ci:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. Il doit être possible de créer un script qui met à jour le putty-registry-sessions.regfichier pour modifier la valeur de WinTitle pour chacune des sessions enregistrées.


Sources et inspirations:

Nolwennig
la source
Je sais que je peux le faire - c'est mentionné dans ma question, ainsi que pourquoi je cherche une solution différente.
sleske
Je mets à jour ma réponse avec un petit script
Nolwennig
1
Bonne idée avec le script. Cependant, AFAIK, Putty stocke par défaut les sessions dans le registre Windows. Si le vôtre utilise des fichiers, vous utilisez probablement une version modifiée (bien qu'elle puisse toujours fonctionner en exportant / important la configuration). Pourriez-vous le mentionner dans la réponse?
sleske
Je suis sur Debian8 ici, j'ajoute l'emplacement de stockage des sessions Putty pour Windows dans ma réponse mais je ne peux pas écrire / tester de script pour ça maintenant: (
Nolwennig
1
Oh, c'est vrai, j'ai oublié que PuTTY a aussi une version Linux. Quoi qu'il en soit, belle réponse, merci.
sleske
44

La solution ci-dessous semble résoudre ce problème.

1) Accédez au paramètre Fenêtre / Comportement / Titre de fenêtre susmentionné et insérez un titre qui vous convient.

2) Accédez aux paramètres du terminal / fonctionnalités et cochez la case Désactiver le changement de titre de la fenêtre télécommandée .

Réglage 1

Réglage 2

Andy
la source
4
Bien que cela puisse répondre à la question, il est préférable de résumer la réponse ici, car les liens disparaissent avec le temps.
Ladadadada
2
Voici la procédure décrite sur ce site: Dans la fenêtre de configuration de la session de mastic, cochez la case intitulée "Désactiver le changement de titre de la fenêtre télécommandée" située sous Terminal-> Fonctionnalités. Donnez ensuite un nom à votre fenêtre de session via la boîte de dialogue Fenêtre-> Comportement. Entrez le titre dans la zone de texte intitulée "Titre de la fenêtre:"
BdN3504
1
Cela devrait être la réponse. +1
Kulasangar
3
Cela aurait dû être la réponse acceptée. Sans ce deuxième point, mon titre ne cessait de se réinitialiser dès que j'appuyais sur la touche Entrée. (hôte: Windows, serveur distant: Ubuntu Server 16.04 LTS)
Zeeshan
16

Cette fonction définira le titre de votre fenêtre PuTTY sur la chaîne donnée:

# Set title
title() {
  echo -ne "\033]0;"$1"\007"
}

Vous pouvez l'utiliser pour définir le titre à partir de la ligne de commande ou à partir de scripts, par exemple à partir de .bashrc.

Thomas Stuefe
la source
1
Pourquoi ça marche?
Tchad
Juste une petite note; Vous devez toujours ensemble "Disable remote-controlled window title changing"sousTerminal->Features
244an
Vous voudrez peut-être utiliser la printfcommande à la place.
MUY Belgium
Pourquoi ça marche? : ESC ] 0 ; txt STDéfinissez le nom de l'icône et le titre de la fenêtre sur txt.
Koshinae
3

Je cherchais comment coller les titres des fenêtres lors de l'utilisation de PuTTY avec des fichiers de session.

Donc .putty/sessions/ServerX, définissez un titre par défaut et aucun comportement à distance comme:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

Et pour lui donner un titre spécial dans un but particulier, remplacez simplement la valeur par défaut:

putty -load .putty/sessions/ServerX -title "ServerX:/var/log/messages"
DCG
la source
2

La seule autre voie à ma connaissance consiste à utiliser les fonctionnalités d'émulation xterm pour définir le titre à partir du système auquel vous êtes connecté (sur Red Hat Linux et SUSE Linux, l'invite Bash est écrite dans la barre de titre par défaut).

Voir cette page pour une description du processus et de la séquence d'échappement appropriée.

symcbean
la source
Je l'ai trouvé en version française: traduc.org/Guides_pratiques/Suivi/Xterm-Title/Document
Nolwennig
0

Vous pouvez utiliser l' -loghost "title"option dans Windows - elle ouvre PuTTY avec le nom de titre spécifié . Cela change également d'autres choses, alors veuillez vérifier si cela ne vous pose aucun problème.

Je l'utilise avec VIRL, et cela fonctionne parfaitement bien.

Marceli
la source
0

Sous Windows, cela définira le titre de la fenêtre de chaque session sur le même nom de la session:

FOR /F "tokens=6 delims=\" %i IN ('reg query HKCU\Software\Simontatham\PuTTY\Sessions') DO reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_SZ /v WinTitle /d %i /f & reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_DWORD /v NoRemoteWinTitle /d 1 /f
user517940
la source
-1

Sous Windows, cette ligne cmd définira le titre de la fenêtre de chaque session sur le même nom de la session elle-même:

FOR /F "tokens=6 delims=\" %i IN ('reg query HKCU\Software\Simontatham\PuTTY\Sessions') DO reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_SZ /v WinTitle /d %i /f & reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_DWORD /v NoRemoteWinTitle /d 1 /f
Giuseppe Costanzo
la source