vim / gvim이 X11 클립 보드를 레지스터“+ 또는”*에 넣지 못했습니다?


15

표준 vino 서버 의 보안 부족 으로 인해 Linux (Xubuntu 14.04 포함) 상자에서 x11vnc 를 사용 하고 창 쪽에서 SSVNC 를 사용하도록 전환했습니다 .

vino를 사용하면 Windows에서 Linux 및 Windows로 잘라내어 붙여 넣기가 두 가지 측면에서 비정상적이지만 (1) 작동했을 때 모든 프로그램에서 작동했습니다. 문제없이 vim레지스터 "+를 사용할 수 있습니다 . 나는 달린다 (2)

autocutsel -fork 

일반적으로 "중간 클릭"과 ctrl-c / v 선택 사항이 동일합니다.

이제 x11vnc (와 함께 호출 x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000)를 사용하여 안전하고 암호화 된 연결을 설정하면 문제가 발생합니다.

  1. Windows에서 복사하고 원격 Linux 터미널, libreoffice 등에 아무 문제없이 양방향으로 붙여 넣을 수 있습니다.

  2. 에서 vim, 또는 gvim, 페이스트하려는 시도는 "+p"*p말한다E353: Nothing in register *

  3. 다시 vim또는 gvim에서 다른 방법으로 문제가 해결됩니다 "+yy.Windows쪽에 붙여 넣을 수 있습니다.

이 문제에 대한 단서가 있습니까? 이상한 점은 붙여 넣기가 모든 곳에서 작동하지만 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

각주 :

(1) 버그를 찾을 수 없습니다 ---보고되었습니다. 잠시 후 작동이 중지됩니다.

(2) 나는 유무에 관계없이 노력했다. 변화가 없다.


특히 서버의 vnc를 통해 vmware 게스트를 제어 할 때 호스트 및 클라이언트의 다른 언어 로캘과 관련된 x11vnc에 많은 문제가있었습니다. 호스트 시스템에 nomachine 서버를 설치하여 마침내 '해결'했습니다. 나는 이것이 아마도 당신이 생각하는 해결책이 아니라는 것을 알고 있지만 nomachine과 nxclient는 안전하고 매우 빠르며 모든 것이 ssh를 통해 터널링됩니다.
Floyd

2
사용 (1) : 나는 VNC를 사용하지 않는,하지만 난에 의해 정력과 운영체제 사이의 클립 보드 상호 운용성 내 모든 문제를 해결 set clipboard=unnamedplus모든 리눅스 I 이용 (2)에 alias vim='gvim -v'내에서 .bashrc(작업에 X 클립 보드 지원없이 정력을 컴파일 주위에 특정 배포판)의 (3) set clipboard=unnamed창문에서. 도움이 되길 바랍니다.
Patryk Obara

@PatrykObara는 다음에 Windows PC를 사용해야 할 때 시도합니다. 지금은 Linux 만 설치하고 문제는 없습니다 ... 감사합니다.
Rmano

답변:


1

어떤 x11vnc를 사용하고 있는지 알지 못하기 때문에 (세 가지 버전이 있으며 다른 버전이 있음)이 특정 문제를 해결하는 자습서입니다.

먼저 관련된 클립 보드를 이해하는 것입니다. 대부분의 경우 4 개가 관련되어 있습니다. (클립 보드 관리 도구를 사용하는 경우 더 많은 기능이 가능합니다.) X11은 기본, 보조 및 클립 보드의 세 가지 클립 보드를 정의합니다. 2 차는 거의 사용되지 않으며 (그리고 거의 당신의 문제가 아닙니다) 우리는 그것을 무시할 것입니다. 가운데 클릭하여 붙여 넣기 (xterm 등)를 사용하는 응용 프로그램은 일반적으로 기본 클립 보드를 사용합니다. Windows 스타일 붙여 넣기 (편집, 붙여 넣기 또는 V 제어 클릭)를 수행하는 응용 프로그램은 클립 보드 클립 보드 만 사용합니다. 일부 애플리케이션은 두 가지 작업을 모두 수행합니다 (중간 클릭으로 기본 및 Chrome V가있는 클립 보드에서 Chrome 붙여 넣기). 다음은 VNC 클립 보드 (하나만)이며 Windows 클립 보드가 있습니다. (X11에서 실행되는 vnc 뷰어를 사용하는 경우 상황이 더 복잡해 지지만 이에 대해 생각한 후에는 의미가 있습니다. ) VNC 클립 보드는 다른 클립 보드의 다양한 업데이트를 추적하여 최신 상태로 유지합니다. 기본 클립 보드를 무시하면 가장 최근에 업데이트 된 클립 보드가 다른 모든 클립 보드에 복사되므로 매우 간단합니다. 문제는 기본 클립 보드의 원하는 동작이 잘 정의되어 있지 않다는 것입니다. 다양한 vnc 구현의 다음 동작을 보았습니다.

  1. 기본을 무시하고 클립 보드 만 사용하십시오.
  2. 클립 보드를 무시하고 기본 클립 보드 만 사용하십시오.
  3. 유닉스 투 윈도우 복사의 경우 가장 최신을 사용하고, 윈도우 투 유닉스 복사에는 둘 다 복사하십시오.
  4. 현명 해지십시오 : 클립 보드를 사용할 때까지만 기본 클립 보드를 사용하고 클립 보드 만 사용하십시오.
  5. 더 똑똑 해지십시오 : 클립 보드가 변경 될 때까지 기본을 사용하고 창에서 변경이있을 때까지 기본을 무시한 다음 다음 변경을 사용하여 클립 보드 사용 후 기본을 무시하십시오.
  6. 더 똑똑해 지려고 노력하십시오. (나는 그들이 이것으로 무엇을하려고했는지 알지 못했지만 대개는 올바른 일을했습니다)

다음은 도구입니다. 클립 보드 문제를 디버깅하는 데 필수적이라고 생각하는 두 가지 도구가 있습니다 : 텍스트 편집기 (메모장에 적합)와 xclip. Windows 클립 보드 뷰어는 훌륭하지만 필수는 아닙니다.

절차 : 문제를 해결하려는 그룹의 각 응용 프로그램에서 액세스 가능한 세 클립 보드 모두의 상태를 확인하는 텍스트를 선택하여 복사하십시오. (vnc 클립 보드는 일반적으로 데이터를 저장하지 않고 메타 데이터 만 저장하므로 직접보기가 어렵고 직접적으로 유용하지는 않습니다.) 다음 질문에 답하십시오. 각 응용 프로그램은 어떤 클립 보드를 사용합니까? 그들은 어떤 순서로 사용됩니까?

바라건대 이것은 시작하기에 충분한 정보입니다.


감사! 불행히도 현재 테스트 할 수 없습니다. 내 PC에서 거의 창을 버리지 않았습니다. ;-). Windows를 다시 사용하도록 강요하자마자 조사를 시도 할 것입니다 ...
Rmano
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.