Terminal Sharing · 3 min read · Dec 15, 2025

Teilen von Linux-Terminalsitzungen mit Tmux und Screen

tmux und GNU Screen sind bekannte Dienstprogramme, die das Multiplexing von virtuellen Konsolen ermöglichen. Mit beiden ist es möglich, eine Sitzung zu starten, sich zu trennen, zu einem anderen Computer zu wechseln und die Sitzung ohne Unterbrechung fortzusetzen. Es ist auch möglich, diese Tools zu verwenden, um eine einzelne Sitzung gleichzeitig zwischen mehreren Benutzern zu teilen.

Grundlegendes Teilen von Terminalsitzungen mit einem einzigen Konto

Wenn ein Konto gemeinsam von zwei oder mehr Benutzern gehalten wird, ist das Teilen der Terminalkonsole sehr einfach. Weder tmux noch screen erfordern etwas Außergewöhnliches für das grundlegende Teilen zwischen einem einzigen Konto, das mehrfach angemeldet ist. Das grundlegende Teilen ist sehr einfach, wenn Sie beide als derselbe Benutzer angemeldet sind.

Grundlegendes Teilen mit Screen

Erstellen Sie in einem Terminal eine neue Sitzung für Screen, wobei foobar der Name Ihrer Screen-Sitzung ist:

screen -S *foobar*

Dann fügen Sie im anderen Terminal dieser Sitzung hinzu.

screen -x *foobar*

Das war’s, es gab nur zwei Schritte.

Grundlegendes Teilen mit Tmux

Auch hier gibt es nur zwei Schritte. Starten Sie im ersten Terminal tmux, wobei shared der Sitzungsname ist:

tmux new-session -s *shared*

Dann fügen Sie im zweiten Terminal der gemeinsamen Sitzung hinzu.

tmux attach-session -t *shared*

Das war’s.

Teilen von Terminalsitzungen zwischen zwei verschiedenen Konten

Das Teilen zwischen zwei verschiedenen Konten erfordert einige zusätzliche Schritte, um die erforderlichen Berechtigungen zu gewähren, damit ein Konto auf die Sitzung eines anderen zugreifen kann. In einigen Fällen ist es erforderlich, Hilfe vom Systemadministrator zu erhalten, um die Einrichtung vorzubereiten.

Teilen zwischen zwei verschiedenen Konten mit Tmux

Für verschiedene Benutzer müssen Sie die Berechtigungen auf dem tmux-Socket so festlegen, dass beide Benutzer darauf lesen und schreiben können. Es gibt nur eine Voraussetzung, dass es eine gemeinsame Gruppe zwischen den beiden Benutzern gibt. Wenn eine solche Gruppe nicht existiert, muss eine erstellt werden.

Starten Sie im ersten Terminal tmux, wobei shared der Sitzungsname und shareds der Name des Sockets ist:

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

Ändern Sie dann die Gruppenzugehörigkeit des Sockets zu einer Gruppe, die beide Benutzer gemeinsam haben. In diesem Beispiel ist joint die Gruppe, die beide Benutzer teilen. Wenn es andere Benutzer in der Gruppe gibt, haben auch diese Zugriff. Daher könnte es ratsam sein, dass die Gruppe nur die beiden Mitglieder hat.

chgrp joint /tmp/shareds

Im zweiten Terminal fügen Sie mit diesem Socket und dieser Sitzung hinzu.

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

Das war’s. Die Sitzung kann für den zweiten Benutzer schreibgeschützt gemacht werden, jedoch nur auf freiwilliger Basis. Die Entscheidung, schreibgeschützt zu arbeiten, wird getroffen, wenn der zweite Benutzer der Sitzung beitritt.

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

Teilen zwischen zwei verschiedenen Konten mit Screen

Wenn Sie als zwei verschiedene Benutzer angemeldet sind, gibt es drei Voraussetzungen für die Verwendung von Screen. Erstens muss Screen SUID gesetzt sein, und es ist notwendig, den Gruppen-Schreibzugriff von /var/run/screen zu entfernen. Die Sicherheit der Verwendung von SUID in diesem Kontext ist etwas, das zu berücksichtigen ist. Dann müssen Sie die ACLs von Screen verwenden, um dem zweiten Benutzer die Berechtigung zu gewähren.

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

Starten Sie im Terminal des ersten Benutzers Screen wie im grundlegenden Teilen oben, wobei foobar der Name der Screen-Sitzung ist. Aktivieren Sie dann den Mehrbenutzermodus und fügen Sie user2 zur ACL hinzu, wobei user2 das zweite Konto ist, das die Sitzung teilt.

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

Die Sitzung kann für den zweiten Benutzer schreibgeschützt gemacht werden, indem die folgende ACL-Änderung eingegeben wird: ^A:aclchg user2 -w “#?”

Dann fügen Sie im anderen Terminal der Sitzung des ersten Benutzers hinzu.

screen -x *user1*/foobar

Es ist auch möglich, den Mehrbenutzermodus und acladd user2 in .screenrc zu aktivieren, damit es automatisch beim Starten von Screen wirksam wird. Wenn die Änderungen nicht in allen Screen-Sitzungen gewünscht sind, kann eine separate .screenrc-Konfigurationsdatei angegeben werden, indem die -c-Option beim Starten von Screen verwendet wird.

Nachgedanken

Seien Sie vorsichtig beim Beenden. Wenn Sie einfach die Shell verlassen, wird die Terminalsitzung für alle Parteien beendet. Wenn Sie stattdessen die Sitzung trennen, kann der andere Benutzer ununterbrochen weiterarbeiten. In tmux ist das ^B-d und in Screen ist das ^A-d

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.