Attention, ce billet se traine depuis plus de 3 mois. Les informations qu'il contient ne sont peut-être plus à jour.
Astuces du dimanche #3
Rédigé par 4 commentaires
/ /Aujourd'hui je vous parle de deux utilitaires qui devraient être connus de tous, ou presque, enfin, ceux qui gèrent des serveurs : Tmux et Screen.
Tmux
On m'en parle depuis pas mal de temps. Jamais je n'avais fait l'effort de m'y mettre de peur de devoir changer trop d'habitudes. Ça, c'était jusqu'à il y a encore quelques jours. Je sais maintenant m'en servir et pourquoi. Conclusion : c'est super !Installer le paquet
aptitude install tmux
Utiliser tmux
C'est là que ça demande de la pratique, mais pas tant que ça. Une fois que vous connaissez les 5 commandes les plus intéressantes, vous pouvez être le roi du monde :- ctrl^b + " = Découpage horizontal
- ctrl^b + % = Découpage vertical
- ctrl^b + o = Changer de fenêtre
- ctrl^b + x = Fermer la fenêtre actuelle
- ctrl^b + z = Passer en plein écran
De gauche à droite : un echo tout simple, Htop, Emacs avec 2 fenêtres et Emacs affichant le code d'une image PNG en hexl-mode. Le tout dans une seul terminal ouvert. C'est quand même chouette. Notez l'inception Tmux dans Emacs ! :-)
Vous l'aurez compris, Tmux permet d'utiliser plusieurs terminaux dans un seul affichage. Super pratique dans un nombre incalculable de cas. Vous trouverez sans doute une bonne occasion de vous en servir.
Screen
Installer Screen
aptitude install screenScreen reprend une fonction de Tmux dont je n'ai pas parlé au dessus puisque je ne m'en sers tout simplement pas. Screen permet de détacher un terminal virtuel. En bon français, on pourrait dire que le terminal passe en tâche de fond tout en continuant de fonctionner et sans qu'une action ne le dérange. On peut reprendre la main via une simple commande et rejouer avec ultérieurement.
J'utilise screen dans deux cas : pour faire tourner mon pod diaspora et pour exécuter des commandes extrêmement longues sur un serveur. Screen détachant le terminal dans lequel la commande est exécutée, celle-ci devient insensible à une déconnexion et continue ainsi à tourner. Ça sauve la vie ce genre de chose.
Utiliser Screen
- screen -S nomdelasession = créer une session
- screen -ls = liste les sessions en cours
- screen -r nomdelasession = permet de récupérer une session
Mais encore :
- ctrl^a + d = détache le terminal en cours
- ctrl^a + n = va au terminal suivant
- ctrl^a + p = va au terminal précédent
- ctrl^a + c = créer un nouveau terminal
On pourrait dire que Tmux est plus avantageux que Screen puisqu'il permet aussi de détacher les terminaux mais, personnellement, je les vois vraiment dans deux rôles différents. Tmux pour le bordel, Screen pour le détachage de terminal.