Wie kann ich die Zwischenablage von Terminalanwendungen auf einem Server ohne X synchronisieren?

Wie kann ich die Zwischenablage von Terminalanwendungen auf einem Server ohne X synchronisieren?

Auf Rechnern mit X-Server habe ich die selectionZwischenablage verwendet, um Kopieren/Einfügen zwischen GUI- und Terminalprogrammen zu synchronisieren. Jetzt habe ich einen Server ohne X, auf dem ich Kopieren/Einfügen zwischen Terminalanwendungen synchronisieren möchte, z. B. zshund vimund tmux. Später möchte ich diese Zwischenablage außerdem mit der Systemzwischenablage des Mac synchronisieren, den ich für die SSH-Verbindung zum Linux-Server verwende.

Ist ein solches Setup möglich? Konkret:

  • Gibt es eine gemeinsame Zwischenablage für Linux, um Kopieren/Einfügen zwischen Terminalanwendungen zu synchronisieren, ohne dass X11 ausgeführt werden muss?

  • Gibt es dafür ein ähnliches xselTool xclip?

  • Oder noch besser: Gibt es ein Tool wie dieses, das mit und ohne laufenden X-Server funktioniert, sodass ich für beide Szenarien dieselben Konfigurations-/Dotfiles verwenden kann?

  • Und schließlich – und ich gebe zu, dass dies ein etwas anderes Thema ist – wie könnte diese Zwischenablage mit der eines SSH-Clients synchronisiert werden?

Antwort1

Es gibt keine gemeinsame Zwischenablage für Terminalanwendungen. tmux, zsh und vim haben jeweils ihre eigene Zwischenablage.

tmux verfügt über einen Mechanismus, um kopierten Text mit einer Escape-Sequenz (die set-clipboardOption) an das externe Terminal zu senden und auch die Zwischenablage zu lesen ( refresh-client -l). Nur X-Terminals unterstützen diese Funktion und nicht alle.

tmux unterstützt auch dieselbe Escape-Sequenz (OSC 52), sodass Anwendungen innerhalb von tmux den aktuellsten Einfügepuffer lesen können (wenn dieser set-clipboardauf gesetzt ist on). Meines Wissens wird dies jedoch von nur wenigen Anwendungen verwendet, wenn überhaupt.

Mit tmux können Sie außerdem Einfügepuffer mit dem save-bufferBefehl in einer Datei oder auf stdout speichern und mit dem Befehl laden load-buffer. Dies ist wahrscheinlich einfacher zu verwenden als OSC 52.

Ich gehe davon aus, dass es möglich wäre, Skripte für zsh und vim zu schreiben, um die eine oder andere dieser Funktionen zum Festlegen und Abrufen ihrer Zwischenablage zu verwenden.

Also ja, Sie könnten etwas zusammenbasteln, indem Sie alles in tmux ausführen, tmux zum Speichern der Zwischenablage verwenden und einige Skripte schreiben, um es von vim, zsh usw. abzurufen und festzulegen, aber ich denke, Sie müssen das selbst tun, es gibt keine bestehende Lösung.

verwandte Informationen