vim / gvim n'a pas réussi à mettre le presse-papiers X11 dans les registres «+ ou» *?

15

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

Avec vino, couper et coller de Windows vers Linux et Windows, dans les deux directions, était floconneux (1) mais quand cela fonctionnait, cela fonctionnait pour tous les programmes; Je pourrais utiliser le vimregistre "+sans problème. Je cours (2)

autocutsel -fork 

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

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

  1. Je peux copier 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 "+pou "*pditE353: Nothing in register *

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

Comme quelqu'un a une idée de ce problème? Ce qui est étrange, c'est que la pâte fonctionne partout où 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 trouver le bogue maintenant --- il est signalé. Il cesse de fonctionner après un certain temps.

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

Rmano
la source
J'ai eu de nombreux problèmes avec x11vnc liés aux différentes langues locales sur l'hôte et le client, en particulier lors du contrôle des invités vmware via vnc sur le serveur. Je l'ai finalement «résolu» en installant un serveur nomachine sur le système hôte. Je sais que ce n'est probablement pas la solution que vous avez en tête, mais nomachine et nxclient sont à la fois sécurisés, très rapides et tout est tunnelé via ssh.
Floyd
2
Je n'utilise pas vnc, mais j'ai résolu tous mes problèmes d'interopérabilité du presse-papiers entre vim et OS en: (1) utilisant set clipboard=unnamedplusdans chaque linux que j'utilise (2) alias vim='gvim -v'dans mes .bashrcs (pour contourner certaines distributions compilant vim sans le support du presse-papiers X) (3) set clipboard=unnameddans les fenêtres. J'espère que cela aide.
Patryk Obara
@PatrykObara va essayer ... la prochaine fois que je dois utiliser un PC Windows. J'ai une configuration Linux uniquement maintenant et aucun problème ... Merci.
Rmano

Réponses:

1

Étant donné que je ne sais pas quel x11vnc vous utilisez (j'ai trois versions différentes, il y en a d'autres), c'est un tutoriel pour résoudre ce problème spécifique.

La première consiste à comprendre les presse-papiers impliqués. Dans la plupart des cas, quatre d'entre eux sont impliqués. (Plus est possible si vous utilisez les outils de gestion du presse-papiers.) X11 définit trois presse-papiers: principal, secondaire et presse-papiers. Le secondaire est rarement utilisé (et ce n'est certainement pas votre problème), nous l'ignorerons donc. Les applications qui utilisent le clic du milieu pour coller (xterm, et al) utilisent normalement le presse-papiers principal. Les applications qui font un collage de style Windows (cliquez sur modifier, cliquez sur coller ou contrôlez V) utilisent parfois uniquement le presse-papiers du presse-papiers. Certaines applications font les deux (Google Chrome colle du primaire avec un clic du milieu et du presse-papiers avec un contrôle V). Vient ensuite le presse-papiers VNC (un seul) et le presse-papiers Windows. (Si vous utilisez une visionneuse vnc exécutée sur X11, les choses deviennent plus compliquées, mais cela aura du sens après y avoir réfléchi. ), le presse-papiers VNC a la particularité de garder une trace des diverses mises à jour des autres presse-papiers pour les maintenir à jour. Si vous ignorez le presse-papiers principal, cela est assez simple en ce sens que le presse-papiers le plus récemment mis à jour est copié dans tous les autres. Le défi est que le comportement souhaité du presse-papiers principal n'est pas bien défini. J'ai vu les comportements suivants de diverses implémentations vnc:

  1. Ignorez le principal, utilisez uniquement le presse-papiers.
  2. Ignorez le presse-papiers, utilisez uniquement le primaire.
  3. Utilisez la plus récente pour les copies Unix vers Windows, copiez les deux pour les copies Windows vers Unix.
  4. Essayez d'être intelligent: utilisez le primaire uniquement jusqu'à ce que le presse-papiers soit utilisé, puis utilisez uniquement le presse-papiers.
  5. Essayez d'être plus intelligent: utilisez le principal jusqu'à ce que le presse-papiers soit changé, puis ignorez le principal jusqu'à ce qu'il y ait un changement de Windows, puis utilisez le suivant modifié, en ignorant à nouveau le principal après l'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 en général, c'était la bonne chose)

Viennent ensuite les outils. Il existe deux outils que je considère essentiels pour déboguer les problèmes du presse-papiers: un éditeur de texte (le bloc-notes fonctionne bien pour cela) 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, sélectionnez et copiez du texte vérifiant l'état des trois presse-papiers accessibles. (Le presse-papiers vnc est très difficile à afficher directement et n'est pas directement utile car il ne stocke normalement pas les données, uniquement les métadonnées.) Répondez à ces questions: quel presse-papiers chaque application utilise-t-elle? quel ordre sont-ils utilisés?

J'espère que c'est assez d'informations pour vous aider à démarrer.

hildred
la source
Merci! Je ne peux malheureusement pas tester en ce moment, j'ai presque abandonné les fenêtres de mon PC ;-). J'essaierai une enquête dès que je serai obligé d'utiliser Windows à nouveau ...
Rmano