Forum Linux.général Ajuster un screen -x à la taille du terminal ?

Posté par  .
Étiquettes : aucune
0
9
jan.
2010
Salut,

Nous sommes plusieurs à partarger un screen. Forcement, tout le monde a un terminal avec des dimensions (largeur, longueur) différentes.

Or par défaut, screen ne s'ajuste pas automatiquement à la taille du terminal quand on fait screen -x ; il faut lui préciser ctrl+a F pour qu'il le remplisse correctement.

Forcement, y'en a toujours pour trouver fastidieux de taper le raccourci clavier… en regardant le man j'ai pas trouvé de paramètre pour éviter le ctrl+a F. Ça existe ?
  • # ~/.screenrc

    Posté par  . Évalué à 1.

    Mais ils vont trouver fastidieux de rajouter la commande "fit".
    • [^] # Re: ~/.screenrc

      Posté par  . Évalué à 1.

      Comme indiqué plus bas, ça ne marche pas, l'affichage reste tronqué et il faut faire ctrl+a F. Je me suis planté quelque part ?
  • # Detach/Reattach

    Posté par  (Mastodon) . Évalué à 1.

    screen -D -r
    • [^] # Re: Detach/Reattach

      Posté par  . Évalué à 1.

      J'ai expliqué plus bas le détail de ce que je souhaite faire. Je souhaite si possible garder l'affichage dans mon screen, d'où le screen -x.
  • # Option -A

    Posté par  . Évalué à 1.

    Tout est dans le titre, je crois que l'option -A fais ce que tu veux...
    -A Adapt the sizes of all windows to the size of the current terminal.
    • [^] # Re: Option -A

      Posté par  . Évalué à 1.

      Je pense que je n'ai pas assez détaillé mon cas d'utilisation.

      Je veux lancer un programme, mettons la commande cmd, qui va servir à plusieurs utilisateurs d'une machine distante. Je suis obligé de centraliser et d'avoir une seule instance de cmd pour des raisons de ressources. Malgré tout, certains utilisateurs ont besoin de regarder l'écran de cmd.

      J'ai donc crée un utilisateur bidon, nommons-le user. Je lance cmd dans un screen en tant qu'user (via un alias) :

      chmod o+rw `env |grep pts |sed 's|SSH_TTY=||'` ; sudo -u user HOME=/home/user screen -fn -m cmd ; chmod o-rw `env |grep pts |sed 's|SSH_TTY=||'`
      La partie intéressante c'est la suivante :

      sudo -u user HOME=/home/user screen -fn -m cmd
      Le reste est là parce que je ne lance pas screen cmd en tant qu'user, mais avec sudo à partir de mon utilisateur normal. Donc je dois chmod o+rw le bon /dev/pts/X avant sinon screen refuse de se lancer.

      Ensuite j'ai crée un alias pour que les utilisateurs puissent voir l'écran de cmd :

      alias voir_cmd='chmod o+rw `env |grep pts |sed 's|SSH_TTY=||'` ; sudo -u user screen -x ; chmod o-rw `env |grep pts |sed 's|SSH_TTY=||'`'
      Et mon problème, c'est que je souhaite garder un screen -x ouvert pour visionner l'affichage et que mon terminal est relativement 'petit'. Donc quand un autre utilisateur se connecte et fais screen -x, son affichage est tronqué. Moi ça me dérange pas de faire ctrl+a F quand quelqu'un d'autre a changé les dimensions du screen. Mais je voudrais que lorsqu'ils tapent « voir_cmd », ils aient si possible un affichage adapté à leur terminal.

      J'ai essayé de mettre la ligne « fit » dans ~user/.screenrc, ça ne change rien. J'ai essayé de modifier la commande de lancement en ajoutant -A :

      sudo -u user HOME=/home/user screen -fn -A -m cmd
      ça ne change rien non plus.

      Il y aurait une autre option. Est-ce qu'il ne serait pas possible que screen se contente de ne pas afficher ce qui ne rentre pas sur mon « petit » terminal au lieu de le tronquer ?
      • [^] # Re: Option -A

        Posté par  . Évalué à 1.

        Je suis pas totalement sur de mon coup, mais j'aurais mis l'option -A ici :
        alias voir_cmd='chmod o+rw `env |grep pts |sed 's|SSH_TTY=||'` ; sudo -u user screen -Ax ; chmod o-rw `env |grep pts |sed 's|SSH_TTY=||'`'

        C'est lorsque tu te connectes au screen déjà lancé que tu demandes l'adaptation au terminal client utilisé.
        • [^] # Re: Option -A

          Posté par  . Évalué à 1.

          J'ai essayé, ça ne change rien :(

Suivre le flux des commentaires

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