выполнении этой команды будет создан каталог vnc_x86_linux_2.0
.
2. Скопируйте файлы vncviewer
, vncserver
, vncpasswd
, vncconnect
и Xvnc
в один из каталогов, указанных в переменной окружения PATH
. При желании вы можете поступить и по-другому: скопировать весь каталог vnc_x86_linux_2.0
в подходящую для вас позицию файловой системы (например, в каталог /opt
) и указать этот каталог в переменной окружения PATH
. Если необходимо, вы можете обеспечить доступ к каталогу с помощью символьной ссылки.
3. Создайте в рабочем каталоге пользователя, который должен работать с VNC, подкаталог с именем .vnc
. Владельцем этого каталога должен быть сам пользователь. В этом каталоге будут содержаться конфигурационные файлы, в том числе файл пароля. Чтобы предотвратить утечку информации, необходимо установить права доступа 700 (rwx-------
).
4. От имени пользователя, работающего с VNC, введите команду vncpasswd
. Как нетрудно догадаться, с помощью утилиты vncpasswd
задается пароль. В отличие от большинства других серверов регистрации, VNC не полагается на результаты процедуры аутентификации, проведенной средствами Linux. (Если VNC работает совместно с сервером XDMCP, за аутентификацию отвечает Linux, поэтому вы можете не выполнять пп. 3 и 4 данной процедуры.)
Выше были описаны действия, которые обычно выполняются при инсталляции сервера и клиента VNC. VNC также обеспечивает работу в режиме Java-сервера. Этот режим позволяет пользователю обращаться к серверу с любого Web-броузера, поддерживающего Java. Необходимые классы Java находятся в подкаталоге classes
. Дополнительная информация об инсталляции и использовании этих классов находится в файле README
.
Запуск сервера VNC
Для того чтобы запустить сервер надо зарегистрироваться как обычный пользователь на том компьютере, на котором инсталлирован этот сервер. Обычно пользователи регистрируются с того узла сети, на котором они собираются работать, но при необходимости вы можете подготовить сервер к взаимодействию с удаленной системой, с помощью консольного терминала. Для запуска сервера надо задать от имени обычного пользователя следующую команду:
$ vncserver
New 'X' desktop is vncserv.threeroomco.com:1
Starting applications specified in /home/rodsmith/.vnc/xstartup
Log file is /home/rodsmith/.vnc/vncserv.threeroomco.com:1.log
Обратите внимание на данные, отображаемые при выполнении команды; особенно для вас важен номер рабочего стола. В приведенном выше примере это номер 1 — число, которое отображается после имени узла (vncserv.threeroomco.com:1
). В процессе работы VNC запускает X-сервер (программа Xvnc
). Этот X-сервер можно рассматривать как сервер, запускаемый посредством команды startx
; он формирует среду рабочего стола или диспетчер окон. Если несколько пользователей запускают серверы с одного компьютера, необходимы средства, позволяющие идентифицировать их. В качестве идентификатора используется номер X-сервера. Номер 0 обычно выделяется для X-сервера, связанного с консолью, поэтому первому серверу VNC, вероятнее всего, будет соответствовать номер 1. В последующих сеансах VNC будут использоваться номера 2, 3 и т.д.
Если вы зарегистрируетесь на удаленном узле средствами SSH и попытаетесь вызвать сервер VNC, вы, возможно, обнаружите, что выполняется только сервер VNC, а остальные программы (в том числе диспетчеры окон) не работают. В результате вы увидите экран, заполненный фоновым цветом без окон. Так происходит потому, что SSH пытается установить конфигурацию xauth
в соответствии с настройкой своих средств туннелирования X-взаимодействия. Чтобы избавиться от этой проблемы, нужно перед запуском vncserver
задать команду export XAUTHORITY=~/.Xauthority
, в результате выполнения которой будут восстановлены установки по умолчанию. Можно также скопировать записи из файла, используемого по умолчанию, во временный файл SSH.
Закончив работу с сервером 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