Tmux, ou le « pire est préférable »
(hiandrewquinn.github.io)tmux est-il le meilleur choix ?
Présentation de tmux
- tmux signifie « terminal multiplexer » et permet de diviser un terminal en plusieurs shells indépendants
- Il est installé par défaut sur OpenBSD
- Il est utile pour les programmeurs qui utilisent souvent SSH
- Il permet de diviser l’écran sans environnement graphique
- Il convient à celles et ceux qui recherchent le minimalisme numérique
L’avis de Kovid Goyal
- Kovid Goyal est le développeur du logiciel ePub calibre et de l’émulateur de terminal Kitty
- Goyal n’aime pas tmux
- Dans sa FAQ, il exprime une opinion négative sur tmux
- Les multiplexeurs de terminal ajoutent une surcharge inutile
- L’augmentation de la complexité entraîne une baisse des performances
- Ils sont inefficaces en matière d’énergie et de performances
- Ils ont un impact négatif sur l’ensemble de l’écosystème
Expérience d’utilisation personnelle
- L’auteur utilise UNIX à la maison et Windows au travail
- Il utilise souvent tmux lorsqu’il doit recourir à SSH à plusieurs reprises
- tmux peut fonctionner avec différents émulateurs de terminal
- Kitty doit fonctionner sur le système auquel on se connecte à distance
La philosophie « Worse is better »
- « Worse is better » relève davantage d’une philosophie de gestion de produit que d’une philosophie logicielle
- Elle insiste sur l’importance d’optimiser les fonctions essentielles d’un logiciel pour les cas d’usage les plus courants
- L’auteur aime personnellement les VM, mais dans la pratique il utilise plus souvent tmux
Conclusion
- L’auteur utilise principalement l’accès distant depuis Windows
- Il connaît par cœur les raccourcis de tmux
- Les raccourcis de Kitty sont excellents, mais tmux est plus utile
L’avis de GN⁺
- tmux est très utile pour les développeurs qui utilisent fréquemment SSH. En particulier, la possibilité d’exécuter plusieurs shells en même temps est un atout majeur.
- Comme le souligne Kovid Goyal, les multiplexeurs de terminal peuvent avoir un impact sur les performances, mais la plupart des utilisateurs jugeront probablement leurs avantages plus importants.
- Les émulateurs de terminal comme Kitty peuvent offrir de meilleures performances, mais il est difficile de remplacer la polyvalence et la praticité de tmux.
- Pour les personnes qui recherchent le minimalisme numérique, tmux est un outil très séduisant. Il offre des fonctions puissantes même sans environnement graphique.
- En utilisant tmux et Kitty ensemble, il est possible de tirer le meilleur parti de chaque outil. Par exemple, on peut utiliser Kitty en local et tmux sur les serveurs distants.
1 commentaires
Avis sur Hacker News
Résumé d’une sélection de commentaires de Hacker News
« Je ne pense pas que parser les frappes deux fois soit une cause majeure de gaspillage de cycles CPU ou d’usure de la batterie. Kitty intègre déjà l’essentiel des fonctionnalités de tmux, mais cela n’aide pas beaucoup ceux qui travaillent en SSH. Tout regrouper dans l’émulateur de terminal ressemble à un ajout de fonctionnalités inutile. »
« La vraie raison d’avoir besoin de tmux, c’est la persistance à distance. Je ne veux pas perdre ma session vim si la connexion au serveur tombe. »
« La fonctionnalité décisive de tmux, c’est de rendre persistant l’espace de travail, pas seulement le shell. Kitty et screen ne résolvent pas ce problème. S’il existait une persistance de l’espace de travail basée sur l’émulateur de terminal, j’abandonnerais tmux. »
« Kovid Goyal, le développeur de Kitty, n’aime pas tmux. Kitty reprend la plupart des fonctions de tmux, mais n’offre pas de persistance à distance. Dépendre de l’émulateur de terminal impose aussi de recréer une nouvelle mémoire musculaire quand on change d’émulateur. »
« Les bases de
screenoutmux(démarrage, création et changement de fenêtres, reconnexion) devraient faire partie de la boîte à outils de toute personne qui doit se connecter à un serveur en SSH. Surtout en startup, il faut comprendre les systèmes et savoir travailler de manière créative et efficace. »« On peut ajouter des réglages dans
~/.ssh/configpour multiplexer des sessions SSH sur une seule connexion. La première session utilise une authentification par empreinte, puis on peut se reconnecter sans authentification pendant 300 secondes. Via Tailscale, il est aussi possible de conserver la session même hors ligne. »« Le plus grand intérêt de SSH, c’est que les tâches longues peuvent continuer malgré une déconnexion. C’est extrêmement frustrant de perdre la connexion alors qu’un long téléchargement touche presque à sa fin. »
« J’utilise Windows comme OS hôte et je travaille sous Linux. J’utilise tmux pour exécuter plusieurs shells. Il y a des problèmes de performance, mais en termes de productivité c’est très utile. »
« Pour le SSH distant, j’utilise la configuration de
.ssh/configpour lancer automatiquement tmux sur la machine distante. Cela permet de sauvegarder son travail même avec une connexion instable. J’utilise tmux tous les jours et je n’ai pas trouvé de meilleure alternative. »« Kovid a peut-être raison sur le plan technique, mais il a tort du point de vue de l’utilisabilité. Les utilisateurs préfèrent ce qui simplifie leur vie. J’ai essayé zellij, mais je suis revenu à tmux. tmux a une barrière à l’entrée plus faible. »