Из-заотсутствие безопасности со стандартомсервер 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
) для создания безопасного зашифрованного соединения, возникла проблема:
Я могу копировать в Windows и вставлять в удаленные терминалы Linux, LibreOffice и т. д. без каких-либо проблем в обоих направлениях.
В
vim
, илиgvim
, любая попытка вставить с"+p
или"*p
говоритE353: Nothing in register *
Опять же, в
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:
- Игнорируйте основной, используйте только буфер обмена.
- Игнорируйте буфер обмена, используйте только основной.
- Для копий из Unix в Windows используйте самую последнюю версию, для копий из Windows в Unix — обе.
- Постарайтесь быть умным: используйте основной пароль только до тех пор, пока не будет использован буфер обмена, а затем используйте только буфер обмена.
- Постарайтесь быть умнее: используйте основной, пока не изменится буфер обмена, затем игнорируйте основной, пока не произойдет изменение в Windows, затем используйте следующий измененный параметр, снова игнорируя основной после использования буфера обмена.
- Постарайтесь быть еще умнее. (Я так и не понял, что они пытались сделать этим, но обычно это срабатывало правильно)
Далее идут инструменты. Я считаю, что для отладки проблем с буфером обмена необходимы два инструмента: текстовый редактор (для этого отлично подойдет блокнот) и xclip. Просмотрщик буфера обмена Windows хорош, но не обязателен.
Теперь процедура: из каждого приложения в группе, в которой вы устраняете неполадки, выберите и скопируйте текст, проверяя состояние всех трех доступных буферов обмена. (Буфер обмена VNC очень трудно просматривать напрямую, и он не является напрямую полезным, так как обычно он не хранит данные, а только метаданные.) ответьте на следующие вопросы: какой буфер обмена использует каждое приложение? в каком порядке они используются?
Надеюсь, этой информации достаточно, чтобы вам начать.