Я использую Ubuntu 11.10 с двумя мониторами с разрешением 3840x1080. Это делается через режим TwinView от NVIDIA. Когда я запускаю следующую команду:
x11vnc -safer -localhost -once -display :0 -ncache 10 -ncache_cr -geometry 3840x1080
и подключаюсь с компьютера под управлением Windows с TightVNC, мое подключение отображает разрешение как 3840x12960. Это 12 х 1080, если вы не хотите заниматься математикой. Верхняя часть VNC-соединения выглядит нормально, но я могу прокрутить МНОГО и увидеть призраки предыдущих окон.
Есть идеи, почему или как это остановить?
Похоже, ваша программа просмотра VNC не поддерживает кэширование на стороне клиента.
Таким образом, вы должны либо использовать средство просмотра VNC, которое его поддерживает, либо вам нужно удалить опцию -ncache
(экспериментальная) из вашей команды x11vnc
. Если он включен по умолчанию, попробуйте отключить его, указав параметр -noncache
.
В основном, когда он включен, он активирует схему кэширования на стороне клиента, которая хранит пиксельные данные вне экрана на стороне средства просмотра VNC для более быстрого поиска, и он должен работать с любым средством просмотра VNC. Однако, похоже, что он не работает правильно с некоторыми клиентами.
Согласно ветке форума Ubuntu , вот как -ncache
работает.
Он делает рабочий стол в 10 раз выше нормальной высоты и использует дополнительный кадровый буфер для кэширования окон и их средств сохранения.
Если вы не можете заставить KRDC не показывать вам этот регион (например, изменяя размеры его окна), то вы не можете использовать KRDC с
x11vnc -ncache
.Таким образом, на данный момент единственная
blockquote>-ncache
«поддержка» заключается в том, чтобы зритель мог иметь полосу прокрутки и иметь возможность отключить автоматическую прокрутку. Или на Unix / Macosx использоватьssvnc
.См .: Может ли x11vnc выполнять кэширование данных пикселей на стороне клиента? для получения дополнительной информации.
Значение n в
BLOCKQUOTE>-ncache n
- это коэффициент увеличения по сравнению с базовым размером кадрового буфера для использования для кэширования. Это четное целое число, которое должно быть достаточно большим, 6-12, для достижения хорошего отклика. Обычно для этого требуется около 50-100 МБ дополнительной оперативной памяти как на стороне клиента, так и на стороне сервера. Например, при n = 6 дисплей 1280x1024 будет использовать кадровый буфер 1280x7168: все, что находится ниже строки 1024, является буфером кэша пикселей.
Я НАКОНЕЦ исправил это, отключив кэширование на стороне клиента, используя опцию -noncache при запуске сервера или сняв флажок с опции ncache в графическом интерфейсе.
Ответ найден здесь: http://ubuntuforums.org/showthread.php?t=1337060