Im Vergleich
| Aufgabe | tmux | screen |
|---|---|---|
| Prefix-Taste | Strg+b | Strg+a |
| Neue benannte Sitzung | tmux new -s work | screen -S work |
| Trennen | Strg+b d | Strg+a d |
| Sitzungen auflisten | tmux ls | screen -ls |
| Anhängen | tmux attach -t work | screen -r work |
| Im Hintergrund starten | tmux new -d -s work | screen -dmS work |
| Neues Fenster | Strg+b c | Strg+a c |
| Oben und unten teilen | Strg+b " | Strg+a S |
| Nebeneinander teilen | Strg+b % | Strg+a | |
| Nächste Region oder nächstes Pane | Strg+b o | Strg+a Tab |
| Tasten aus einem Skript senden | tmux send-keys -t work 'ls' Enter | screen -S work -X stuff 'ls\n' |
| Statusleiste standardmäßig | Ja | Nein |
| Serielle Ports | Nein | Ja, zum Beispiel screen /dev/ttyUSB0 115200 |
| Lizenz | ISC und BSD-artig | GPL |
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.