Terminal Sharing · 3 min read · Dec 15, 2025

Partage des sessions de terminal Linux avec Tmux et Screen

tmux et GNU Screen sont des utilitaires bien connus qui permettent le multiplexage de consoles virtuelles. En utilisant l’un ou l’autre, il est possible de démarrer une session, de se détacher, de passer à une autre machine et de reprendre la session sans interruption. Il est également possible d’utiliser ces outils pour partager une seule session entre plusieurs utilisateurs en même temps.

Partage de session de terminal de base avec un seul compte

Si un compte est détenu conjointement par deux utilisateurs ou plus, alors le partage de la console de terminal est très simple. Ni tmux ni screen ne nécessitent quoi que ce soit d’inhabituel pour un partage de base entre un seul compte connecté plusieurs fois. Le partage de base est très facile si vous êtes tous les deux connectés en tant que même utilisateur.

Partage de base avec screen

Dans un terminal, créez une nouvelle session pour screen, où foobar est le nom de votre session screen :

screen -S *foobar*

Puis dans l’autre terminal, attachez-vous à cette session.

screen -x *foobar*

C’est tout, il n’y avait que deux étapes.

Partage de base avec tmux

Encore une fois, il n’y a que deux étapes. Dans le premier terminal, démarrez tmux où shared est le nom de la session :

tmux new-session -s *shared*

Puis dans le deuxième terminal, attachez-vous à la session partagée.

tmux attach-session -t *shared*

C’est tout.

Partage des sessions de terminal entre deux comptes différents

Le partage entre deux comptes différents nécessite quelques étapes supplémentaires pour accorder les privilèges nécessaires à un compte pour accéder à la session d’un autre. Dans certains cas, cela nécessitera l’aide de l’administrateur système pour préparer la configuration.

Partage entre deux comptes différents avec tmux

Pour des utilisateurs différents, vous devez définir les permissions sur le socket tmux afin que les deux utilisateurs puissent le lire et l’écrire. Il n’y a qu’une seule condition préalable, qu’il y ait un groupe commun entre les deux utilisateurs. Si un tel groupe n’existe pas, il sera nécessaire d’en créer un.

Dans le premier terminal, démarrez tmux où shared est le nom de la session et shareds est le nom du socket :

tmux -S /tmp/shareds new -s *shared*

Puis changez le groupe du socket pour un groupe que les deux utilisateurs partagent en commun. Dans cet exemple, joint est le groupe que les deux utilisateurs partagent. S’il y a d’autres utilisateurs dans le groupe, alors ils ont également accès. Il pourrait donc être recommandé que le groupe n’ait que les deux membres.

chgrp joint /tmp/shareds

Dans le deuxième terminal, attachez-vous en utilisant ce socket et cette session.

tmux -S /tmp/shareds attach -t *shared*

C’est tout. La session peut être rendue en lecture seule pour le deuxième utilisateur, mais uniquement sur une base volontaire. La décision de travailler en lecture seule est prise lorsque le deuxième utilisateur s’attache à la session.

tmux -S /tmp/shareds attach -t *shared* -r

Partage entre deux comptes différents avec screen

Si vous êtes connecté en tant que deux utilisateurs différents, il y a trois conditions préalables à l’utilisation de screen. Tout d’abord, screen doit être défini SUID et il est nécessaire de supprimer l’accès en écriture du groupe à /var/run/screen. La sécurité de l’utilisation de SUID dans ce contexte est quelque chose à considérer. Ensuite, vous devez utiliser les ACL de screen pour accorder la permission au deuxième utilisateur.

sudo chmod u+s /usr/bin/screen  
sudo chmod 755 /var/run/screen

Dans le terminal du premier utilisateur, démarrez screen comme dans le partage de base ci-dessus, où foobar est le nom de la session screen. Puis activez le mode multi-utilisateur et ajoutez user2 à l’ACL, où user2 est le deuxième compte qui partagera la session.

screen -S *foobar*  
^A:multiuser on  
^A:acladd *user2*

La session peut être rendue en lecture seule pour le deuxième utilisateur en entrant le changement d’ACL suivant : ^A:aclchg user2 -w “#?”

Ensuite, dans l’autre terminal, attachez-vous à la session du premier utilisateur.

screen -x *user1*/foobar

Il est également possible de mettre multiuser on et acladd user2 dans .screenrc pour que cela prenne effet automatiquement lors du démarrage de screen. Si les changements ne sont pas souhaités dans toutes les sessions screen, alors un fichier de configuration .screenrc séparé peut être spécifié en utilisant l’option -c lors du démarrage de screen.

Réflexion

Soyez prudent lors de la sortie. Si vous quittez simplement le shell, cela mettra fin à la session de terminal pour toutes les parties. Si vous vous détachez plutôt de la session, alors l’autre utilisateur peut continuer à travailler sans interruption. Dans tmux, cela est ^B-d et dans screen, cela est ^A-d

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.