vim/gvim이 X11 클립보드를 "+ 또는 "* 레지스터에 넣지 못합니까?

vim/gvim이 X11 클립보드를 "+ 또는 "* 레지스터에 넣지 못합니까?

인해표준에 따른 보안 부족vino 서버를 사용하도록 전환했습니다.x11vnc내 Linux (Xubuntu 14.04 포함) 상자 및 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"*pE353: Nothing in register *

  3. 다시 vim또는 에서 gvim반대 방향으로 작동합니다. 그러면 "+yyWindows 측에 붙여넣을 수 있습니다.

이 문제에 대한 단서가 있는 사람이 있나요? 이상한 점은 내가 확인한 모든 곳에서 붙여넣기가 작동한다는 것입니다 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) 나는 유무에 관계없이 시도했습니다. 변경 사항 없음.

답변1

어떤 x11vnc를 사용하고 있는지 모르기 때문에(저는 세 가지 버전이 있고 다른 버전도 있습니다) 이 특정 문제를 해결하기 위한 튜토리얼입니다.

첫 번째는 관련된 클립보드를 이해하는 것입니다. 대부분의 경우 그 중 4개가 관련되어 있습니다. (클립보드 관리 도구를 사용하면 더 많은 기능이 가능합니다.) X11은 기본, 보조, 클립보드의 세 가지 클립보드를 정의합니다. Secondary는 거의 사용되지 않으므로(그리고 거의 확실하게 문제가 아니므로) 무시하겠습니다. 중간 클릭을 사용하여 붙여넣는 응용 프로그램(xterm 등)은 일반적으로 기본 클립보드를 사용합니다. Windows 스타일 붙여넣기를 수행하는 애플리케이션(편집 클릭, 붙여넣기 클릭 또는 V 제어)은 클립보드 클립보드만 사용하는 경우도 있습니다. 일부 애플리케이션은 두 가지를 모두 수행합니다(Google Chrome은 마우스 가운데 버튼을 클릭하여 기본에서 붙여넣고 컨트롤 V를 사용하여 클립보드에서 붙여넣습니다). 다음은 VNC 클립보드(단 하나)이고 Windows 클립보드가 있습니다. (X11에서 실행되는 vnc 뷰어를 사용하는 경우 상황이 더 복잡해지지만 이에 대해 생각해보면 이해가 될 것입니다.) VNC 클립보드는 다른 클립보드의 다양한 업데이트를 추적하여 최신 상태로 유지한다는 점에서 특별합니다. 날짜. 기본 클립보드를 무시하면 가장 최근에 업데이트된 클립보드가 다른 모든 클립보드에 복사된다는 점에서 매우 간단합니다. 문제는 기본 클립보드의 원하는 동작이 잘 정의되어 있지 않다는 것입니다. 다양한 vnc 구현의 다음 동작을 확인했습니다.

  1. 기본을 무시하고 클립보드만 사용하세요.
  2. 클립보드를 무시하고 기본만 사용하세요.
  3. Unix에서 Windows로 복사하려면 최신 버전을 사용하고, Windows에서 Unix로 복사하려면 둘 다에 복사하세요.
  4. 현명하게 행동하십시오. 클립보드가 사용될 때까지만 기본을 사용하고 클립보드만 사용하십시오.
  5. 더 똑똑해지십시오. 클립보드가 변경될 때까지 기본을 사용하고 창에서 변경이 있을 때까지 기본을 무시한 다음 변경된 다음을 사용하고 클립보드 사용 후에 다시 기본을 무시하십시오.
  6. 더욱 똑똑해지려고 노력하세요. (나는 그들이 이것으로 무엇을 하려는지 전혀 알지 못했지만 일반적으로 올바른 일을 했습니다)

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

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

이것이 시작하는 데 충분한 정보였기를 바랍니다.

관련 정보