рабочего стола.
Один из главных недостатков заключается в следующем: для того, чтобы начать работу с сервером 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 предоставляется на коммерческой основе.
• Протокол VNC имеет свои особенности. Если на пользовательском компьютере вы замените X- сервер клиентом VNC, качество системы может как повыситься, так и снизиться, в зависимости от потребностей пользователя и применяемого X-сервера.
• В большинстве случаев протокол VNC обеспечивает меньшее быстродействие по сравнению с X Window, однако в некоторых случаях применение VNC вместо X Window может повысить производительность системы.
Преимущества и недостатки различных технологий удаленной регистрации
В табл. 14.1 приведены наиболее важные характеристики различных технологий удаленной регистрации, рассмотренных в данной главе. Заметьте, что конкретные оценки могут различаться в зависимости от реализации протокола и конфигурации программных средств. Например, уровень безопасности при VNC-регистрации в текстовом режиме зависит от применяемого инструмента. Если вы используете для установления начального соединения SSH, то защита оценивается как отличная, если же кодирование передаваемых данных не осуществляется, информация может быть перехвачена, поэтому защита считается неудовлетворительной.
Таблица 14.1. Xарактеристики средств удаленной регистрации, поддерживающих графический интерфейс
Характеристика | Регистрация в текстовом режиме | SSH-регистрация | XDMCP-регистрация | Регистрация в текстовом режиме с использованием VNC | Совместное использование VNC и XDMCP |
---|---|---|---|---|---|
Уровень защиты при регистрации | Очень низкий | Очень высокий | Очень низкий | От очень низкого до очень высокого | Очень низкий |
Уровень защиты при передаче данных | Очень низкий | Очень высокий | Очень низкий | Очень низкий | Очень низкий |