Y a-t-il quelque chose de mieux qu'un terminal Linux chaleureusement scintillant ?
Bien sûr, il y en a :deux terminaux Linux qui scintillent chaleureusement. En fait, plus il y en a, mieux c'est.
Il y a longtemps, les terminaux étaient des appareils physiques, mais bien sûr, aujourd'hui, ils sont simplement émulés en tant qu'application sur votre ordinateur. Si vous préférez le terminal comme interface, vous savez probablement qu'un seul terminal suffit rarement. Inévitablement, vous allez ouvrir un nouveau terminal ou un nouvel onglet pour pouvoir y travailler pendant que votre premier est occupé à compiler, convertir ou traiter des données.
Si vous êtes un administrateur système, vous savez que vous aurez besoin d'au moins quatre fenêtres ouvertes pendant que vous travaillez sur plusieurs systèmes en même temps.
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Les applications de terminal avec onglets existent sur Linux depuis longtemps, et heureusement, cette tendance semble s'être propagée de telle sorte qu'il s'agit d'une fonctionnalité attendue d'un terminal moderne. Et pourtant, il est parfois distrayant ou gênant de passer d'un onglet à l'autre.
La seule réponse est un écran partagé afin que deux ou plusieurs terminaux puissent exister en même temps dans une seule fenêtre d'application. Il existe de nombreux outils dans votre kit Linux pour vous aider à découper et découper vos consoles.
Shells, terminaux et consoles
Avant de trancher et de découper des écrans, vous devez connaître la différence entre un terminal, un shell et une "console". Pour avoir une vue d'ensemble, lisez mon article sur le sujet sur le blog Enable Sysadmin.
La version courte :
- Un shell est un écran d'entrée et de sortie avec une invite. Techniquement, un shell s'exécute quelque part sous votre bureau POSIX, même s'il n'est pas visible (car c'est un shell qui a lancé votre session utilisateur).
- Un terminal est une application s'exécutant sur un serveur graphique (tel que X11 ou Wayland) avec un shell chargé dedans. Un terminal ne s'exécute que lorsqu'une fenêtre de terminal est lancée. C'est plus ou moins un "portail" dans votre shell.
- "Console" ou "console virtuelle" est un terme généralement utilisé pour désigner un shell s'exécutant en dehors de votre bureau. Vous pouvez accéder à une console virtuelle en appuyant sur Alt-Ctrl-F2 (d'autres sont généralement disponibles à partir de F3 jusqu'à F7 , avec F1 ou F7 représentant votre bureau, selon votre distribution).
Certaines applications vous permettent de diviser votre shell ou votre console, tandis que d'autres vous permettent de diviser votre terminal.
tmux
Sans doute le séparateur d'écran le plus flexible et le plus capable, tmux est un multiplexeur de terminal centré sur le clavier, ce qui signifie que vous pouvez "superposer" une console sur une autre, puis basculer entre les deux. Vous pouvez également diviser une vue de console en deux (ou en tiers ou en quarts, etc.) afin de voir les autres consoles à côté.
Toutes les commandes sont centrées autour du clavier, ce qui signifie que vous n'avez jamais à retirer votre main des touches à la recherche d'une souris, mais aussi que vous devez apprendre de nouvelles combinaisons de clavier.
Si vous utilisez tmux principalement pour le fractionnement d'écran, les seules commandes dont vous avez vraiment besoin sont les suivantes :
- Ctrl-B % pour une séparation verticale (une coque à gauche, une coque à droite)
- Ctrl-B" pour une séparation horizontale (une coque en haut, une coque en bas)
- Ctrl-B O pour rendre l'autre shell actif
- Ctrl-B ? pour de l'aide
- Ctrl-B d détachez-vous de Tmux, en le laissant s'exécuter en arrière-plan (utilisez tmux attach rentrer)
tmux présente de nombreux avantages, notamment la possibilité de démarrer une session tmux sur un ordinateur, puis de rejoindre cette même session à distance à partir d'un autre ordinateur. Il démonise essentiellement votre shell.
C'est avec tmux exécuté sur un Pi, par exemple, que je peux rester connecté à IRC de manière permanente - je démarre tmux sur le Pi, puis je me connecte à partir de n'importe quel ordinateur sur lequel je me trouve. Lorsque je me déconnecte, tmux continue de s'exécuter, attendant patiemment que je me reconnecte à la session à partir d'un autre ordinateur.
Écran GNU
Semblable à tmux, GNU Screen est un multiplexeur shell. Vous pouvez vous détacher et vous rattacher d'une session en cours d'exécution, et vous pouvez diviser l'écran à la fois horizontalement et verticalement.
Screen est un peu plus maladroit que tmux. Son raccourci clavier par défaut est Ctrl-A , qui se trouve également être le raccourci clavier de Bash pour aller au début d'une ligne. Cela signifie que si vous avez Screen en cours d'exécution, vous devez appuyer sur Ctrl-A deux fois au lieu d'une seule pour aller au début de la ligne. Personnellement, je redéfinis la touche de déclenchement en Ctrl-J avec cette ligne dans $HOME/.screenrc :
escape ^jJ
La fonction de division de Screen fonctionne bien, mais elle laisse de côté quelques plaisanteries qui manquent à tmux. Par exemple, lorsque vous divisez votre shell, un nouveau shell ne démarre pas dans l'autre panneau. Vous devez naviguer vers l'autre espace avec Ctrl-A Tab (ou Ctrl-J si vous redéfinissez votre raccourci clavier comme moi) et créez un nouveau shell manuellement avec Ctrl-A C .
Contrairement à tmux, un fractionnement ne disparaît pas lorsque vous quittez un shell, ce qui est une fonctionnalité de conception plutôt agréable dans certains cas, mais qui peut aussi parfois être fastidieuse car elle vous oblige à gérer vos fractionnements manuellement.
Pourtant, Screen est une application fiable et flexible que vous pouvez exécuter si vous trouvez que tmux n'est pas disponible pour vous.
Voici les commandes fractionnées de base, utilisant les raccourcis clavier par défaut :
- Ctrl-A | pour une séparation verticale (une coque à gauche, une coque à droite)
- Ctrl-A S pour une séparation horizontale (une coque en haut, une coque en bas)
- Onglet Ctrl-A pour rendre l'autre shell actif
- Ctrl-A ? pour de l'aide
- Ctrl-A d se détacher de Screen, en le laissant s'exécuter en arrière-plan (utilisez screen -r rentrer)
Console
Konsole est le terminal fourni avec le bureau KDE Plasma. Comme KDE lui-même, Konsole est célèbre pour être hautement personnalisable et puissant.
Parmi ses nombreuses fonctionnalités, il y a la possibilité de diviser sa fenêtre, similaire à la fois à tmux et à GNU Screen. Étant donné que Konsole est un terminal graphique, vous pouvez contrôler sa fonction d'écran partagé avec votre souris au lieu de votre clavier.
Le fractionnement se trouve dans la vue menu de Konsole. Vous pouvez diviser votre fenêtre horizontalement ou verticalement. Pour changer le panneau actif, cliquez simplement dessus. Chaque panneau est un terminal unique, il peut donc avoir son propre thème et ses propres onglets.
Contrairement à tmux et GNU Screen, vous ne pouvez pas vous détacher et vous rattacher de Konsole. Comme la plupart des applications graphiques, vous utilisez Konsole lorsque vous êtes physiquement devant et vous en perdez l'accès lorsque vous êtes absent (sauf si vous utilisez un logiciel de bureau à distance).
Emacs
Emacs n'est pas exactement un multiplexeur de terminaux, mais son interface prend en charge le fractionnement et le redimensionnement, et il possède un terminal intégré.
Si vous utilisez Emacs au quotidien de toute façon, la possibilité de diviser votre fenêtre entre des applications essentiellement différentes signifie que vous n'aurez jamais à quitter la familiarité et le confort de votre éditeur de texte préféré. De plus, parce que le eshell d'Emacs module est implémenté dans eLISP, vous pouvez interagir avec lui en utilisant les mêmes commandes que vous utilisez dans Emacs lui-même, ce qui rend facile la copie et l'extraction de longs chemins de fichiers ou de sorties de commandes.
Si vous utilisez Emacs dans une fenêtre graphique, vous pouvez effectuer certaines actions avec votre souris. Il est plus rapide d'utiliser les raccourcis clavier, et certains sont plus ou moins nécessaires. Par exemple, vous pouvez changer le panneau actif en cliquant dessus, et vous pouvez redimensionner les proportions de votre écran partagé avec votre souris.
Voici les raccourcis clavier importants :
- Ctrl-X 3 pour une séparation verticale (une coque à gauche, une coque à droite)
- Ctrl-X 2 pour une séparation horizontale (une coque en haut, une coque en bas)
- Ctrl-X O pour rendre l'autre shell actif (vous pouvez aussi le faire avec la souris)
- Ctrl-X 0 (c'est un zéro) fermer le panneau actuel
Semblable à tmux et GNU Screen, vous pouvez vous détacher et vous rattacher d'Emacs tant que vous exécutez emacs-client .
Gestionnaire de fenêtres
Si vous pensez qu'un éditeur de texte capable de diviser son écran et de charger un terminal est incroyable, imaginez que votre bureau remplisse le même objectif. Il existe des bureaux Linux, comme Ratpoison, Herbsluftwm, i3, Awesome et même le bureau KDE Plasma avec des paramètres spécifiques activés, qui vous présentent chaque fenêtre d'application sous la forme d'une vignette fixe dans une grille de bureau.
Au lieu de fenêtres flottant "au-dessus" de votre bureau, elles restent dans un endroit prévisible afin que vous puissiez passer de l'une à l'autre. Vous pouvez ouvrir n'importe quel nombre de terminaux dans votre réseau, en émulant un multiplexeur de terminaux. En fait, vous pouvez même charger un multiplexeur de terminal dans votre multiplexeur de bureau.
Et rien ne vous empêche de charger Emacs avec des tampons divisés à l'intérieur. Personne ne sait ce qui se passe si vous allez plus loin, et la plupart des utilisateurs de Linux s'accordent à dire qu'il vaut mieux ne pas le savoir.
Contrairement à tmux et GNU Screen, vous ne pouvez pas vous détacher et vous rattacher de votre bureau à moins que vous ne comptiez utiliser un logiciel de bureau à distance.
Autres choix
Croyez-le ou non, ce ne sont pas les seules options dont vous disposez pour diviser votre écran sous Linux. Il existe d'autres émulateurs de terminaux, comme Tilix et Terminator avant lui, qui peuvent se diviser en sections, et des applications avec des composants de terminaux intégrés, et bien plus encore. Dites-nous votre façon préférée de diviser votre espace de travail dans les commentaires.