Читаем Сетевые средства Linux полностью

• Редактировать отдельные конфигурационные файлы. Стандартный сценарий запуска сервера перед окончанием своего выполнения вызывает сценарий ~/.vnc/xstartup. В нем содержатся команды запуска диспетчера окон и xterm. Пользователь может редактировать этот файл так же, как и обычный сценарий запуска X Window. В некоторых дистрибутивных пакетах имя и расположение этого сценария отличается от указанных здесь. Например, в системе Debian вызывается сценарий /etc/X11/Xsession, который, в свою очередь, запускает пользовательский сценарий .xsession.

В большинстве случаев для организации передачи опций и редактирования конфигурационных файлов приходится затрачивать гораздо меньше усилий, чем для создания сценария запуска. Однако бывают ситуации, когда один из способов настройки оказывается намного удобнее остальных. Например, размер экрана проще всего задавать с помощью опции -geometry в сценарии vncserver, а диспетчер окон лучше всего настраивать, используя его сценарий запуска. Общее правило таково: содержимое сценария vncserver позволяет задать поведение X-сервера в составе VNC, а опции сценария запуска дают возможность настроить диспетчер окон и среду рабочего стола.

Совместная работа серверов XDMCP и VNC

Один из главных недостатков заключается в следующем: для того, чтобы начать работу с сервером VNC, надо зарегистрироваться, используя один из стандартных протоколов, загрузить сервер и запомнить номер дисплея. Эта рутинная процедура мешает выполнению реальных задач. Решением данной проблемы может быть использование VNC X-сервера и сервера XDMCP на одном компьютере.

Подобно большинству X-серверов, VNC X-сервер позволяет серверу XDMCP управлять отображением данных. Для того, чтобы это стало возможным, вам надо указать при запуске VNC X-сервера опцию -query имя_узла. Если вы используете суперсервер xinetd, соответствующая запись в конфигурационном файле будет выглядеть следующим образом:

service vnc

{

 disable = no

 socket_type = stream

 protocol = tcp

 wait = no

 user = nobody

 server = /usr/local/bin/Xvnc

 server_args = -inetd -query vncserv -once

}

В данном случае важно правильно задать параметры сервера. В частности, опция -inetd сообщает Xvnc о том, что он запущен посредством суперсервера, -query vncserv означает, что необходимо обратиться к vncserv. Опция -once свидетельствует о том, что сервер должен быть вызван однократно, а затем прекратить свою работу; в результате, если пользователь завершит сеанс взаимодействия, соединение будет разорвано. Вы можете также использовать и другие опции Xvnc, например -geometry или -fp. Кроме того, в файле /etc/services должно присутствовать описание порта.

vnc 5900/tcp

Для обычных соединений VNC использует номера портов 5900-5999, а порты 5800-5899 применяются для обработки обращений посредством Web-броузера (поддержки режима Java-сервера). Порт 5900 соответствует дисплею 0, порт 5901 — дисплею 1 и т.д. Таким образом, приведенное выше описание задает отображение приглашения к регистрации XDMCP и взаимодействие VNC через порт 0. Очевидно, что сервер XDMCP должен выполняться на компьютере, определенном посредством опции -query. Вы можете настроить систему так, чтобы она по-разному реагировала на обращения клиента через различные порты. Например, дисплею 0 может соответствовать размер рабочего стола 800×600, дисплею 1 — размер 1024×768 и т.д. Для идентификации таких серверов необходимо поместить в файл /etc/services несколько записей: по одной на каждый порт. Настроенный таким образом сервер VNC не требует ввода пароля — все детали взаимодействия обеспечивает сервер XDMCP. (Заметьте, что в отличие от традиционного VNC-взаимодействия, имя пользователя и пароль передаются в незакодированном виде.) Еще одна особенность сконфигурированного подобным образом сервера VNC состоит в том, что он может принимать обращения нескольких пользователей через один порт. Таким образом, совместное использование серверов VNC и XDMCP можно условно сравнить с применением сервера XDMCP и удаленного X-сервера. Однако эти системы имеют ряд отличий. Наиболее важные из них описаны ниже.

• При использовании между двумя компьютерами устанавливается одно соединение. Это удобно в тех случаях, когда взаимодействующие компьютеры разделены брандмауэром; при этом уменьшается количество серверов, доступных извне.

• При работе VNC на пользовательском компьютере вместо X-сервера выполняется клиент VNC. Сервер VNC распространяется в исходных кодах, поэтому он свободно доступен, в то время как большинство X-серверов для Windows и MacOS предоставляется на коммерческой основе.

Перейти на страницу:

Похожие книги