vim / gvim gagal menempatkan clipboard X11 di register “+ atau” *?

15

Karena kurangnya keamanan dengan server vino standar , saya beralih menggunakan x11vnc pada linux saya (dengan Xubuntu 14.04) dan SSVNC di sisi windows.

Dengan vino, cut dan paste dari windows ke Linux dan windows, di dua arah, berserak (1) tetapi ketika berhasil, itu bekerja untuk setiap program; Saya bisa menggunakan vimregister "+tanpa masalah. Saya menjalankan (2)

autocutsel -fork 

biasanya sehingga "klik tengah" dan pilihan ctrl-c / v adalah sama.

Sekarang saya menggunakan x11vnc (dipanggil dengan:) x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000untuk memiliki koneksi yang aman dan terenkripsi, muncul masalah:

  1. Saya dapat menyalin di windows dan menempel di terminal linux jarak jauh, libreoffice dll tanpa masalah, di kedua arah.

  2. Dalam vim, atau gvim, segala upaya untuk menempel dengan "+patau "*pmengatakanE353: Nothing in register *

  3. Sekali lagi dalam vimatau gvim, sebaliknya berfungsi: jika saya "+yymaka saya dapat menempelkan hal itu di sisi Windows.

Sebagai orang yang tahu tentang masalah ini? Yang aneh adalah bahwa pasta berfungsi di mana-mana saya memeriksa tetapi di 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

Catatan kaki:

(1) tidak dapat menemukan bug sekarang --- dilaporkan. Ia berhenti bekerja setelah beberapa saat.

(2) Saya mencoba dengan dan tanpa. Tidak ada perubahan.

Rmano
sumber
Saya punya banyak masalah dengan x11vnc terkait dengan berbagai bahasa lokal pada host dan klien, terutama ketika mengendalikan tamu vmware melalui vnc di server. Saya akhirnya 'menyelesaikannya' dengan menginstal server nomachine pada sistem host. Saya tahu bahwa ini mungkin bukan solusi yang ada dalam pikiran Anda, tetapi nomachine dan nxclient aman, sangat cepat dan semuanya terhubung melalui ssh.
Floyd
2
Saya tidak menggunakan vnc, tapi saya memperbaiki semua masalah saya dengan interoperabilitas clipboard antara vim dan OS dengan: (1) menggunakan set clipboard=unnamedplusdi setiap linux yang saya gunakan (2) alias vim='gvim -v'di komputer saya .bashrc(untuk mengatasi distribusi tertentu yang mengkompilasi vim tanpa dukungan papan klip X) (3) set clipboard=unnameddi windows. Semoga ini bisa membantu.
Patryk Obara
@ PatrykObara akan mencoba ... lain kali saya harus menggunakan PC windows. Saya memiliki pengaturan hanya Linux sekarang dan tidak ada masalah ... Terima kasih.
Rmano

Jawaban:

1

Karena saya tidak tahu x11vnc mana yang Anda gunakan (saya punya tiga versi berbeda, ada yang lain) ini adalah tutorial untuk memecahkan masalah khusus ini.

Pertama adalah memahami clipboard yang terlibat. Dalam kebanyakan kasus, empat dari mereka terlibat. (Lebih mungkin jika Anda menggunakan alat manajemen clipboard.) X11 mendefinisikan tiga clipboard: Utama, Sekunder, dan Clipboard. Sekunder jarang digunakan, (dan hampir pasti bukan masalah Anda) sehingga kami akan mengabaikannya. Aplikasi yang menggunakan klik tengah untuk menempel (xterm, dkk) biasanya menggunakan papan klip primer. Aplikasi yang melakukan tempel gaya windows (klik edit, klik tempel atau kontrol V) terkadang hanya menggunakan clipboard clipboard. Beberapa aplikasi melakukan keduanya (pasta Google Chrome dari primer dengan klik tengah dan dari clipboard dengan kontrol V). Berikutnya adalah clipboard VNC (hanya satu) dan ada clipboard windows. (Jika Anda menggunakan penampil vnc berjalan pada X11, segalanya menjadi lebih rumit, tetapi itu akan masuk akal setelah memikirkan hal ini. ) VNC clipboard khusus karena melacak berbagai pembaruan clipboard lain agar tetap terbaru. Jika Anda mengabaikan papan klip utama, ini cukup sederhana karena papan klip terbaru diperbarui disalin ke yang lain. Tantangannya adalah bahwa perilaku yang diinginkan dari papan klip primer tidak didefinisikan dengan baik. Saya telah melihat perilaku berbagai implementasi vnc berikut:

  1. Abaikan primer, gunakan clipboard saja.
  2. Abaikan clipboard, gunakan primer saja.
  3. Gunakan yang terbaru untuk copy unix ke windows, salin ke keduanya untuk windows untuk copy unix.
  4. Cobalah untuk menjadi pintar: gunakan primer saja sampai clipboard digunakan kemudian hanya gunakan clipboard.
  5. Cobalah untuk menjadi lebih pintar: gunakan yang utama sampai clipboard diubah kemudian abaikan primer sampai ada perubahan dari windows, kemudian gunakan perubahan berikutnya, lagi-lagi abaikan primer setelah penggunaan clipboard.
  6. Cobalah untuk menjadi lebih pintar. (Saya tidak pernah tahu apa yang mereka coba lakukan dengan ini, tetapi biasanya itu melakukan hal yang benar)

Berikutnya adalah alat. Ada dua alat yang saya anggap penting untuk debugging masalah papan klip: editor teks (notepad berfungsi dengan baik untuk ini) dan xclip. Jendela clipboard viewer bagus tetapi tidak penting.

Sekarang prosedurnya: Dari setiap aplikasi dalam grup yang Anda lakukan pemecahan masalah, pilih dan salin beberapa teks yang memeriksa status ketiga papan klip yang dapat diakses. (Clipboard vnc sangat sulit untuk dilihat secara langsung dan tidak secara langsung berguna karena biasanya tidak menyimpan data, hanya metadata.) Menjawab pertanyaan-pertanyaan ini: clipboard mana yang digunakan oleh setiap aplikasi? pesanan apa yang mereka gunakan?

Semoga ini adalah informasi yang cukup untuk membantu Anda memulai.

Hildred
sumber
Terima kasih! Sayangnya saya tidak dapat menguji sekarang, saya hampir membuang jendela dari PC saya ;-). Akan mencoba beberapa penyelidikan segera setelah saya dipaksa untuk menggunakan Windows lagi ...
Rmano