Zugriff auf Zwischenablage mit Vim über SSH

Aus Salber.net

Wechseln zu: Navigation, Suche

Um über SSH im Vim auf die lokale Zwischenablage zugreifen zu können, muss das richtig konfiguriert sein.

Hier die nötigen Schritte, um mit einem Mac OS X-Rechner über SSH auf einen Ubuntu-Server zuzugreifen:

  1. Am Client muss ein X11-Server installiert sein.
    Da die Übertragung der Zwischenablage über SSH mit Hilfe von X11-Forwarding funktioniert, muss auf beiden Seiten X11 vorhanden sein. Für Mac OS X kann XQuartz als X-Server verwendet werden.
  2. Am Server muss ein Vim mit X11-Unterstützung installiert sein.
    In Ubuntu gibt es dazu das Paket vim-gtk.
  3. "Trusted X11 forwarding" aktivieren
    Bei Verbindungen, wo die Verwendung der Zwischenablage gewünscht ist, mit ssh -Y server verbinden. Das -Y sorgt für "vertrauenswürdiges X11-Forwarding", bei dem die X11 SECURITY extensions nicht verwendet werden. Das bewirkt vereinfacht gesagt, dass der Server vollen Zugriff auf die X11-Anzeige am Client bekommt, also auch auf X11-Fenster, die nicht zur SSH-Sitzung gehören. Daher sollte das nur bei vertrauenswürdigen Servern aktiviert werden.
    Wenn man will, kann dieses Forwarding (für bestimmte Server) auch automatisch aktiviert werden, indem man in der Datei ~/.ssh/config am Client im entsprechenden Host-Abschnitt die Optionen ForwardX11 und ForwardX11Trusted auf yes setzt. Details dazu gibt es in man ssh_config. Für eine einzelne Verbindung kann das X11-Forwarding mit ssh -x server wieder aufgehoben werden.

Wenn nun am Server Vim gestartet wird, öffnet sich am Client X11 und die Zwischenablage des Clients steht zur Verfügung.

Hinweis: Aufgrund eines Fehlers in XQuartz funktioniert die Synchronisierung der Zwischenablage nicht auf Anhieb. Wenn man aber in XQuartz selbst etwas mit CMD+C kopiert, z.B. irgendwas aus einem xterm-Fenster, dann funktioniert es richtig.

Siehe auch:

Persönliche Werkzeuge