tmux oder screen: Was ist der Unterschied?

Beide lassen Programme auf einem Server weiterlaufen, nachdem Sie die Verbindung getrennt haben, und dafür taugt jedes von beiden. tmux hat standardmäßig eine Statusleiste und einfache Panes, und jede Aktion ist ein benannter Befehl, den Sie skripten können. GNU screen ist das ältere Werkzeug und kann sich zusätzlich mit seriellen Ports verbinden. Ist keines von beiden schon Gewohnheit, ist tmux der einfachere Einstieg. Auf einem Server, der nur screen hat, nehmen Sie screen.

Sie starten lange Aufgaben auf einem Server? Wardterm kann Ihnen sagen, wann sie fertig sind. Zeigen

Aktualisiert am . tmux 3.5a und screen 4.09.01 unter Debian 13 in einem Wegwerf-Container: Sitzungen im Hintergrund gestartet, aufgelistet, Tasten von außen gesendet und beendet. Dazu das screen 4.00.03, das macOS 27 mitbringt.

Im Vergleich

Aufgabetmuxscreen
Prefix-TasteStrg+bStrg+a
Neue benannte Sitzungtmux new -s workscreen -S work
TrennenStrg+b dStrg+a d
Sitzungen auflistentmux lsscreen -ls
Anhängentmux attach -t workscreen -r work
Im Hintergrund startentmux new -d -s workscreen -dmS work
Neues FensterStrg+b cStrg+a c
Oben und unten teilenStrg+b "Strg+a S
Nebeneinander teilenStrg+b %Strg+a |
Nächste Region oder nächstes PaneStrg+b oStrg+a Tab
Tasten aus einem Skript sendentmux send-keys -t work 'ls' Enterscreen -S work -X stuff 'ls\n'
Statusleiste standardmäßigJaNein
Serielle PortsNeinJa, zum Beispiel screen /dev/ttyUSB0 115200
LizenzISC und BSD-artigGPL

Unterschiede, die in der Praxis zählen

Panes

Ein tmux-Pane ist vom Moment des Teilens an eine Shell. Eine neue screen-Region ist leer, und Sie müssen in sie wechseln und Strg+a c drücken.

Die Prefix-Taste

In einer Shell springt Strg+a normalerweise an den Zeilenanfang. Unter screen drücken Sie dafür Strg+a a. tmux verwendet Strg+b, das seltener gebraucht wird.

Skripte

Beide lassen sich von außen steuern, wie die Tabelle zeigt. tmux bietet mehr, etwa tmux capture-pane -p, um den Bildschirm zu lesen, und tmux has-session, um auf eine Sitzung zu prüfen.

Verfügbarkeit

Auf einem minimalen Server ist keines von beiden sicher vorhanden, aber unter Debian und Ubuntu können Sie beide aus den Standard-Paketquellen installieren:

sudo apt install tmux
sudo apt install screen

Debian 13 hat tmux 3.5a und screen 4.9.1 in den Paketen. macOS bringt noch screen 4.00.03 von 2006 mit, aber kein tmux. Das aktuelle tmux gibt es auf einem Mac über Homebrew: brew install tmux.

Wenn sich eine Sitzung nicht anhängen lässt

Eine Sitzung, die noch woanders angehängt ist, öffnet sich mit einem einfachen screen -r nicht, das There is no screen to be resumed matching work. ausgibt. Verwenden Sie screen -d -r work, um sie zuerst von der anderen Stelle zu trennen. In tmux macht tmux attach -d -t work dasselbe.

Die vollständige Liste der tmux-Befehle finden Sie im tmux-Cheat-Sheet.

Warum eine Sitzung eine unterbrochene Verbindung übersteht, erklärt SSH-Sitzungen mit tmux am Leben halten.

Fragen

Ist tmux besser als screen?

Um Programme nach dem Trennen weiterlaufen zu lassen, eignen sich beide. tmux ist für den Einstieg einfacher, mit Statusleiste, fertigen Panes und skriptbaren Befehlen. screen ist die Wahl für serielle Schnittstellen oder wenn es das einzige Werkzeug auf dem Server ist.

Welches ist standardmäßig installiert?

Auf einem minimalen Server ist keines von beiden sicher vorhanden. Unter Debian und Ubuntu installieren Sie eines davon mit sudo apt install tmux oder sudo apt install screen.

Kann man eine tmux-Sitzung von zwei Orten gleichzeitig öffnen?

Ja. tmux attach -t work tritt einer Sitzung bei, die anderswo verbunden ist, und tmux attach -d -t work trennt sie vorher dort.

Quellen

Mehr zu Sitzungen und tmux

Alle Anleitungen