vim / gvim ne parvient pas à mettre le presse-papiers X11 dans les registres "+ ou" *?

En raison du manque de security avec le server vino standard , je suis passé à utiliser x11vnc sur ma boîte Linux (avec Xubuntu 14.04) et SSVNC sur le côté Windows.

Avec vino, couper et coller des windows vers Linux et les windows, dans les deux directions, était flaky (1) mais quand cela fonctionnait, cela fonctionnait pour chaque programme; Je pourrais utiliser le registre vim "+ sans problème, je cours (2)

 autocutsel -fork 

normalement pour que les sélections "clic du milieu" et ctrl-c / v soient les mêmes.

Maintenant que j'utilise x11vnc (appelé avec x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000 ) pour avoir une connection sécurisée et cryptée, un problème s'est posé:

  1. Je peux copyr sur Windows et coller dans les terminaux Linux distants, libreoffice etc. sans aucun problème, dans les deux sens.

  2. Dans vim , ou gvim , toute tentative de coller avec "+p ou "*p dit E353: Nothing in register *

  3. Encore une fois dans vim ou gvim , l'inverse fonctionne: si je "+yy alors je peux coller la chose du côté Windows.

Quelqu'un at-il une idée de ce problème? La chose étrange est que la pâte fonctionne partout, j'ai vérifié mais dans 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 

Notes de bas de page:

(1) ne peut pas find le bug maintenant — il est signalé. Il cesse de fonctionner après un certain time.

(2) J'ai essayé avec et sans. Aucun changement.

Puisque je ne sais pas quel x11vnc vous utilisez (j'ai trois versions différentes, il y en a d'autres), il s'agit d'un tutoriel pour dépanner ce problème spécifique.

Tout d'abord, il faut comprendre les presse-papiers impliqués. Il y a dans la plupart des cas quatre d'entre eux impliqués. (Plus est possible si vous utilisez des outils de gestion du presse-papiers.) X11 définit trois presse-papiers: primaire, secondaire et Presse-papiers. Le secondaire est rarement utilisé, (et n'est certainement pas votre problème), donc nous l'ignorerons. Les applications qui utilisent le clic du milieu pour coller (xterm, et al) utilisent normalement le presse-papiers principal. Les applications qui effectuent un collage de style Windows (click modifier, click coller ou contrôler V) n'utilisent parfois que le presse-papiers du presse-papiers. Certaines applications font les deux (Google Chrome colle de primaire avec un clic du milieu et du presse-papiers avec un contrôle V). Ensuite, le presse-papier VNC (un seul) et il y a le presse-papiers de Windows. (Si vous utilisez un visualiseur vnc fonctionnant sur X11, les choses deviennent plus compliquées, mais cela aura du sens après avoir réfléchi à cela.) Le presse-papiers VNC est spécial en ce qu'il permet de suivre les différentes mises à jour des autres presse-papiers pour les garder à jour rendez-vous amoureux. Si vous ignorez le presse-papiers principal, cela est assez simple en ce que le presse-papiers le plus récemment mis à jour est copié sur tous les autres. Le défi est que le comportement souhaité du presse-papiers primaire n'est pas bien défini. J'ai vu les comportements suivants de diverses implémentations de vnc:

  1. Ignorer le primaire, utiliser le presse-papiers seulement.
  2. Ignorez le presse-papier, utilisez le primaire uniquement.
  3. Utilisez le plus récent pour unix pour les copys de Windows, copyz les deux pour les copys de Windows vers Unix.
  4. Essayez d'être intelligent: utilisez le primaire uniquement jusqu'à ce que le presse-papiers est utilisé, puis utilisez seulement le presse-papiers.
  5. Essayez d'être plus intelligent: utilisez le primaire jusqu'à ce que le presse-papiers soit changé, ignorez le primaire jusqu'à ce qu'il y ait un changement de Windows, puis utilisez le changement suivant, ignorant à nouveau le primaire après utilisation du presse-papiers.
  6. Essayez d'être encore plus intelligent. (Je n'ai jamais compris ce qu'ils essayaient de faire avec celui-ci, mais généralement, il a fait la bonne chose)

Ensuite sont les outils. Il y a deux outils que je considère comme essentiels pour le debugging des problèmes de presse-papiers: un éditeur de text (bloc-notes fonctionne bien) et xclip. Une visionneuse de presse-papiers Windows est agréable mais pas indispensable.

Maintenant, la procédure: à partir de chaque application du groupe que vous dépannez, select et copyz du text en vérifiant l'état des trois blocs-notes accessibles. (Le presse-papiers vnc est très difficile à visualiser directement et pas directement utile car il ne stocke généralement pas datatables, seulement les métadonnées.) Répondre à ces questions: quel presse-papiers chaque application utilise-t-il? dans quel ordre sont-ils utilisés?

Espérons que c'est assez d'informations pour vous aider à démarrer.