Astuce : démarrer un screen + irssi au boot
Pour continuer dans la série des articles courts, en voici un autre, qui tient plus de l’astuce qu’autre chose
Avoir un irssi dans un screen sur un serveur, c’est pratique, le problème c’est que quand le serveur reboot, le client IRC restera arrêté jusqu’à ce que je m’en rende compte et le relance. Par cette nuit orageuse, et en prévision d’un second reboot de mon serveur, j’ai décidé de chercher une solution.
Dans ses scripts de démarrage, Debian exécute le fichier /etc/rc.local (via /etc/rc*.d/S99rc.local) qui ne contient rien par défaut, mais qui est là pour pouvoir lancer des commandes diverses au boot. Il nous suffit donc de l’éditer pour y mettre une ligne du type :
sudo -u romain /usr/bin/screen -d -m irssi
ou bien, sans utiliser sudo :
su romain -c /usr/bin/screen -d -m irssi
L’option -m permet en gros de lancer screen hors d’un TTY (il ne lit pas la variable $STY), et l’option -d permet de le lancer directement en mode détaché.
Et voila, ça devrait limiter un peu plus quelques messages perdu sur IRC


On peut aussi utiliser une ligne @reboot dans son crontab personnel, ce qui ne nécessite pas d’être root.
Ah oui c’est pas bête. D’autant plus que ma méthode a quelques incovénients (les variables d’environnement (comme $HOME) ne sont pas définit par exemple).