Использование x11vnc

()

Около года назад мы писали об использовании 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>

Большая часть написанного выше не привязана к конкретному дистрибутиву, и потому может быть использовано и в других дистрибутивах.

Ключевые слова: vnc, linux, x11, xorg, x11vnc.

Комментарии:

Anonymous 2009-08-13 13:25:56 (#)

большое спасибо!

Anonymous 2009-11-22 13:33:00 (#)

thanks

Anonymous 2010-10-13 12:32:04 (#)

Спасибо! Нашел что искал!

Anonymous 2011-01-12 13:31:50 (#)

Спасибо! Заработало

Anonymous 2011-02-14 15:33:25 (#)

th's

Anonymous 2011-04-02 16:37:10 (#)

Нафиг X11vnc. У него есть очень неприятные проблемы - например с кодировками. AT&T забила на модуль? Ну и GPL с ними, emerge -v net-misc/tigervnc

These are the packages that would be merged, in order:

Calculating dependencies ... done!
[ebuild N ] net-misc/tigervnc-1.0.1_p20100914-r5 USE="nptl opengl server xorgmodule" 2,400 kB

MooSE 2011-04-02 22:42:07 (#)

Цитата:

НAT&T забила на модуль? Ну и GPL с ними, emerge -v net-misc/tigervnc



Верю:) И поддерживаю:) Но на момент написания статьи (прошу обратить внимание что это 2007-й год) небыло ещё tigervnc.

Был правда tightvnc, но модуля в нём не было.

Anonymous 2011-04-07 16:04:48 (#)

Цитата:

...
Был правда tightvnc, но модуля в нём не было.
Какого модуля?

MooSE 2011-04-07 18:17:16 (#)

Цитата:

Цитата:

...
Был правда tightvnc, но модуля в нём не было.
Какого модуля?


А... Сорри. Меня глюкнуло и я решил что обсуждаем вот эту статью:)
Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE