Patrice Ferlet
Patrice Ferlet
Créateur de ce blog.
Publié le juil. 12, 2010 Temps de lecture: 3 min

Me suivre sur Mastodon

screen automatique

Voilà quelques temps que je n’ai pas tapé un ticket sur mon blog… des soucis de santé et j’ai simplement laissé de coté mon ordinateur. Soit dit en passant, je tente de reprendre un peu quelques minutes d’amusement sur mon ordinateur de temps en temps et je viens de me repenché sur //screen//. En effet, j’avais envie de faire en sorte qu’une session screen soit ouverte par défaut sur mon serveur si elle n’existe pas, sinon faire en sorte que ma session s’attache à celle créée.

La solution est en fait simple comme tout, elle réside dans deux options et une protection qui existe dans screen. La première option me permet de faire du “multi display”, c’est l’option “-x”.

Ensuite, l’option “-R” permet de réattaché un screen ou de le créé si il n’existe pas. Reste donc à faire ceci: -ouvrez le fichier “~/.bashrc” -allez en bas de ce fichier -ajoutez la commande “screen -x -R”

Terminé ! Alors je vous ai parlé d’un protection, en fait le fichier “.bashrc” va être exécuté plusieurs fois si on est un peu logique, car en ouvrant un screen le fichier “.bashrc” va être interprété… donc ouvrir un screen et ainsi de suite…

Mais screen sait si on demande de réattacher un screen dans lequel on est et affiche un petit warning. Du coup, il s’arrête après avoir tenté de réouvrir le screen.

Intérêt de la manip ? Sur mon serveur si je lance une commande de calcul assez longue je perd à un moment donné la connexion ssh… du coup la commande tourne toujours mais il m’est impossible de la récupérer.

Si en plus je décide de partir chez ma chère mère et de regarder sur mon android (avec connectBot) si mon calcul est finit… il me faudrait penser à chaque fois de bien ouvrir un screen avant de lancer mes commandes…

Et bien le fait de mettre “screen -x -R” dans mon “.bashrc” crée un screen sans que je ne lui demande explicitement. C’est automatique et ça marche.

Par contre, pensez bien au souci de scroll qui existe avec screen… pour scroller, le raccourcis est: //CTRL+A puis Echap// - les flèches permettent de monter et descendre… pour quitter le scroll: Echap.

C’est en fait le raccourcis de sélection pour copier coller dans screen, mais pour le coup ça sert aussi à ne pas s’arracher les cheveux ;)

[Edit]\\ Je viens de trouver la solution pour utiliser le scroll à la souris ou avec les raccourcis shift+PageUp/PageDown

Il suffit d’éditer le fichier ~/.screenrc et de placer cette ligne:\\ termcapinfo xterm|xterms|xs|rxvt ti@:te@

Et de fermer tous les screen…. la prochaine fois que vous ouvrirez un screen vous aurez l’émulation de terminal qui fonctionnera et de ce fait les scroll souris et claviers seront fonctionnels :) merci à Kryksyh http://www.saltycrane.com/blog/2008/01/how-to-scroll-in-gnu-screen/#c7371

comments powered by Disqus