mosh
Mosh hält eine Sitzung am Leben, wenn das Netz nicht mitspielt: von WLAN auf Mobilfunk wechseln, den Deckel zuklappen, aus der Reichweite laufen — neu verbinden, und die Sitzung ist noch da. Tessera verbindet das mit etwas, das kein anderer mosh-Client auf iOS bietet: echtem Scrollback.
Mosh setzt voraus, dass mosh-server auf dem Host installiert ist und die
UDP-Ports 60000–61000 standardmäßig offen sind. Wählen Sie es pro Host in der
Transport-Einstellung des Host-Editors.
Roaming
Eine mosh-Sitzung hängt an Ihrer Identität, nicht an Ihrem Netzwerkpfad. Tessera bleibt über Sprünge zwischen WLAN ↔ Mobilfunk, Adresswechsel und Ruhezustand/Aufwachen hinweg angehängt — die Sitzung macht einfach dort weiter, wo die Pakete aufgehört haben. Über ein VPN oder ein Tailnet funktioniert das genauso; mosh braucht nur UDP, um den Server zu erreichen.
Echtes Scrollback
Standard-mosh hat kein Scrollback — es synchronisiert konstruktionsbedingt nur den sichtbaren Bildschirm, alles, was hinausscrollt, wird also nie gesendet. Jeder andere iOS-mosh-Client erbt diese Grenze und verweist Sie auf den Copy-Mode von tmux.
Tessera synthetisiert die Historie stattdessen. In einer mosh-Sitzung mit tmux läuft das Terminal über UDP, während ein zweiter SSH-Seitenkanal mit tmux spricht; beim Hochscrollen holt Tessera die echte Historie über diesen Kanal und zeigt sie an Ort und Stelle — durchsuchbar mit Im Terminal suchen, auswählbar, vollständig.
Wie es sich verhält, während Sie lesen:
- Beim Hochscrollen erscheint die Historie eingefroren an Ort und Stelle — neue Ausgabe reißt Sie nicht wieder nach unten.
- Die Rückkehr nach unten (oder Tippen) blendet die Überlagerung aus und zeigt wieder den aktuellen Live-Bildschirm.
- Ein kräftiger Wisch läuft weiter: Die erste Seite lädt sofort, der Rest der Historie strömt dahinter nach — bis zur vom Server vorgehaltenen Tiefe.
Was es braucht
- Einen tmux-Startmodus. Die Scrollback-Synthese funktioniert mit Sitzungen im Modus Auto-tmux und benanntes tmux (Auto-tmux ist der Standard). Ein mosh-Host, der mit einem eigenen Befehl gestartet wird, hat kein tmux, das man fragen könnte, und scrollt daher wie Standard-mosh.
- Historie auf dem Server. Die Tiefe ist durch das
history-limitvon tmux auf dem Server begrenzt — Tessera kann nur zeigen, was tmux vorgehalten hat. - Den primären Bildschirm. Vollbild-Programme wie
vim,lessundhtopregeln das Scrollen selbst; Tessera reicht Ihre Scroll-Geste als Eingabe an sie weiter, wie es jedes Terminal tut.
Mosh und alles andere
Derselbe SSH-Seitenkanal, der die Historie holt, trägt bei mosh-Hosts auch tmux-Fenster & Bereiche und die Portweiterleitung, und das Dateien-Panel öffnet seine eigene SSH-Brücke — Dateiübertragungen und Tunnel funktionieren also unter mosh und einfachem SSH gleich.
Eine Einschränkung: mosh-UDP kann keinen SSH-Jump-Host durchqueren. Bei einem Host mit Jump-Kette versucht Tessera zuerst mosh und fällt auf SSH zurück, wenn der Server über UDP nicht erreichbar ist. Ein Ziel, das ohnehin über UDP erreichbar ist — etwa über ein VPN oder ein Tailnet —, läuft weiter als mosh.