Sous Linux tmux
La commande est un multiplexeur de terminal, Quoi screen
. Ses défenseurs sont nombreux et vocaux, nous avons donc décidé de comparer les deux. Il est tmux
vraiment mieux, Ou est-ce juste une question de préférer ce que vous savez?
tmux devant l'écran
Les deux tmux
y GNU screen
commandes son multiplexores terminales. Ils vous permettent d'avoir plusieurs fenêtres dans une seule fenêtre de terminal et de passer de l'une à l'autre. Une fenêtre peut être divisée en panneaux, dont chacun vous donne une ligne de commande distincte.
Vous pouvez également déconnecter une session et elle devient une entité sans tête qui s'exécute en arrière-plan; vous pouvez même fermer la fenêtre du terminal qui l'a démarré. Quand tu es prêt, vous pouvez ouvrir une nouvelle fenêtre de terminal et reconnecter la session qui est toujours en cours. Vous pouvez également le faire via une connexion SSH.
Vous pouvez déconnecter une session sur un ordinateur, rentrez chez vous et connectez-vous à l'ordinateur distant. Quand il se reconnecte, vous pouvez reconnecter la session en arrière-plan et l'utiliser à nouveau de manière interactive.
Quelle est la commande d'écran?
Les screen
La commande est également un multiplexeur de terminal et regorge d'alternatives. Pour savoir tout ce que vous pouvez en faire, voir notre article détaillé.
Cette fois, nous allons se concentrer sur tmux
. Comme nous allons, nous mentionnerons comment screen
gère la même caractéristique ou fonction.
Une seule chose nous a dérangés screen
. Nous couvrirons cela quand nous y arriverons, et on verra si tmux
ça va mieux.
EN RELATION: Comment utiliser la commande d'écran Linux
Installation de tmux
Temps screen
généralement installé par défaut sur les distributions Linux populaires, tmux
ce n'est pas ça. Installer tmux
sous Ubuntu, écris ce qui suit:
sudo apt-get install tmux
À Manjaro, vous pouvez utiliser pacman
:
sudo pacman -Sy tmux
Dans Fedora 31, tmux
est déjà installé.
Démarrer une session tmux
Pour commencer tmux
, il suffit de le taper et d'appuyer sur Entrée:
tmux
La fenêtre du terminal affiche une barre d'état lorsque vous êtes dans un tmux
session.
Le côté droit de la barre d'état affiche le nom d'hôte, l'heure et la date. Le côté gauche affiche les informations suivantes relatives à la session:
- [0]: C'est le nom de la séance. Par défaut, ils sont numérotés, en commençant par zéro. Ensuite, nous couvrons comment vous pouvez donner des noms significatifs aux sessions.
- 0: frappe *: Les 0 indique qu'il s'agit de la première fenêtre de cette session. La seule procédure qui s'exécute dans cette session est
bash
. Si vous exécutez un programme, votre nom apparaîtra ici. L'astérisquetmux
signifie que c'est la fenêtre que vous regardez. Chaque fois que vous créez une nouvelle fenêtre dans un
session, votre numéro de fenêtre et le nom du programme qui s'y exécute sont ajoutés à la barre d'état. screen
Les La commande ne vous donne pas de barre d'état par défaut. Tu dois voler à l'aveugle et faire confiance à ton esprit pour savoir ce qui se passe, ce qui demande un peu de pratique. (À moins que vousdéfinir votre propre barre d'état
.)
Du bon côté, vous ne perdrez pas une seule ligne d'espace dans la fenêtre du terminal. Depuis lors, J'agrandirais régulièrement la fenêtre de votre terminal pour qu'il soit intéressant d'utiliser un multiplexeur de terminal. Dans ce cas, manquer une ligne pour la barre d'état n'est pas un gros problème. Nous avons laissé les images des fenêtres du terminal ici à la taille par défaut afin que vous puissiez voir les informations. tmux
Les commandes sont données à tmux
à l'aide de touches, et il y a deux parties à cela. Premier, pression Ctrl + B pour obtenirtmux
attention. Ensuite, appuyez rapidement sur la touche suivante pour envoyer une commande à
. Les commandes sont données en appuyant sur des lettres, nombres, signes de ponctuation ou touches fléchées. screen
C'est la même chose dans
, sauf que tu appuies sur Ctrl + A pour attirer votre attention.
Pour fermer la fenêtre, pression Ctrl + B, puis appuyez rapidement sur X. La barre d'état devient orange. Il vous sera alors demandé de confirmer que vous souhaitez fermer la fenêtre.
Appuyez sur Y pour fermer la fenêtre ou sur N si vous changez d'avis. Vous n'avez pas besoin d'appuyer sur Entrée après; O ou N suffit pour enregistrer votre choix.
Si vous appuyez sur Y, la fenêtre se ferme. Parce que c'est la seule fenêtre de cette session, la séance se termine. tmux
Les tmux
la session se ferme et revient à la ligne de commande à partir de laquelle elle a commencé[sorti]. Tu verras “
"Dans la fenêtre du terminal.
Cela peut sembler évident, mais c'est une confirmation que vous avez fermé la session et que vous ne l'avez pas laissée déconnectée et en cours d'exécution. Nous discuterons des séances de rupture ci-dessous..
Démarrer une session tmux nommée tmux
Si vous commencez régulièrement screen
séances, vous apprécierez rapidement la fonctionnalité de donner à chacun d'eux un nom significatif. Vous pouvez nommer des sessions dans
, en outre, mais ils ne sont affichés nulle part dans les fenêtres de session. tmux
Pour commencer new
avec un nom de session, utiliser el -s
(nouvelle séance) commander, et le
tmux nouveau -s geek-1
(nom de la session) option. Notre session sera appelée “geek-1”, donc on écrit ce qui suit: tmux
Quand il
Une session tmux avec le nom “geek-1” sur le côté gauche de la barre d’état.
Ajouter plus de fenêtres dmesg
Pour créer une nouvelle fenêtre dans la session en cours, pression Ctrl + B puis C. Vous obtiendrez une fenêtre de terminal vide dans la session en cours. Ensuite, nous aurons quelque chose en cours d'exécution dans cette nouvelle fenêtre, commençons le commander -w
avec lui
dmesg -w
(Continuez) option: top
Maintenant, nous avons deux fenêtres dans la session; on court dmesg
, et l'autre
. Malgré cela, on ne peut en voir qu'un à la fois (Plus sur cela dans un instant). tmux
Jetez un œil à la partie gauche de la barre d'état. Nous sommes toujours dans le “geek-1” dmesg
session. A la fenêtre zéro, le haut est en marche, et dans la fenêtre un, dmesg
Il est en train de courir. L'astérisque
après
- nous indique quelle fenêtre est visible.Pour sauter entre les fenêtres, pression Ctrl + B, puis l'une des touches suivantes: Nord
- : Afficher la fenêtre suivante.
- PAG: Afficher la fenêtre précédente.
0 une 9:
Afficher une fenêtre numérotée du 0 Al 9.
Vous pouvez également sélectionner une fenêtre dans une liste. Si vous appuyez sur Ctrl + B puis W, une liste de fenêtres apparaît.
Pour déplacer la barre de surbrillance orange, appuyez sur les flèches haut ou bas, Début ou Fin. La partie inférieure de l'écran affiche un aperçu du contenu dans la fenêtre en surbrillance.
Appuyez sur Entrée pour accéder à la fenêtre en surbrillance ou sur Echap pour quitter la liste des fenêtres sans modifier.
Détacher et joindre des sessions top
Si vous appuyez sur Ctrl + B puis D, déconnectera la session. Il continuera à fonctionner en arrière-plan, mais vous ne pourrez pas le voir ou interagir avec lui.
Nous avons commencé tmux
en séance, nous avons donc une procédure en cours pour le prouver. Après, on appuie sur Ctrl + B, puis D. La session disparaît et devient une session d'arrière-plan.
Nous revenons à la fenêtre du terminal d'origine. Il y a un message de attach-session
nous disant que la session est séparée. Cela nous rappelle aussi le nom que nous avons donné à la session. Ceci est utile car c'est ce que nous utilisons pour attacher à une session d'arrière-plan, puis la restaurer en une session interactive.. -t
Pour joindre une session distincte, nous utiliserons l'auto-explicatif
commande avec le
tmux attach-session -t geek-1
(séance cible) option. Nous fournirons également le nom de la session dont nous voulons nous souvenir.
Nous écrivons ce qui suit:
screen
Notre session revient et redevient une session interactive visible.
Toutes les procédures de longue durée ou continues que vous avez commencées avant de déconnecter la session continueront de s'exécuter en arrière-plan (à moins qu'ils ne soient faits) quand je joins la session.
peut le faire, mais pas si intuitivement. tmux
Gestion de plusieurs sessions
tmux nouveau -s geek-2
Ouvrons une autre fenêtre de terminal et commençons une nouvelle dmesg
session appelée “geek-2”:
dmesg -w
Dans cette séance, nous commencerons tmux
:
Maintenant, nous avons notre “geek-1” original dmesg
session et un nouvel appel “geek-2”.
La barre d’état nous indique que cette session est appelée “geek-2”, et a une fenêtre qui s'exécute
Si nous appuyons sur Ctrl + B, puis D, nous séparons cette session. tmux
Geek-2 session tmux séparée dans un terminal widnow. tmux
Retour dans le “geek-1”
session, on appuie sur Ctrl + B, puis Y pour voir une liste de
séances.
pour être clair, c'est une liste de séances. L'écran équivalent que nous avons vu précédemment était une liste de fenêtres en une seule session.
Vous pouvez déplacer la barre orange en surbrillance en appuyant sur les flèches haut et bas, Début et fin. La section du bas montre un aperçu du contenu de la session en surbrillance.
Si vous appuyez sur la flèche droite, les fenêtres de la session en surbrillance s'affichent. tmux
Appuyez sur Entrée pour accéder à la session ou à la fenêtre en surbrillance ou sur Échap pour quitter la liste des sessions sans changer de session. Si vous sélectionnez une nouvelle session, l'actuel est déconnecté et celui que vous avez sélectionné est attaché.
Nous séparons la session “geek-2” avant de le faire. Malgré cela, vous pouvez le faire avec des sessions qui sont toujours connectées à leurs fenêtres de terminal d'origine. Quand je fais, les changements d'écran apparaîtront simultanément sur les deux screen
séances.
Les
La commande peut également le faire via un ensemble équivalent de commandes.
Travailler avec des vitres tmux ls
Si vous appuyez sur Ctrl + B puis guillemets (""), divise la fenêtre horizontalement en deux panneaux.
Cela n'affecte que la fenêtre actuelle; les autres dans la session ne seront pas modifiés. Nous avons utilisé le
commande dans le volet supérieur pour lister les fenêtres de cette session. Il y a deux, et la ligne d'état nous dit que nous sommes dans la première fenêtre. Si nous sautons à la fenêtre zéro en appuyant sur Ctrl + B, et après 0 (zéro), on voit qu'il est comme on l'a laissé.
uname -a
ls -hl
Ce sont deux lignes de commande indépendantes, pas deux vues dans une fenêtre; ce sont des coquilles distinctes et séparées. Nous pouvons le montrer en exécutant une commande différente dans chaque panneau.
Pour passer d'un panneau à l'autre, pression Ctrl + B puis les flèches vers le haut, vers le bas, gauche ou droite.%)
Deux commandes différentes sur deux panneaux dans une session tmux dans un terminal veuf.
Si vous appuyez sur Ctrl + B puis le signe pourcentage ( tmux
divise le panneau actuel verticalement.
Présion Ctrl + B puis Q pour faire tmux
afficher brièvement le numéro de chaque panneau.
Ces numéros sont utilisés dans les indications et messages de
. Présion Ctrl + B puis X pour fermer le panneau actuel. La barre d'état devient orange et vous êtes invité à confirmer que vous souhaitez fermer ce numéro de panneau. Appuyez sur Y pour retirer le panneau, ou N pour laisser les choses telles qu'elles sont. screen
Si vous appuyez sur Y, le panneau est retiré. screen
Les
La commande a aussi des panneaux, mais, de nouveau, sont moins intuitifs à utiliser. Ce qui nous dérange
En d'autres termes, si vous déconnectez une session en panel, disparaître lorsque vous reconnectez cette session. ça vieillit très vite. tmux
Une Ctrl + B Aide-mémoire
Nous avons inclus une aide-mémoire des différentes commandes que vous pouvez utiliser dans
- au dessous de. Commandes de session
- S: Lister les séances.
- PS Renommer la session en cours.
- ré: Détacher la session en cours.
tmux
Ctrl + B, et après?:
Afficher la page d'aide dans
- . Commandes de fenêtre
- C: Créer une nouvelle fenêtre.
- ,: Renommer la fenêtre actuelle.
- W: Lister les fenêtres.
- NORD: Aller à la fenêtre suivante.
- PAG: Aller à la fenêtre précédente.
0 une 9:
- Aller au numéro de fenêtre spécifié. Commandes du panneau
- %: Créer une division horizontale.
- ": Créer une division verticale.
- H ou flèche gauche: Déplacer vers le panneau de gauche.
- I ou flèche droite: Déplacer vers le panneau de droite.
- J ou flèche vers le bas: Accédez au panneau ci-dessous.
- K ou flèche vers le haut:Allez dans le panneau ci-dessus.
- Q : Afficher brièvement les numéros de panneau.
- O: Faites défiler les panneaux dans l'ordre. Chaque pression vous amène à la suivante, jusqu'à ce que tout passe par.
- }: Échangez la position du panneau actuel avec le panneau suivant.
- {: Échanger la position du panneau actuel avec le précédent.
X:
Fermer le panneau actuel. screen
Comment ils se comparent tmux
En termes de fonctionnalité, tmux
et
les deux fonctionnent de manière équivalente et offrent les mêmes fonctionnalités principales. C'est la façon dont vous accédez à ces fonctions qui est nettement différente.. tmux
offre des moyens plus faciles et plus pratiques d'accéder aux différentes fonctions. Malgré cela, ce n'est pas la seule différence.
screen
La possibilité de renommer les sessions et les fenêtres dans
est commandé, et le fait que vous conserviez vos tableaux de bord lorsque vous reconnectez une session change la donne. tmux
, d'autre part, perdre absolument des panneaux lors de la déconnexion et de la reconnexion d'une session. C'est presque assez ennuyeux pour éviter de se séparer en premier lieu..
Il y a beaucoup plus à
, y compris ses capacités de script incroyablement flexibles. Tu te dois de le vérifier.