Закончив работу с сервером VNC, надо завершить сеанс взаимодействия, указав для этого опцию
– kill
:
$ vncserver -kill:1
Число в составе данной команды определяет номер сеанса VNC; этот номер отображается при вызове
vncserver
. Завершать выполнение сервера VNC не обязательно, но работающий сервер напрасно занимает память компьютера. Вызывать данную команду целесообразно с точки зрения безопасности системы, поскольку невозможно воспользоваться недостатками в защите сервера, если он не выполняется. Перед тем как отключать сервер, убедитесь, что вы окончили работу со всеми программами и закрыли файлы, так как
сервер VNC, заканчивая работу, не выводит предупреждающих сообщений.
Использование клиента VNC для взаимодействия с сервером
Программа, реализующая функции клиента VNC в системе Linux, называется
vncviewer
. Для вызова клиента надо ввести имя программы и, возможно, имя сервера и номер дисплея.
$ vncviewer vncserv.threeroomco.com:1
VNC server supports protocol version 3.3 (viewer 3.3)
Password:
При вводе пароля символы не отображаются на экране. При выполнении клиент VNC выводит дополнительную информацию, например, число битов, используемых для представления цвета, и другие технологические характеристики. Если клиент-программа выполняется корректно, вы увидите на экране окно, отображающее рабочий стол Linux. Возможно, что конфигурация сервера VNC вас не устроит и вы захотите изменить ее.
Если вы не укажете номер дисплея, клиент VNC попытается подключиться к дисплею с номером 0, который в системе Linux не работает, так как используется локальным X-сервером. Без указания номера дисплея можно обращаться к серверу VNC, работающему в системе Windows или MacOS. Если вы не зададите имя узла, клиент VNC отобразит диалоговое окно, в котором предложит вам ввести имя узла и пароль.
Клиенты, предназначенные для работы в Windows и MacOS, действуют аналогично клиенту VNC Linux. Для запуска программы надо дважды щелкнуть на соответствующей пиктограмме, в результате чего клиент отобразит диалоговое окно для ввода имени сервера VNC и номера дисплея (например,
vncserv.threeroomco.com:1
). Если имя узла задано верно, у пользователя запрашивается пароль, после ввода которого будет выведено окно с рабочим столом сервера
Настройка сервера VNC
VNC представляет собой удобный инструмент удаленного доступа, но при использовании могут возникать проблемы. В частности, многие пользователи сообщают об ошибках, возникающих при совместной работе редактора NEdit (
http://www.nedit.org
) и VNC. В моей системе NEdit не реагировал на нажатие клавиш, т.е. оказался совершенно непригоден к использованию. К счастью, серьезные ошибки, подобные этой, возникают достаточно редко. В большинстве случаев проблему удается решить с помощью настройки компонентов VNC. Xарактеристики VNC можно задавать, редактируя сценарий, используемый для запуска сервера, либо изменяя содержимое конфигурационных файлов.
Установка основных характеристик сервера
Программа, реализующая функции сервера VNC, называется Xvnc. Эта программа содержит X-сервер (взаимодействующий с локальными X-программами) и сервер VNC (который взаимодействует с клиентом VNC). Вы, вероятно, заметили, что при обсуждении работы сервера программа
Xvnc
не упоминалась. Дело в том, что эта программа вызывается из сценария
vncserver
, используемого для запуска сервера VNC. Сценарий
vncserver
написан на языке Perl; изменяя его код, вы можете задавать характеристики сервера VNC, принимаемые по умолчанию. Некоторые из установок, которые можно осуществить, редактируя код сценария, описаны ниже.
• Автоматическая
установка параметров, используемых по умолчанию. В последних версиях
vncserver
для определения размера дисплея, числа битов, используемых для представления цвета, и других параметров применялся вызов
&GetXDisplayDefaults
. Однако при этом может быть получено значение размера, не подходящее для клиента. Если вы хотите изменить размер экрана, вам надо закомментировать данную строку, поместив в начале ее символ
#
, и указать размер экрана явным образом. В сценарии, поставляемом в составе пакета, размер экрана устанавливается до вызова
&GetXDisplayDefaults
.
• Размер экрана. При запуске программа
Xvnc
создает виртуальный экран определенного размера. Если вы не используете опции по умолчанию, установите размер экрана с помощью переменной
$geometry
. Например, чтобы задать размер 900×675, надо включить в состав сценария следующую строку:
$geometry = "900x675";
Совет
Поскольку клиент VNC отображает рабочий стол сервера VNC в окне, имеет смысл указать размер дисплея несколько меньше, чем реальный его размер. Оставшееся место понадобится для вывода обрамления. Если размер дисплея выбран слишком большим, для просмотра рабочего стола придется использовать элементы прокрутки.
• Глубина цвета. Включив в состав сценария переменную
$depth
, вы можете контролировать число битов, используемых для представления цвета. Во многих случаях для кодирования цвета бывает достаточно 16 битов, однако программы, воспроизводящие большое количество разнообразных цветов, могут искажать данные, отображаемые другими программами. Это правило не распространяется на VNC; 16-битовое представление может привести к некорректному отображению цвета. В будущем данная проблема, скорее всего, будет решена.
• Шрифт, или путь к шрифту. Сценарий, поставляемый в составе пакета, по умолчанию настроен для использования сервера шрифтов. Изменить эту настройку можно с помощью раздела Add font path and color database stuff here. Для добавления шрифта используется параметр
– fp
в строке
$cmd
, которая используется при вызове
Xvnc
. При необходимости вы можете сконфигурировать VNC для работы с сервером шрифтов. Использованием сервера шрифтов описано в главе 15.
• Диспетчер окон, используемый по умолчанию. Сценарий
vncserver
, поставляемый в составе дистрибутивного пакета, содержит переменную
$defaultXStartup
, определяющую содержимое пользовательского сценария запуска. При первом запуске сценарий
vncserver
помещает соответствующий файл в пользовательский каталог. По умолчанию задан диспетчер окон который в настоящее время используется достаточно редко. Вы можете отказаться от значения, заданного по умолчанию, и заменить вызов
twm
на вызов другого диспетчера окон или среды рабочего стола, например
startkde
,
sawmill
или
icewm
. Изменения, внесенные в сценарий
vncserver
, повлияют на работу только тех пользователей, которые еще не запускали данный сценарий. Ниже будет рассмотрены средства установки конфигурации для существующих пользователей.