vim / gvim không đặt được bảng tạm X11 trong các thanh ghi R + + hoặc * *?


15

Do thiếu bảo mật với máy chủ vino tiêu chuẩn , tôi đã chuyển sang sử dụng x11vnc trên hộp linux (với Xubfox 14.04) và SSVNC ở phía cửa sổ.

Với vino, việc cắt và dán từ windows sang Linux và windows, theo hai hướng, không ổn định (1) nhưng khi nó hoạt động, nó hoạt động cho mọi chương trình; Tôi có thể sử dụng vimđăng ký "+mà không có vấn đề. Tôi chạy (2)

autocutsel -fork 

thông thường sao cho các lựa chọn "nhấp chuột giữa" và ctrl-c / v là như nhau.

Bây giờ tôi sử dụng x11vnc (được gọi bằng x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000:) để có kết nối được mã hóa an toàn, một vấn đề nảy sinh:

  1. Tôi có thể sao chép trên windows và dán vào các thiết bị đầu cuối linux từ xa, libreoffice, v.v. mà không gặp vấn đề gì, theo cả hai hướng.

  2. Trong vim, hoặc gvim, bất kỳ nỗ lực nào để dán "+phoặc "*pnóiE353: Nothing in register *

  3. Một lần nữa trong vimhoặc gvim, cách khác xung quanh không hoạt động: nếu "+yysau đó tôi có thể dán thứ đó vào phía Windows.

Như bất cứ ai có manh mối về vấn đề này? Điều kỳ lạ là dán hoạt động ở mọi nơi tôi đã kiểm tra nhưng trong 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

Chú thích:

(1) không thể tìm thấy lỗi bây giờ --- nó được báo cáo. Nó ngừng hoạt động sau một thời gian.

(2) Tôi đã thử với và không có. Không thay đổi.


Tôi gặp nhiều vấn đề với x11vnc liên quan đến các ngôn ngữ khác nhau trên máy chủ và máy khách, đặc biệt là khi kiểm soát khách vmware thông qua vnc trên máy chủ. Cuối cùng tôi đã 'giải quyết' nó bằng cách cài đặt một máy chủ dạ dày trên hệ thống máy chủ. Tôi biết rằng đây có lẽ không phải là giải pháp bạn có trong đầu, nhưng dạ dày và nxclient đều an toàn, rất nhanh và mọi thứ đều được thông qua ssh.
Floyd

2
Tôi không sử dụng vnc, nhưng tôi đã khắc phục tất cả các vấn đề của mình với khả năng tương tác của clipboard giữa vim và HĐH bằng cách: (1) sử dụng set clipboard=unnamedplustrong mọi linux tôi sử dụng (2) alias vim='gvim -v'trong .bashrcs (để làm việc xung quanh các bản phân phối nhất định biên dịch vim mà không cần hỗ trợ clipboard X) (3) set clipboard=unnamedtrong các cửa sổ. Hy vọng nó giúp.
Patryk Obara

@PatrykObara sẽ thử ... lần sau tôi phải sử dụng PC Windows. Tôi có một thiết lập Linux chỉ bây giờ và không có vấn đề ... Cảm ơn.
Rmano

Câu trả lời:


1

Vì tôi không biết bạn đang sử dụng x11vnc nào (tôi có ba phiên bản khác nhau, có các phiên bản khác) nên đây là hướng dẫn để khắc phục sự cố cụ thể này.

Đầu tiên là để hiểu các clipboards liên quan. Có hầu hết các trường hợp bốn trong số họ tham gia. (Có thể có nhiều hơn nếu bạn sử dụng các công cụ quản lý clipboard.) X11 định nghĩa ba bảng ghi: Chính, Phụ và Clipboard. Thứ hai hiếm khi được sử dụng, (và gần như chắc chắn không phải là vấn đề của bạn) vì vậy chúng tôi sẽ bỏ qua nó. Các ứng dụng sử dụng nhấp chuột giữa để dán (xterm, et al) thường sử dụng bảng tạm chính. Các ứng dụng thực hiện dán kiểu cửa sổ (nhấp vào chỉnh sửa, nhấp vào dán hoặc điều khiển V) đôi khi chỉ sử dụng bảng tạm. Một số ứng dụng thực hiện cả hai (Google Chrome dán từ chính với một lần nhấp giữa và từ bảng ghi tạm với V điều khiển). Tiếp theo là bảng tạm VNC (chỉ một) và có bảng tạm windows. (Nếu bạn đang sử dụng trình xem vnc chạy trên X11, mọi thứ sẽ phức tạp hơn, nhưng điều đó sẽ có ý nghĩa sau khi nghĩ về điều này. ) bảng tạm VNC đặc biệt ở chỗ nó theo dõi các bản cập nhật khác nhau của các clipboard khác để cập nhật chúng. Nếu bạn bỏ qua bảng tạm chính, điều này khá đơn giản ở chỗ bảng tạm được cập nhật gần đây nhất được sao chép sang tất cả các bảng tạm khác. Thách thức là hành vi mong muốn của bảng tạm chính không được xác định rõ. Tôi đã thấy các hành vi sau đây của các triển khai vnc khác nhau:

  1. Bỏ qua chính, chỉ sử dụng bảng tạm.
  2. Bỏ qua clipboard, chỉ sử dụng chính.
  3. Sử dụng gần đây nhất cho các bản sao unix sang windows, sao chép sang cả hai cho windows để unix bản sao.
  4. Cố gắng thông minh: chỉ sử dụng chính cho đến khi bảng tạm được sử dụng sau đó chỉ sử dụng bảng tạm.
  5. Cố gắng thông minh hơn: sử dụng chính cho đến khi bảng tạm được thay đổi, sau đó bỏ qua chính cho đến khi có thay đổi từ cửa sổ, sau đó sử dụng thay đổi tiếp theo, một lần nữa bỏ qua chính sau khi sử dụng bảng tạm.
  6. Hãy cố gắng để thông minh hơn nữa. (Tôi chưa bao giờ tìm ra những gì họ đã cố gắng làm với cái này, nhưng thường thì nó đã làm đúng)

Tiếp theo là các công cụ. Có hai công cụ tôi cho là cần thiết để gỡ lỗi các vấn đề về clipboard: trình soạn thảo văn bản (notepad hoạt động tốt cho việc này) và xclip. Một trình xem clipboard của windows là tốt nhưng không cần thiết.

Bây giờ là quy trình: Từ mỗi ứng dụng trong nhóm bạn đang khắc phục sự cố, chọn và sao chép một số văn bản kiểm tra trạng thái của cả ba bảng ghi có thể truy cập. (Bảng tạm vnc rất khó xem trực tiếp và không hữu ích trực tiếp vì thông thường không lưu trữ dữ liệu, chỉ có siêu dữ liệu.) Trả lời những câu hỏi sau: mỗi ứng dụng sử dụng bảng tạm nào? chúng được sử dụng theo thứ tự nào?

Hy vọng đây là thông tin đủ để bạn bắt đầu.


Cảm ơn! Rất tiếc, tôi không thể kiểm tra ngay bây giờ, tôi gần như đã bỏ các cửa sổ ra khỏi PC của mình ;-). Sẽ thử một số điều tra ngay khi tôi buộc phải sử dụng lại Windows ...
Rmano
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.