VNC не работает с compiz

10

В настоящее время VNC (с картами NVIDIA GFS) не работает с Compiz ..

вы исправите это до выпуска 11.04, чтобы люди могли использовать vnc с рабочим столом по умолчанию?

Хорхе Кастро
источник
Я постоянно использую VNC в моем compiz и nvidia. Какие у вас проблемы?
Оли
1
Compiz уже включен на рабочем столе по умолчанию и работает с Ubuntu 7.10 (!)
8128
я подозреваю, что это ошибка, влияющая на меня: bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/353126 , тем не менее, я никогда не видел, чтобы compiz работал с vino ни на одной из моих машин и до сих пор не работает (даже на maverick )
1
Вы должны указать -noxdamage на вашем сервере x11vnc, если вы собираетесь запустить Compiz. Если вы используете встроенный сервер Vino (система / настройки / удаленный рабочий стол), я понятия не имею - никогда не использовал его. В Vino слишком много функций, которые я использую (масштабирование на стороне сервера).
Scaine
По просьбе Хорхе.
Scaine

Ответы:

7

Текущий VNC-сервер в System / Preferences / Remote Desktop называется vino-server. В настоящее время он не поддерживает работу, если включен Compiz (Desktop Effects).

Чтобы обойти это, вы должны использовать заменяющий сервер vnc. Я использую x11vnc.

sudo apt-get install x11vnc

Крайне важно, вы должны указать -noxdamage при запуске сервера x11vnc, если вы собираетесь запускать Compiz.

Сначала инициализируйте x11vnc паролем:

x11vnc -usepw

и следуйте инструкциям. Тогда вот пример того, как я запускаю свой VNC-сервер:

x11vnc -usepw -forever -noxdamage -scale 4/5 -avahi -nolookup -q

  • avahi будет означать, что сервер будет рекламировать себя, используя avahi (multicast dns)
  • Масштаб 4/5 будет означать, что экран 1900x1200 будет соответствовать экрану 1280x1024.
  • nolookup означает, что сервер не будет пытаться найти клиент. Никаких длинных пауз.
  • q подавит часть вывода на консоль. Или используйте вместо этого -logfile.
  • noxdamage заставит ваши эффекты compiz работать.
  • навсегда просто означает, что сервер будет продолжать работать после отключения клиента.

Если вы сделаете «man x11vnc», вы увидите, что есть множество дополнительных опций. Но те, что указаны выше, должны заставить вас работать.

Если вам нужно запустить это при запуске, я лично запускаю это в /etc/rc.local, но я уверен, что есть лучшие способы. РЕДАКТИРОВАТЬ: И есть более простые способы, подробно на этом сайте: Как запустить сценарии при запуске? , Итак, я полагаю, что самым простым является параметр crontab -e, но вы также можете сохранить команду как скрипт где-нибудь, а затем просто указать ее в системных / предпочтительных / запускаемых приложениях.

Scaine
источник
Нужно ли также предотвратить vino-serverзапуск?
HDave
Я никогда не удосужился сменить vino-сервер HDave. Кроме того, насколько я могу судить, 12.04 больше не поставляется с vino-сервером. Пока компьютер, к которому вы пытаетесь подключиться, правильно слушает на 5900, у вас все будет хорошо. Проверьте, запустив netstat -nlpи ища строку, которая говорит 0.0.0.0:5900 со словом «LISTEN» в той же строке.
Scaine
Запуск 12.04 здесь, и netstat -nlpотчеты о vino-serverпрослушивании через порт 5900. AFAIK Я ничего не сделал, чтобы это произошло ... опять же, со всей игрой вокруг, которую я сделал .... Конечно, vino-сервер не появляется /etc/initни в каком-либо выскочка конфигурации, которую я видел.
HDave
Да, это странно. Рядом со мной стоит довольно чистый ноутбук с 32-битной Ubuntu 12.04, и он точно не слушает 5900. Возможно, вам придется убить vino-сервер перед тем, как попробовать x11vnc, в противном случае x11vnc не сможет подключиться к нужному порту.
Scaine
2

опция nodamage работает, но если вы не находитесь в очень быстрой сети, это плохая идея - она ​​заставляет все обновляться постоянно, даже если оно не меняется, что использует огромную полосу пропускания.

Люк
источник
2

Исправление @ большой ответ Scaine, это есть возможность использовать vino-serverс поддержкой Compiz эффекты.

Вот как отключить xdamageв Vino и, таким образом, заставить VNC работать с compiz:

gsettings set org.gnome.Vino disable-xdamage true

Выполнено!

Теперь вы можете использовать Ubuntu по умолчанию «Общий доступ к рабочему столу», используя даже Unity 3D. Не нужно устанавливатьx11vnc

Но, как отмечали другие, отключение xdamage вызывает огромный сетевой трафик. Не большая проблема в локальной сети, но производительность может снизиться при удаленном управлении через Интернет.

MestreLion
источник
Иногда я задаюсь вопросом, является ли удаленный обмен на самом деле запоздалой мыслью в Ubuntu-Land. Это действительно должно работать прямо из коробки.
Антоний
@Antony: ни Vino, ни Compiz не являются эксклюзивными для Ubuntu, так что это действительно не их вина. И эта ошибка связана с проприетарными видеодрайверами, которые полностью недоступны для Ubuntu (или любого другого дистрибутива)
MestreLion
1

Если вы включаете визуальные эффекты рабочего стола (установлено значение «Дополнительно») с помощью проприетарного драйвера nvidia, то vnc на машине работает, но после первоначального входа в систему экран завис, и вы ничего не видите (кроме замороженного изображения). Он работает правильно с драйверами с открытым исходным кодом (по крайней мере, для ATI).

блестящий
источник
0

Я использую MacBook Pro для управления рабочим столом Ubuntu. Я остановил замороженный экран, зайдя в центр управления AMD Catalyst, а затем в разделе параметров отображения я перешел на вкладку «Tear Free» и затем включил рабочий стол Tear free, чтобы уменьшить разрыв.

Начал работать сразу после этого.

Брайан
источник