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

15

Aufgrund des Mangels an Sicherheit beim Standard- Vino-Server habe ich auf meinem Linux- Rechner (mit Xubuntu 14.04) auf x11vnc und auf der Windows-Seite auf SSVNC umgestellt .

Mit Vino war das Ausschneiden und Einfügen von Windows in Linux und Windows in beiden Richtungen flockig (1), aber wenn es funktionierte, funktionierte es für jedes Programm. Ich könnte das vimRegister "+ohne Problem benutzen . Ich renne (2)

autocutsel -fork 

Normalerweise sind die Auswahlmöglichkeiten "Mittelklick" und Strg-C / V gleich.

Nun, da ich x11vnc (aufgerufen mit:) verwende x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000, um eine sichere, verschlüsselte Verbindung zu haben, ist ein Problem aufgetreten :

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

  2. In vimoder gvimjeder Versuch, mit "+poder zu fügen, "*psagtE353: Nothing in register *

  3. Wieder in vimoder gvimumgekehrt funktioniert: Wenn ich "+yydann das Ding auf der Windows-Seite einfügen kann.

Wie jemand eine Ahnung von diesem Problem? Das Seltsame ist, dass Paste überall funktioniert, wo ich eingecheckt 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 Bug jetzt nicht finden --- es wird berichtet. Es funktioniert nach einer Weile nicht mehr.

(2) Ich habe es mit und ohne versucht. Keine Änderungen.

Rmano
quelle
Ich hatte viele Probleme mit x11vnc im Zusammenhang mit verschiedenen Sprachumgebungen auf Host und Client, insbesondere beim Steuern von VMware-Gästen über vnc auf dem Server. Ich habe es endlich gelöst, indem ich einen Nomachine-Server auf dem Host-System installiert habe. Ich weiß, dass dies wahrscheinlich nicht die Lösung ist, an die Sie denken, aber nomachine und nxclient sind beide sicher, sehr schnell und alles wird durch ssh getunnelt.
Floyd
2
Ich verwende kein vnc, aber ich habe alle meine Probleme mit der Interoperabilität der Zwischenablage zwischen vim und Betriebssystemen folgendermaßen behoben: (1) set clipboard=unnamedplusVerwendung von (2) alias vim='gvim -v'in meinem .bashrcs in jedem Linux (um bestimmte Distributionen zu umgehen, die vim ohne X-Zwischenablage-Unterstützung kompilieren) (3) set clipboard=unnamedin Fenstern. Ich hoffe es hilft.
Patryk Obara
@PatrykObara wird es versuchen ... nächstes Mal muss ich einen Windows-PC benutzen. Ich habe jetzt nur ein Linux-Setup und keine Probleme ... Danke.
Rmano

Antworten:

1

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

Zunächst müssen Sie die beteiligten Zwischenablagen verstehen. Meist sind es vier. (Wenn Sie Werkzeuge zur Verwaltung der Zwischenablage verwenden, ist mehr möglich.) X11 definiert drei Zwischenablagen: Primär, Sekundär und Zwischenablage. Sekundär wird selten verwendet (und ist mit ziemlicher Sicherheit nicht Ihr Problem), daher werden wir es ignorieren. Anwendungen, die das Einfügen mit mittlerem Mausklick verwenden (xterm usw.), verwenden normalerweise die primäre Zwischenablage. Anwendungen, die ein Einfügen im Windows-Stil ausführen (klicken Sie auf Bearbeiten, klicken Sie auf Einfügen oder steuern Sie V), verwenden manchmal nur die Zwischenablage der Zwischenablage. Einige Anwendungen können beides (Google Chrome fügt mit einem mittleren Mausklick aus der Primärdatenbank und mit einem Steuerelement V aus der Zwischenablage ein). Weiter ist die VNC-Zwischenablage (nur eine) und es gibt die Windows-Zwischenablage. (Wenn Sie einen VNC-Viewer verwenden, der auf X11 läuft, werden die Dinge komplizierter, aber das macht Sinn, wenn Sie darüber nachdenken. ) Die VNC-Zwischenablage zeichnet sich dadurch aus, dass sie verschiedene Aktualisierungen der anderen Zwischenablagen aufzeichnet, um sie auf dem neuesten Stand zu halten. Wenn Sie die primäre Zwischenablage ignorieren, ist dies relativ 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 von verschiedenen VNC-Implementierungen gesehen:

  1. Ignorieren Sie die primäre, verwenden Sie nur die Zwischenablage.
  2. Ignoriere die Zwischenablage, verwende nur die primäre.
  3. Verwenden Sie die neueste Version für Unix-zu-Windows-Kopien, und kopieren Sie sie für Windows-zu-Unix-Kopien auf beide.
  4. Versuchen Sie schlau zu sein: Verwenden Sie nur die primäre, bis die Zwischenablage verwendet wird, und verwenden Sie dann nur die Zwischenablage.
  5. Versuchen Sie schlauer zu sein: Verwenden Sie die Primärdaten, bis die Zwischenablage geändert wurde, und ignorieren Sie die Primärdaten, bis eine Änderung in Windows erfolgt. Verwenden Sie dann die nächste Änderung und ignorieren Sie die Primärdaten nach der Verwendung der Zwischenablage erneut.
  6. Versuche noch schlauer zu sein. (Ich habe nie herausgefunden, was sie damit machen wollten, aber normalerweise hat es das Richtige getan)

Als nächstes kommen die Werkzeuge. Es gibt zwei Tools, die ich für wichtig halte, um Probleme mit der Zwischenablage zu beheben: einen Texteditor (der Editor funktioniert einwandfrei) und xclip. Ein Windows-Zwischenablage-Viewer ist nett, aber nicht unbedingt erforderlich.

Jetzt die Prozedur: Wählen Sie aus jeder Anwendung in der Gruppe, für die Sie eine Problembehandlung durchführen, Text aus und kopieren Sie ihn, um den Status aller drei zugänglichen Zwischenablagen zu überprüfen. (Die vnc-Zwischenablage ist sehr schwer direkt anzuzeigen und nicht direkt nützlich, da normalerweise nicht die Daten, sondern nur die Metadaten gespeichert werden.) Beantworten Sie die folgenden Fragen: Welche Zwischenablage verwendet jede Anwendung? In welcher Reihenfolge werden sie verwendet?

Hoffentlich sind dies genug Informationen, um Ihnen den Einstieg zu erleichtern.

hildred
quelle
Vielen Dank! Ich kann momentan leider nicht testen, ich habe fast Fenster aus meinen PCs geworfen ;-). Ich werde eine Untersuchung versuchen, sobald ich gezwungen bin, Windows wieder zu verwenden ...
Rmano