# 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](https://bambouville.com/docs/de/connections/#transport-ssh-oder-mosh).

## 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](https://bambouville.com/docs/de/keyboard/#im-terminal-suchen), auswählbar, vollständig.

![Eine mosh-Sitzung in Tessera, zurückgescrollt durch ein langes git log mit vollständig dargestellten Commit-Nachrichten und Diffstats, darunter die sichtbare Shell-Eingabeaufforderung.](https://bambouville.com/docs/assets/img/mosh-scrollback.png)

*Eine mosh-Sitzung, tief in ein git log zurückgescrollt — Historie, die Standard-mosh verworfen hätte.*

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-limit` von tmux
  auf dem Server begrenzt — Tessera kann nur zeigen, was tmux vorgehalten hat.
- **Den primären Bildschirm.** Vollbild-Programme wie `vim`, `less` und `htop`
  regeln 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](https://bambouville.com/docs/de/tmux/) und die
[Portweiterleitung](https://bambouville.com/docs/de/port-forwarding/#mosh-und-weiterleitung), und das
[Dateien-Panel](https://bambouville.com/docs/de/files/) ö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](https://bambouville.com/docs/de/connections/#jump-hosts) 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.
