vim/gvim не может поместить буфер обмена X11 в регистры "+" или "*?

vim/gvim не может поместить буфер обмена X11 в регистры "+" или "*?

Из-заотсутствие безопасности со стандартомсервер vino, я перешел на использованиеx11vncна моем Linux (с Xubuntu 14.04) и ССВНКсо стороны окон.

С помощью 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) Я пробовал и с этим, и без этого. Никаких изменений.

решение1

Поскольку я не знаю, какую версию x11vnc вы используете (у меня три разные версии, есть и другие), это руководство по устранению этой конкретной проблемы.

Во-первых, нужно понять, какие буферы обмена задействованы. В большинстве случаев их задействовано четыре. (Больше их можно увеличить, если использовать инструменты управления буфером обмена.) X11 определяет три буфера обмена: основной, вторичный и буфер обмена. Вторичный используется редко (и почти наверняка не является вашей проблемой), поэтому мы его проигнорируем. Приложения, которые используют средний щелчок для вставки (xterm и т. д.), обычно используют основной буфер обмена. Приложения, которые выполняют вставку в стиле Windows (щелчок «Изменить», щелчок «Вставить» или нажатие клавиши «V»), иногда используют только буфер обмена. Некоторые приложения делают и то, и другое (Google Chrome вставляет из основного с помощью среднего щелчка, а из буфера обмена — с помощью клавиши «V»). Далее следует буфер обмена VNC (только один) и буфер обмена Windows. (Если вы используете средство просмотра VNC, работающее в X11, все становится сложнее, но это станет понятным после того, как вы подумаете об этом.) Буфер обмена VNC особенный тем, что он отслеживает различные обновления других буферов обмена, чтобы поддерживать их в актуальном состоянии. Если вы игнорируете основной буфер обмена, это довольно просто, поскольку последний обновленный буфер обмена копируется во все остальные. Проблема в том, что желаемое поведение основного буфера обмена не определено должным образом. Я видел следующие поведения различных реализаций vnc:

  1. Игнорируйте основной, используйте только буфер обмена.
  2. Игнорируйте буфер обмена, используйте только основной.
  3. Для копий из Unix в Windows используйте самую последнюю версию, для копий из Windows в Unix — обе.
  4. Постарайтесь быть умным: используйте основной пароль только до тех пор, пока не будет использован буфер обмена, а затем используйте только буфер обмена.
  5. Постарайтесь быть умнее: используйте основной, пока не изменится буфер обмена, затем игнорируйте основной, пока не произойдет изменение в Windows, затем используйте следующий измененный параметр, снова игнорируя основной после использования буфера обмена.
  6. Постарайтесь быть еще умнее. (Я так и не понял, что они пытались сделать этим, но обычно это срабатывало правильно)

Далее идут инструменты. Я считаю, что для отладки проблем с буфером обмена необходимы два инструмента: текстовый редактор (для этого отлично подойдет блокнот) и xclip. Просмотрщик буфера обмена Windows хорош, но не обязателен.

Теперь процедура: из каждого приложения в группе, в которой вы устраняете неполадки, выберите и скопируйте текст, проверяя состояние всех трех доступных буферов обмена. (Буфер обмена VNC очень трудно просматривать напрямую, и он не является напрямую полезным, так как обычно он не хранит данные, а только метаданные.) ответьте на следующие вопросы: какой буфер обмена использует каждое приложение? в каком порядке они используются?

Надеюсь, этой информации достаточно, чтобы вам начать.

Связанный контент