screen et IRC
Cette page parle du strict minimum à savoir sur screen pour pouvoir l'utiliser pour rester sur IRC.
On peut faire un tas d'autres choses avec, mais ce n'est pas l'objet de cette page.
Qu'est-ce ?
screen est un programme qui continue à tourner quand vous quittez la machine sur laquelle vous êtes connecté. Ainsi, si vous lancez des programmes à l'intérieur de screen, vous pouvez partir alors qu'ils ne sont pas terminés, puis vous reconnecter et retrouver vos programmes.
Attention : screen ne fait pas de la magie, si vous éteignez la machine, tout disparaît.
C'est pour ça qu'on l'utilise sur une machine qu'on n'éteint jamais ou presque, c'est-à-dire, un serveur, par exemple, zamok.
Le lancer
$ screen -S monirc
-S n'est pas indispensable, mais vous permet de donner un nom à votre screen.
Vous arrivez alors dans un nouvelle ligne de shell, dans laquelle vous pouvez lancer ce que vous voulez, comme par exemple votre client IRC.
Le détacher
Pour partir proprement, vous êtes censés dire à screen de se mettre en arrière plan en continuant à tourner, pour ceci, il faut faire Ctrl+A suivi de D. (D'autres raccourcis sous screen servent à autre chose, évitez par exemple Ctrl+A K qui détruira le screen.)
Le rattacher
Quand vous revenez sur zamok après avoir fait le trajet labo-campus, vous pouvez faire :
login@zamok$ screen -ls There are screens on: 21386.paf (15/05/2014 18:33:45) (Attached) 8074.irc (19/02/2014 02:21:36) (Detached) 2 Sockets in /var/run/screen/S-login.
paf et irc sont les noms des deux screen du compte login. (Ici, pour l'exemple, j'en ai mis deux).
- Le premier a pour pid 21386 et le deuxième 8074
- Le premier est attaché (il est visible sur un terminal) et l'autre détaché (en arrière plan)
Pour rattacher un screen correctement détaché :
login@zamok$ screen -r irc
(préciser le pid à la place du nom marche aussi, et vous serez obligés de procéder ainsi si vous n'avez pas donné de nom à votre screen)
Pour rattacher un screen mal détaché (exemple : vous avez brutalement fermé votre terminal ou perdu votre connexion) :
login@zamok$ screen -rd paf
Disclaimer
Attention : ces explications sont minimalistes !
Si vous sortez un petit peu des cas évoqués ici, vous allez avoir besoin d'options non précisées ici. Référez-vous à man screen (notamment les options -d -r -R -D -RR, éventuellement -wipe) ou à quelqu'un de plus compétent que vous.