vim / gvim nie umieścił schowka X11 w rejestrach „+ lub” *?

15

Z powodu braku bezpieczeństwa ze standardowym serwerem vino, przełączyłem się na używanie x11vnc na moim systemie Linux (z Xubuntu 14.04) i SSVNC po stronie Windows.

Z vino, wycinanie i wklejanie z Windowsa do Linuksa i Windowsa, w dwóch kierunkach, było niestabilne (1), ale kiedy działało, działało dla każdego programu; Mogę bez problemu korzystać z vimrejestru "+. Biegnę (2)

autocutsel -fork 

zwykle tak, aby opcje „środkowe kliknięcie” i ctrl-c / v były takie same.

Teraz, gdy używam x11vnc (wywoływanego z:), x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000aby mieć bezpieczne, szyfrowane połączenie, pojawił się problem:

  1. Mogę kopiować w systemie Windows i wklejać w zdalne terminale Linux, libreoffice itp. Bez żadnego problemu, w obu kierunkach.

  2. W vimlub gvimkażda próba wklejenia "+plub "*pmówiE353: Nothing in register *

  3. Znowu w vimlub gvim, na odwrót, działa: jeśli mogę, "+yyto mogę wkleić to po stronie Windows.

Jak ktoś ma jakieś wskazówki na temat tego problemu? Dziwne jest to, że pasta działa wszędzie, gdzie sprawdziłem, ale w 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

Przypisy:

(1) nie można teraz znaleźć błędu --- jest zgłaszany. Po pewnym czasie przestaje działać.

(2) Próbowałem zi bez. Bez zmian.

Rmano
źródło
Miałem wiele problemów z x11vnc związanych z różnymi ustawieniami językowymi na hoście i kliencie, szczególnie podczas kontrolowania gości vmware przez vnc na serwerze. W końcu „rozwiązałem” to, instalując serwer nomachine w systemie hosta. Wiem, że prawdopodobnie nie jest to rozwiązanie, o którym myślisz, ale nomachine i nxclient są bezpieczne, bardzo szybkie i wszystko jest tunelowane przez ssh.
Floyd,
2
Nie używam vnc, ale naprawiłem wszystkie moje problemy ze współdziałaniem schowka między vimem a systemami operacyjnymi poprzez: (1) używanie set clipboard=unnamedplusw każdym linuksie, którego używam (2) alias vim='gvim -v'w moim .bashrcsystemie (do obejścia niektórych dystrybucji kompilujących vima bez obsługi schowka X) (3) set clipboard=unnamedw systemie Windows. Mam nadzieję, że to pomoże.
Patryk Obara,
@PatrykObara spróbuje ... następnym razem będę musiał użyć komputera z systemem Windows. Mam teraz konfigurację tylko dla Linuksa i nie ma problemów ... Dzięki.
Rmano

Odpowiedzi:

1

Ponieważ nie wiem, którego x11vnc używasz (mam trzy różne wersje, są inne), to jest samouczek, aby rozwiązać ten konkretny problem.

Najpierw należy zrozumieć zaangażowane schowki. W większości przypadków są zaangażowane cztery z nich. (Więcej jest możliwe, jeśli używasz narzędzi do zarządzania schowkami.) X11 definiuje trzy schowki: Podstawowy, Dodatkowy i Schowek. Drugorzędny jest rzadko używany (i prawie na pewno nie jest twoim problemem), więc go zignorujemy. Aplikacje, które używają środkowego kliknięcia do wklejania (xterm, i in.) Zwykle używają głównego schowka. Aplikacje, które wykonują wklejanie w stylu systemu Windows (edycja kliknięciem, wklejanie lub sterowanie V), czasami używają tylko schowka schowka. Niektóre aplikacje robią oba te elementy (Google Chrome wkleja z podstawowego za pomocą środkowego kliknięcia i ze schowka za pomocą kontrolki V). Dalej jest schowek VNC (tylko jeden) i jest schowek systemu Windows. (Jeśli używasz przeglądarki VNC działającej na X11, sprawy stają się bardziej skomplikowane, ale będzie to miało sens po przemyśleniu tego. ) schowek VNC wyróżnia się tym, że śledzi różne aktualizacje innych schowków, aby były aktualne. Jeśli zignorujesz główny schowek, jest to dość proste, ponieważ ostatnio zaktualizowany schowek jest kopiowany do wszystkich pozostałych. Wyzwanie polega na tym, że pożądane zachowanie głównego schowka nie jest dobrze zdefiniowane. Widziałem następujące zachowania różnych implementacji VNC:

  1. Zignoruj ​​podstawowy, użyj tylko schowka.
  2. Zignoruj ​​schowek, użyj tylko podstawowego.
  3. Użyj najnowszej wersji dla kopii uniksowej na Windows, skopiuj na obie dla kopii systemu Windows na uniksową.
  4. Staraj się być sprytny: używaj podstawowego tylko do momentu użycia schowka, a następnie używaj tylko schowka.
  5. Staraj się być mądrzejszy: używaj podstawowego, dopóki schowek nie zostanie zmieniony, a następnie zignoruj ​​główny, aż pojawi się zmiana w systemie Windows, a następnie użyj następnego zmienionego, ponownie ignorując podstawowy po użyciu schowka.
  6. Staraj się być jeszcze mądrzejszy. (Nigdy nie zorientowałem się, co oni próbują z tym zrobić, ale zwykle robiło to dobrze)

Dalej są narzędzia. Są dwa narzędzia, które uważam za niezbędne do debugowania problemów ze schowkiem: edytor tekstu (do tego dobrze działa notatnik) i xclip. Przeglądarka schowka Windows jest ładna, ale nie niezbędna.

Teraz procedura: Z każdej aplikacji w grupie, w której rozwiązujesz problemy, wybierz i skopiuj tekst, sprawdzając status wszystkich trzech dostępnych schowków. (Schowek VNC jest bardzo trudny do przeglądania bezpośrednio i nie jest bezpośrednio użyteczny, ponieważ zwykle nie przechowuje danych, tylko metadane.) Odpowiedz na pytania: z którego schowka korzysta każda aplikacja? w jakiej kolejności są używane?

Mamy nadzieję, że jest to wystarczająca ilość informacji, aby zacząć.

Hildred
źródło
Dzięki! Niestety nie mogę teraz testować, prawie wyrzuciłem okna z moich komputerów ;-). Spróbuję przeprowadzić dochodzenie, jak tylko będę zmuszony ponownie użyć systemu Windows ...
Rmano,