Forum général.cherche-logiciel Screen : le hostname !

Posté par  .
Étiquettes : aucune
0
30
mar.
2006
Bonjour tout le monde,

J'ai beau eu cherche, je n'ai pas trouvé la réponse à ma question : comment afficher, dans GNU Screen, le nom du hostname surlequel on travaille ?

J'ai bien rajoutter un %H pour la commande hardstatus et/ou caption dans mon .screenrc mais lorsque je me connecte en SSH sur une machine distante, c'est toujours le nom local qui s'affiche...

Any idea ?
  • # Je sais !

    Posté par  (site web personnel) . Évalué à -10.

    Je le sais, je t'aurais bien dit la réponse, mais je ne répond que dans les forums.
  • # Je ne sais pas !

    Posté par  (site web personnel) . Évalué à 2.

    Mais perso, c'est mon shell qui affiche le hostname. J'utilise zsh (c'est %m si je me souviens bien) il doit y avoir un équivalent pour les autres
  • # Une solution

    Posté par  . Évalué à 2.

    Voici la ligne présente dans mon .screenrc ((c) Bennyben):

    hardstatus alwayslastline "%{b kB}[%{s gB}%c%{b kB}] %{b kR}%H %{b kB}[%{s yB}%l%{b kB}] %{b kB}[%{rs Y}%-Lw%{BY}%50>%n%{R}%f%{B} %t%{YB}%+Lw%<"

    Cette ligne est présente dans tous les "écrans" de Screen et affiche de gauche à droite:
    - L'heure locale de la machine
    - le hostname
    - le load average
    - l'ensemble des écrans Screen
    • [^] # Re: Une solution

      Posté par  . Évalué à 0.

      J'ai testé ta configuration. Cependant, une fois connecté en ssh sur "serveur" (qui le \h dans son PS1), j'ai toujours le hostname de la machine à partir de laquelle j'ai lancé screen.
      • [^] # Re: Une solution

        Posté par  . Évalué à 3.

        Bah c'est normal ça... screen ne va pas aller vérifier quels programmes tu lances, et se faire chier à savoir sur quelle machine tu es connecté si le programme est ssh. Si screen tourne sur une machine, il affiche le hostname de cette machine, point.
      • [^] # Re: Une solution

        Posté par  . Évalué à 1.

        D'accord je comprends maintenant ton problème ... je dois avouer que ce n'était pas limpide à la première lecture ;)

        En ce qui me concerne, je me connecte en SSH à un serveur et ENSUITE je lance Screen. Dans ce cas mon exemple fonctionne.

        Pour toi ... mmmhhh ... tu change tes habitudes et tu suis mon exemple ?

        ====-------> [ ]
        • [^] # Re: Une solution

          Posté par  . Évalué à 2.

          oui mais non. Car il a plusieurs centaines de serveurs auxquels je me connecte chaque jour !

          En gros, l'objectif, c'est d'avoir un tab (une fenêtre Screen) par serveur (plus ou moins) :)
  • # un truc comme ca ?

    Posté par  . Évalué à 1.

    $ type ssh
    ssh is a function
    ssh ()
    {
    if [ $(hostname) == $(echo $MY_HOST | cut -d. -f1) ]; then
    NAME=$(echo $1 | cut -d. -f1);
    screen -c $MY_HOME/perso/conf/.screenrc -t $NAME $SSH $1;
    else
    $SSH $1;
    fi
    }


    ... quand tu tapes ssh hostname.bar.foo , ça ouvre un nouvel onglet dans screen avec le nom de ton user@hostname ... www.chezmoicamarchedepuislongtemps.org

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.