vim/gvim kann die X11-Zwischenablage nicht in die Register "+" oder "*" einfügen?

vim/gvim kann die X11-Zwischenablage nicht in die Register "+" oder "*" einfügen?

Aufgrund dermangelnde Sicherheit mit StandardVino-Server, ich wechselte zux11vncauf meiner Linux-Box (mit Xubuntu 14.04) und SSVNCauf der Fensterseite.

Mit Vino war das Ausschneiden und Einfügen von Windows nach Linux und Windows in beide Richtungen unzuverlässig (1), aber wenn es funktionierte, funktionierte es für jedes Programm. Ich konnte das vimRegister "+problemlos verwenden. Ich führe aus (2)

autocutsel -fork 

normalerweise so, dass die Auswahl mit dem „mittleren Klick“ und Strg-C/V identisch ist.

Nachdem ich nun x11vnc (aufgerufen mit: x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000) verwende, um eine sichere, verschlüsselte Verbindung zu haben, trat ein Problem auf:

  1. Ich kann unter Windows kopieren und in Remote-Linux-Terminals, LibreOffice usw. problemlos in beide Richtungen einfügen.

  2. In vim, oder , jeder Versuch, mit oder sagt gvimeinzufügen"+p"*pE353: Nothing in register *

  3. Wieder in vimoder gvim, andersherum funktioniert es auch: wenn ich "+yydann kann ich das Ding auf der Windows-Seite einfügen.

Hat jemand eine Ahnung von diesem Problem? Das Seltsame ist, dass das Einfügen überall funktioniert, wo ich nachgesehen habe, aber in vim...

Package                 Installed       Previous        Now             State
=======================-===============-===============-===============-=====
vim                     2:7.4.052-1ubuntu3  2:7.4.052-1ubuntu3  2:7.4.052-1ubuntu3  install
vim-gnome               2:7.4.052-1ubuntu3  2:7.4.052-1ubuntu3  2:7.4.052-1ubuntu3  install

Fußnoten:

(1) kann den Fehler jetzt nicht finden --- er wurde gemeldet. Er funktioniert nach einer Weile nicht mehr.

(2) Ich habe es mit und ohne probiert. Keine Änderung.

Antwort1

Da ich nicht weiß, welches x11vnc Sie verwenden (ich habe drei verschiedene Versionen, es gibt noch andere), ist dies ein Tutorial zur Behebung dieses speziellen Problems.

Zuerst müssen wir die beteiligten Zwischenablagen verstehen. In den meisten Fällen sind vier davon beteiligt. (Mehr sind möglich, wenn Sie Zwischenablage-Verwaltungstools verwenden.) X11 definiert drei Zwischenablagen: Primäre, sekundäre und Zwischenablage. Die sekundäre wird selten verwendet (und ist mit ziemlicher Sicherheit nicht Ihr Problem), daher werden wir sie ignorieren. Anwendungen, die zum Einfügen einen mittleren Klick verwenden (xterm usw.), verwenden normalerweise die primäre Zwischenablage. Anwendungen, die im Windows-Stil einfügen (auf Bearbeiten klicken, auf Einfügen klicken oder Strg+V drücken), verwenden manchmal nur die Zwischenablage. Einige Anwendungen tun beides (Google Chrome fügt mit einem mittleren Klick aus der primären Zwischenablage und mit Strg+V aus der Zwischenablage ein). Als Nächstes gibt es die VNC-Zwischenablage (nur eine) und die Windows-Zwischenablage. (Wenn Sie einen VNC-Viewer verwenden, der auf X11 läuft, wird es komplizierter, aber das wird nach einigem Nachdenken Sinn ergeben.) Die VNC-Zwischenablage ist insofern besonders, als sie verschiedene Aktualisierungen der anderen Zwischenablagen verfolgt, um sie auf dem neuesten Stand zu halten. Wenn Sie die primäre Zwischenablage ignorieren, ist dies ziemlich einfach, da die zuletzt aktualisierte Zwischenablage in alle anderen kopiert wird. Die Herausforderung besteht darin, dass das gewünschte Verhalten der primären Zwischenablage nicht genau definiert ist. Ich habe die folgenden Verhaltensweisen verschiedener VNC-Implementierungen gesehen:

  1. Ignorieren Sie das Primäre und verwenden Sie nur die Zwischenablage.
  2. Ignorieren Sie die Zwischenablage und verwenden Sie nur die primäre.
  3. Verwenden Sie für Kopien von Unix nach Windows die aktuellste Version, für Kopien von Windows nach Unix kopieren Sie beide Kopien.
  4. Gehen Sie clever vor: Verwenden Sie das Primärverzeichnis nur, bis die Zwischenablage verwendet wird, und verwenden Sie dann nur noch die Zwischenablage.
  5. Versuchen Sie, schlauer zu sein: Verwenden Sie das Primäre, bis die Zwischenablage geändert wird, ignorieren Sie dann das Primäre, bis eine Änderung von Windows erfolgt, verwenden Sie dann das nächste geänderte und ignorieren Sie das Primäre wieder, nachdem die Zwischenablage verwendet wurde.
  6. Versuchen Sie, noch schlauer zu sein. (Ich habe nie herausgefunden, was sie damit erreichen wollten, aber normalerweise war es das Richtige.)

Als nächstes kommen die Tools. Es gibt zwei Tools, die ich für das Debuggen von Zwischenablageproblemen für unverzichtbar halte: einen Texteditor (Notepad funktioniert hierfür gut) und xclip. Ein Windows-Zwischenablage-Viewer ist nett, aber nicht unbedingt erforderlich.

Nun zur Vorgehensweise: Wählen Sie in jeder Anwendung in der Gruppe, in der Sie Fehler beheben, einen Text aus, kopieren Sie ihn und prüfen Sie den Status aller drei zugänglichen Zwischenablagen. (Die VNC-Zwischenablage ist sehr schwer direkt anzuzeigen und nicht direkt nützlich, da sie normalerweise nicht die Daten, sondern nur die Metadaten speichert.) Beantworten Sie diese Fragen: Welche Zwischenablage verwendet jede Anwendung? In welcher Reihenfolge werden sie verwendet?

Hoffentlich sind dies genügend Informationen für den Einstieg.

verwandte Informationen