GNU/Linux >> Znalost Linux >  >> Linux

Vim/gvim se nepodařilo vložit X11 schránku do registrů „+ nebo“*?

Kvůli nedostatečnému zabezpečení standardního vino serveru jsem přešel na x11vnc na mém linuxovém (s Xubuntu 14.04) boxu a SSVNC na straně Windows.

S vino bylo vyjmutí a vložení z Windows do Linuxu a Windows, ve dvou směrech, nestálé(1), ale když to fungovalo, fungovalo to pro každý program; Mohl bych použít vim zaregistrujte "+ bez problému. Běžím(2)

autocutsel -fork 

normálně tak, že výběry „prostřední kliknutí“ a ctrl-c/v jsou stejné.

Nyní, když používám x11vnc (voláno pomocí:x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000 ) mít bezpečné, šifrované připojení, nastal problém:

  1. Mohu kopírovat na windows a vkládat do vzdálených linuxových terminálů, libreoffice atd. bez problémů, v obou směrech.

  2. V vim nebo gvim , jakýkoli pokus o vložení pomocí "+p nebo "*p říká E353: Nothing in register *

  3. Opět ve vim nebo gvim , funguje to naopak:když "+yy pak mohu věc vložit na stranu Windows.

Máte někdo tušení o tomto problému? Zvláštní je, že pasta funguje všude, kde jsem to zkontroloval, kromě 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

Poznámky pod čarou:

(1) nemůže nyní najít chybu – je nahlášena. Po chvíli přestane fungovat.

(2) Zkoušel jsem s a bez. Žádné změny.

Přijatá odpověď:

Protože nevím, kterou x11vnc používáte (mám tři různé verze, jsou i jiné), toto je návod, jak tento konkrétní problém vyřešit.

Nejprve je třeba porozumět zahrnutým schránkám. Ve většině případů se jich účastní čtyři. (Více je možné, pokud použijete nástroje pro správu schránky.) X11 definuje tři schránky:Primární, Sekundární a Schránka. Sekundární se používá zřídka (a téměř jistě to není váš problém), takže jej budeme ignorovat. Aplikace, které pro vložení používají prostřední kliknutí (xterm, et al), obvykle používají primární schránku. Aplikace, které provádějí vkládání ve stylu Windows (klepněte na Upravit, klepněte na vložit nebo ovládejte V), někdy používají pouze schránku. Některé aplikace umí obojí (Google Chrome vloží z primárního kliknutím prostředním tlačítkem a ze schránky pomocí ovládacího prvku V). Další je schránka VNC (jen jedna) a tam je schránka systému Windows. (Pokud používáte prohlížeč vnc běžící na X11, věci se zkomplikují, ale to bude dávat smysl, až se nad tím zamyslíte.) Schránka VNC je speciální v tom, že sleduje různé aktualizace ostatních schránek, aby je udržela aktuální. datum. Pokud ignorujete primární schránku, je to docela jednoduché, protože poslední aktualizovaná schránka se zkopíruje do všech ostatních. Problémem je, že požadované chování primární schránky není dobře definováno. Viděl jsem následující chování různých implementací vnc:

  1. Ignorujte primární, používejte pouze schránku.
  2. Ignorujte schránku, použijte pouze primární.
  3. Použijte nejnovější kopie pro unix do systému Windows, zkopírujte do obou pro kopie systému windows do unix.
  4. Snažte se být chytří:používejte primární pouze do doby, než se použije schránka, a poté používejte pouze schránku.
  5. Snažte se být chytřejší:používejte primární, dokud se schránka nezmění, poté primární ignorujte, dokud nedojde ke změně z oken, poté použijte další změněnou, přičemž po použití schránky znovu ignorujte primární.
  6. Zkuste být ještě chytřejší. (Nikdy jsem nepřišel na to, co se s tím pokoušeli udělat, ale obvykle to udělalo správnou věc)
Související:Jak zabít proces držící zámek apt?

Další jsou nástroje. Existují dva nástroje, které považuji za zásadní pro ladění problémů se schránkou:textový editor (pro tento účel funguje poznámkový blok) a xclip. Prohlížeč schránky ve Windows je pěkný, ale není nezbytný.

Nyní postup:Z každé aplikace ve skupině, kterou řešíte, vyberte a zkopírujte nějaký text, který kontroluje stav všech tří přístupných schránek. (Schránku vnc je velmi obtížné přímo zobrazit a není přímo užitečná, protože normálně neukládá data, pouze metadata.) Odpovězte na tyto otázky:jakou schránku jednotlivé aplikace používají? v jakém pořadí se používají?

Doufejme, že toto je dostatek informací, abyste mohli začít.


Linux
  1. Vanilla Vim je zábava

  2. Jak nainstalovat Vim (vi) na Windows 10

  3. Ubuntu 19.04:Konfigurace vim

  1. Syntax_highlight | Lpr?

  2. Vim 8 se systémovou schránkou na 16,04 Lts?

  3. Diagnostika nízkého disku ve Windows

  1. Zřetězení do schránky?

  2. Windows ekvivalent inet_aton

  3. Jak povolit intellisense ve VIM (gvim)