Die meisten (oder alle?) Anleitunge im Netz für einen Gameserver im Hintergrund laufen lassen, basieren auf screen. Bis heute frage ich mich, wieso tmux hierbei nicht beliebter geworden ist?

Falls du oft mit (Game)Server im Hintergrund – oder mit sehr vielen Servern (Cluster o.ä.) – zu tun hast, nimm dir die Zeit meine Erklärung zu verstehen.

Einleitung

[quote_right]Du wirst tmux lieben![/quote_right]tmux ist Bestandteil vieler Linux-Distributionen Repositories. tmux ist ähnlich wie screen aber einfacher, übersichtlicher und handlicher sowie (in meinen Augen) praktischer. Wie im Artikelbild zu sehen, kann tmux mehrere Tabs öffnen, oder aber innerhalb eines Tabs mehrere Sessions aufbauen. Dadurch muss man den gestarteten Gameserver keineswegs „in den Hintergrund verbannen“, denn genau das möchte ich nicht. Ich möchte während ich an anderen Dingen auf dem Server arbeite jederzeit die Möglichkeit haben, in einem zweiten Tab den Status des Servers zu begutachten oder gar mitverfolgen und troubleshooten – trotzdem soll alles geöffnet bleiben wenn ich mein Putty oder Terminal abwürge oder die Verbindung plötzlich abbricht. Hier liegt die Stärke von tmux: Meine Anordnung der Fenster’chen und der Gameserver darin bleiben 100% online, genau wie bei screen.

Features

  • Mehrere Tabs mit unterschiedlichen Sessions
  • Alles bleibt geöffnet bei einem Disconnect/Fenster schliessen.
  • Mehrere Fenster innerhalb eins Tabs
  • Super einfache Tab/Fenster Verwaltung
  • Synchrone Tastatureingabe, also die Befehle zeitgleich auf mehreren Servern absetzen = kein Problem 🙂
  • Anpassen an eigene Bedürfnisse wie auto-open Sessions auf Servergruppen usw.

Selbst ausprobieren

Also, legen wir los. Installiere tmux auf deinem (Game-)Server über das offizielle Repository deiner Distribution. Es ist ganz egal, wie du auf deinen Server verbindest (Putty/Terminal)

Ubuntu oder Debian:

sudo apt-get install tmux

Starte tmux einfach mit dem Befehl „tmux„.
Du befindest dich jetzt in Tab 0.
Merke: Nach einem Disconnect (einen Tag später zb) die tmux Session wiederherstellen mit „tmux a„. Ganz wichtig. Und auch wichtig: Derselbe System-User sein, wie letztes Mal.

So. Um das Grundlegende zu verstehen, zeige ich hier wie du

  1. neue Tabs öffnen und schliesst
  2. zwischen Tabs umherspringst
  3. die Tabs splittest oder
  4. in einem Tab scrollst
  5. eine geschlossene tmux Session wieder öffnest.

Jeder Befehl an tmux startet mit der Tastenkombination STRG+b. Damit ist tmux im Modus „Ich warte auf deine Befehle!“

 

GO!

1) Neuer Tab öffnen in tmux:
Tastenkombination STRG+b und danach einzeln Buchstabe c
Du befindest dich im neuen Tab. Schliessen kannst du diesen jederzeit mit exit oder STRG+d

2) Von Tab zu Tab springen
STRG+b und p [p = previous = zurück] oder
STRG+b und 0 [0 = die Zahl deines ersten Tabs]
STRG+b und n [n = next = vorwärts] oder
STRG+b und 1 [1 = die Zahl deines zweiten Tabs]

Total einfach, oder?

3) Tab Fenster splitten (mehrere Panes)
STRG+b und % [% = vertikales splitten, neue Session rechts]
STRG+b und  [“ = horizontales splitten, neue Session unten]

Um die Anordnung dieser Splits (Bsp. 1/2 Links, 2x 1/4 rechts) zu ändern, hat tmux 5 vordefinierte „Layouts“. Wiederhole folgenden Befehl so lange, bis dir die Anordnung der Splits gefällt
STRG+b und Leertaste [Leertaste = das nächste der 5 Layouts wird ausgewählt]

Cursor von einem Split zum nächsten springen
STRG+b und Pfeil links/rechts/auf/ab [= Cursor ins daneben liegende Tab springen, gemäss Pfeilrichtung]

Tab umbenennen
STRG+b und , [, = Namen ändern des Tabs, worin du dich befindest]

tmux schliessen
STRG+b und d [d = dettach = tmux in den Hintergrund verbannen, ohne tmux weiterarbeiten]

4) tmux Scroll-Modus
STRG+b und [ (Danach mit PageUP/PageDOWN oder Pfeiltasten durchscrollen)
Scrollmodus verlassen: Taste Q

5) tmux wieder öffnen (nach Disconnect etc.) – als selber User!
tmux a

tmux help
STRG+b und ?

Zum Schluss das tollste Feature ever: Befehle synchron auf mehreren Sessions eingeben (z.B. Clusterverwaltung oder Patching mehrere Server, und nur 1x tippen ;))
STRG+b und :set-window-option synchronize-panes [:set-window-option synchronize-panes = Schaltet die Panels synchron, jede Tastatureingabe erfolgt in allen Splits zeitgleich.]
Kann mit z.B. :set-w TAB-TAB auto-ergänzt werden, man muss natürlich nicht alles von Hand eintippen..]

Viel Spass damit!

TEILEN
elysium
Elysium spielt seit 2012 unter Linux, aktuell mit Linux Mint 18. Beruflich bin ich im Bereich Middleware auf Linux-Server unterwegs. Für diverse Adobe Applikationen bleibt mein Dualboot Linux/Windows bestehen. Und in seltenen Fällen für DirectX only Games..

8 KOMMENTARE

  1. Super Anleitung 🙂

    Habe bis jetzt immer screen genutzt und habe erst vor kurzem von tmux gehört. Gerade die Funktion mit dem Window Splitting macht es einfach sich auf der einen Seite die Log anzuschauen und auf der anderen Seite am Server zu arbeiten bzw. auf Fehlersuche zu gehen 🙂

    Muss mich jetzt auch mal einarbeiten, dass ich zumindest bei „neueren“ Servern die Skripte auf tmux umstelle.

HINTERLASSE EINE ANTWORT