GNU/Linux >> Tutoriels Linux >  >> Linux

Vim/gvim ne parvient pas à placer le presse-papiers X11 dans les registres « + ou » * ?

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

Avec vino, copier-coller de windows vers Linux et windows, dans les deux sens, c'était floconneux(1) mais quand ça marchait, ça marchait pour tous les programmes; Je pourrais utiliser le vim enregistrer "+ 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 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 collage 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é de Windows.

Comme quelqu'un a-t-il une idée de ce problème? La chose étrange est que coller fonctionne partout où j'ai coché sauf 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.

Réponse acceptée :

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

La première consiste à 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 de presse-papiers.) X11 définit trois presse-papiers :principal, secondaire et presse-papiers. Le secondaire est rarement utilisé (et n'est certainement pas votre problème), nous l'ignorerons donc. Les applications qui utilisent le clic central pour coller (xterm, et al) utilisent normalement le presse-papiers principal. Les applications qui effectuent un collage de style Windows (cliquez sur modifier, cliquez sur coller ou contrôlez V) utilisent parfois uniquement le 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 il y a le presse-papiers Windows. (Si vous utilisez une visionneuse vnc fonctionnant sur X11, les choses deviennent plus compliquées, mais cela aura du sens après y avoir réfléchi.) le presse-papiers VNC est spécial en ce qu'il garde une trace des diverses mises à jour des autres presse-papiers pour les tenir à Date. Si vous ignorez le presse-papiers principal, c'est assez simple dans la mesure où 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 constaté les comportements suivants de diverses implémentations vnc :

  1. Ignorer le primaire, utiliser uniquement le presse-papiers.
  2. Ignorez le presse-papiers, utilisez uniquement le principal.
  3. Utilisez les copies les plus récentes pour unix vers Windows, copiez les deux pour les copies Windows vers Unix.
  4. Essayez d'être intelligent :n'utilisez le primaire que jusqu'à ce que le presse-papiers soit utilisé, puis n'utilisez que le presse-papiers.
  5. Essayez d'être plus intelligent :utilisez le primaire jusqu'à ce que le presse-papiers soit modifié, puis ignorez le primaire jusqu'à ce qu'il y ait un changement de Windows, puis utilisez le prochain changement, en ignorant à nouveau le primaire 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 généralement, il a fait ce qu'il fallait)
En relation:Comment tuer le processus détenant le verrou apt ?

Vient ensuite les outils. Il existe deux outils que je considère comme essentiels pour déboguer les problèmes de 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 en vérifiant l'état des trois presse-papiers accessibles. (Le presse-papiers vnc est très difficile à visualiser 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 ? dans quel ordre sont-ils utilisés ?

J'espère que ces informations sont suffisantes pour vous aider à démarrer.


Linux
  1. Concaténer au Presse-papiers ?

  2. Windows équivalent d'inet_aton

  3. Contenu non modifié du Presse-papiers

  4. Vim pour remplacer Vi

  5. X11 est-il dangereux ?

Comment installer Python 3 sur Windows 10

Éditeur VIM

L'extension Gnome Shell met Windows a cessé de fonctionner?

Diagnostics de disque faible Windows

Ubuntu 19.04 :Configurer vim

Sécurité Linux contre Windows