Около года назад мы писали об использовании vnc в Gentoo Linux для подключения к удалёному рабочему столу. В качестве vnc-сервера был использован X.Org с модулем vnc из дистрибутива realvnc. К сожалению этот модуль не собирается и не работает с последними версиями X, а обновлений к нему пока не было выпущено. Поэтому встал вопрос об альтернативном решении.
Решении было найдено в виде сервера x11vnc, который обладает всем необходимым функционалом, и даже кое-какими дополнительными возможностями, которые отсутствуют в свободной версии realvnc (например масштабирование экрана).
Для начала установим x11vnc:
emerge x11vnc
Установка не займёт много времени, поскольку исходные тексты занимают всего около двух мегабайт. После установки на диске появятся следующие файлы (список может немного меняться в зависимости от версии и USE-флагов,использованных при сборке):
/usr/bin/x11vnc /usr/share/man/man1/x11vnc.1.bz2 /usr/share/x11vnc/classes/ssl/VncViewer.jar /usr/share/x11vnc/classes/ssl/index.vnc /usr/share/x11vnc/classes/ssl/SignedVncViewer.jar /usr/share/x11vnc/classes/ssl/proxy.vnc /usr/share/x11vnc/classes/ssl/README /usr/share/x11vnc/classes/ssl/UltraViewerSSL.jar /usr/share/x11vnc/classes/ssl/SignedUltraViewerSSL.jar /usr/share/x11vnc/classes/ssl/ultra.vnc /usr/share/x11vnc/classes/ssl/ultrasigned.vnc /usr/share/x11vnc/classes/ssl/ss_vncviewer /usr/share/x11vnc/classes/VncViewer.jar /usr/share/x11vnc/classes/index.vnc /usr/share/doc/x11vnc-0.9.3/ChangeLog.bz2 /usr/share/doc/x11vnc-0.9.3/README.bz2
В самом простом случае для запуска достаточно просто выполнить команду:
x11vnc
Однако если у вас слабый канал, то может быть полезным отключение полной цветопередачи (опция -notruecolor) а так же включить масштабирование (опция -scale). В этом случае команда будет выглядеть примерно так:
x11vnc -notruecolor -scale 2/3
В результате по сети будет передаваться изображение с восьмибитным цветом и размером в 2/3 от оригинала.
У x11vnc есть ещё одна особенность: после запуска x11vnc ждёт подключения клиента, а по завершении подключения - завершает свою работу. Если необходимо чтобы x11vnc был запущен постоянно и не завершал работу после отключения клиента - нужно добавить опцию -forever к строке запуска. Дополняя предыдущую команду получим:
x11vnc -notruecolor -scale 2/3 -forever
Так же полезно явно указать используемый дисплей при помощи опции -display. Если опция не указана то используется дисплей, указанный в переменной окружения DISPLAY. Если же переменная окружения DISPLAY не указана - создаётся новый дисплей.
Кроме того полезно настроить авторизацию. Для этого выполните команду:
x11vnc -storepasswd
Пароль будет сохранён как и в случае с другими реализациями vnc в файле ~/.vnc/passwd. Причём если у вас уже есть этот файл (например созданный при помощи realvnc) то его можно использовать без изменений. Чтобы x11vnc использовал авторизацию ему нужно передать опцию -usepw. В итоге получится вот такая команда:
x11vnc -notruecolor -scale 2/3 -forever -display :0 -usepw
Если используется KDE и есть необходимость запустить x11vnc вместе с KDE то можно создать скрипт ~/.kde/Autostart/startvnc.sh следующего содержания:
#!/bin/sh x11vnc -notruecolor -scale 2/3 -forever -display :0 -usepw
Всё. Теперь нужно выполнить этот скрипт или перезапустить KDE и можно подключаться к вашему компьютеру командой:
vncviewer <Ваш_IP>
Большая часть написанного выше не привязана к конкретному дистрибутиву, и потому может быть использовано и в других дистрибутивах.
Anonymous 2009-08-13 13:25:56 (#)