tmux Sessions
Verwaltet tmux-Sessions auf beliebig vielen entfernten Linux-Hosts direkt aus der
Seitenleiste von VS Code. Für Windows, Linux und macOS.
Ihre Hosts kommen aus der vorhandenen ~/.ssh/config — Sie tragen nichts doppelt ein.
Ein Host wird erst kontaktiert, wenn Sie ihn aufklappen. Jede Session öffnet sich als
integriertes Terminal.
Vorschau-Fassung. Die Erweiterung ist vollständig implementiert und wurde
erfolgreich geprüft, steht aber am Anfang ihres Lebens — mit weiteren Fehlern ist zu
rechnen. Rückmeldungen sind willkommen.
Voraussetzungen
| Voraussetzung |
Anmerkung |
| VS Code 1.74 oder neuer |
ältere Versionen können die Erweiterung nicht installieren |
| SSH-Client |
auf Windows der in Windows 10/11 enthaltene OpenSSH-Client; auf Linux und macOS vorinstalliert |
| SSH-Schlüssel eingerichtet |
die Erweiterung fragt nie nach Passwörtern, sie nutzt Ihre vorhandene SSH-Konfiguration |
| tmux auf den entfernten Hosts |
wird nicht automatisch installiert |
Auf dem lokalen Rechner wird kein tmux gebraucht — die Erweiterung steuert
ausschließlich entfernte Hosts.
Erste Schritte
- In der Aktivitätsleiste am linken Rand das Symbol tmux Sessions anklicken.
- Die Erweiterung liest Ihre
~/.ssh/config. Jeder konkrete Host-Eintrag
erscheint sofort als Knoten — Sie müssen nichts eintragen.
- Einen Knoten aufklappen: Die Erweiterung verbindet sich dann im Hintergrund
und listet die laufenden tmux-Sessions auf.
Steht in Ihrer Konfiguration ein Muster wie Host dev-*, ist das kein Rechner,
sondern eine Vorlage — es erscheint deshalb nicht von selbst. Über Neuer Host
wählen Sie das Muster aus und füllen jeden Platzhalter der Reihe nach aus; der so
entstandene Host wird gemerkt.
Ist ein Host nicht erreichbar, bietet das Kontextmenü des Host-Eintrags
SSH-Schlüssel übertragen an. Damit wird Ihr öffentlicher SSH-Schlüssel auf dem Host
hinterlegt; das Passwort geben Sie dabei selbst im Terminal ein.
Was die Erweiterung leistet
- Host-Verwaltung — Ihre Hosts kommen aus
~/.ssh/config. Ein Host wird erst
angesprochen, wenn Sie seinen Knoten aufklappen; sein Verbindungszustand ist danach am
Knoten ablesbar
- Session-Übersicht — je Host die laufenden tmux-Sessions, alle Hosts
gleichzeitig sichtbar
- Öffnen — jede Session wird ein integriertes Terminal mit dem Titel
session@host; was gemeinsam geöffnet wird, landet in einer Terminal-Gruppe
- Sessions anlegen — neue tmux-Sessions auf dem Host erzeugen und in einem Zug
öffnen, auch auf mehreren Hosts gleichzeitig
- Presets — eine Auswahl als benannte Session-Menge speichern und später mit
einer Aktion vollständig wiederherstellen; fehlende Sessions werden dabei angelegt
- Suche — Befehl Session öffnen… durchsucht alle Sessions aller Hosts
- Tastatur — bei fokussiertem Baum öffnet
Strg+Eingabe, entfernt Entf und
aktualisiert Strg+R den Knoten. Eingabe bleibt der Baumnavigation vorbehalten,
und ein Klick — einfach oder doppelt — löst nie etwas aus
- Mehrsprachig — Deutsch und Englisch, folgt der Anzeigesprache von VS Code
Was sie ausdrücklich nicht leistet
- Kein Ersatz für Remote-SSH — sie verwaltet Sessions, keine Arbeitsumgebungen
- Keine Verwaltung von tmux-Fenstern und Panes innerhalb einer Session
- Keine Verwaltung von Zugangsdaten — die Anmeldung läuft ausschließlich über Ihre
SSH-Schlüssel und Ihren Agenten
- Vorhandene Zeilen in
~/.ssh/config werden nie verändert. Beim Anlegen eines
neuen Hosts wird ein Block hinzugefügt, mehr nicht — und vorher eine
Sicherungskopie angelegt
- Läuft ein VS-Code-Fenster selbst über Remote-SSH, WSL oder in einem Container,
verwaltet die Erweiterung trotzdem die Hosts Ihres lokalen Rechners. Wer die
Sessions des verbundenen Servers will, trägt diesen als Host ein.
Einstellungen
| Einstellung |
Bedeutung |
tmuxSessions.namedHosts |
Hosts, die Sie selbst benannt haben — aus einem Muster ausgefüllt oder frei eingetippt. Konkrete Host-Einträge stehen hier nicht; die kommen aus ~/.ssh/config. |
tmuxSessions.presets |
Die gespeicherten Presets. |
tmuxSessions.confirmThreshold |
Ab wie vielen Sessions vor dem Öffnen nachgefragt wird. 0 schaltet die Rückfrage ab. |
tmuxSessions.sshPath |
Pfad zum SSH-Programm, falls ssh nicht im PATH liegt. |
tmuxSessions.sshOptions |
Zusätzliche Optionen für jeden SSH-Aufruf, etwa ein Sprungserver. |
tmuxSessions.connectTimeoutSeconds |
Wartezeit für den Verbindungsaufbau. |
tmuxSessions.commandTimeoutSeconds |
Wartezeit für einen entfernten Befehl. |
Hilfe bei Problemen
Die Erweiterung schreibt jeden SSH-Aufruf und jeden Fehler in einen eigenen
Ausgabekanal: Ansicht → Ausgabe, dann in der Auswahlliste tmux Sessions.
Damit lässt sich in der Regel selbst erkennen, ob ein Netzwerk-, ein
Authentifizierungs- oder ein tmux-Problem vorliegt.
Häufige Fälle:
| Beobachtung |
Übliche Ursache |
| Ein Host bleibt auf „nicht erreichbar" |
Der SSH-Schlüssel liegt nicht auf dem Host — Kontextmenü, SSH-Schlüssel übertragen |
| Ein Host erscheint gar nicht im Baum |
Der Eintrag in ~/.ssh/config ist ein Muster mit * oder ?, kein konkreter Rechner |
| Der Baum bleibt leer |
Es gibt keine ~/.ssh/config, oder sie enthält keinen Host-Eintrag |
| Eine Session fehlt, obwohl sie läuft |
Auf dem Host fehlt tmux, oder es liegt nicht im PATH der SSH-Sitzung |
Lizenz
MIT — Copyright © 2026 Jörn Schlingensiepen