$ /usr/X11R6/bin/X -indirect xdmcp-server.threeroomco.com
Приведенные выше опции действуют так же, как и опции X-сервера для Windows, за одним исключением. Опция -broadcastне приводит к отображению списка доступных узлов; клиент устанавливает соединение с первым сервером XDCMP, который отвечает на запрос.
Совет
При желании вы можете сконфигурировать компьютер под управлением Linux как выделенный X-терминал. Конфигурацию следует задать так, чтобы X-сервер не запускался автоматически посредством сервера XDMCP. Затем следует создать сценарий запуска, который вызывал бы X-сервер с указанием требуемой опции: -query, -broadcastили -indirect. Если вы хотите отобразить список доступных локальных серверов, вам надо сконфигурировать один из серверов XDMCP так, чтобы он обрабатывал косвенные запросы, и указать при запуске X-сервера опцию -indirect. Таким образом, можно реализовать X-терминал даже посредством компьютера с процессором 386.
Обеспечение удаленного доступа с помощью сервера VNC
Средства X Window очень часто применяются для создания графической среды в системе Linux. Поскольку система X Window непосредственно разрабатывалась для работы в сети, ее очень удобно использовать в качестве инструмента удаленной регистрации. Однако X Window — не единственный инструмент, предоставляющий графический интерфейс для взаимодействия с удаленным компьютером. Эту задачу решают также средства VNC. Сетевая модель VNC отличается от X Window, и ей присущи свои преимущества и недостатки. Процедура инсталляции и настройки сервера VNC отличается от установки и выбора конфигурации X-сервера. Клиенты этих систем также различаются между собой.
Взаимодействие клиента и сервера VNC
Излагая материал данной главы, я пытался обратить внимание на роль различных клиентских и серверных программ в процессе сетевого взаимодействия. Как вы уже знаете, один и тот же компьютер может действовать как сервер по одному протоколу и выполнять функции клиента по другому протоколу. Рассматривая VNC, понять принцип взаимодействия программ несколько проще, так как в этом случае компьютер, за которым работает пользователь, является клиентом VNC, а удаленный компьютер — сервером VNC.
Если вы вспомните недавнее обсуждение принципов работы X Window, вам, наверное, покажется странным, как клиент VNC может обеспечивать работу пользовательского компьютера. Если X-сервер управляет клавиатурой, мышью и дисплеем, то как пользователь, не работающий за X-сервером, может выполнять X-программы? Дело в том, что VNC предполагает дополнительный уровень сетевого взаимодействия, скрытый от пользователя. На узле сети, выполняющем роль сервера VNC, присутствует X-клиент, который взаимодействует с X-сервером локального компьютера. X-сервер обменивается данными с сервером VNC так, как будто X-сервер работает с реальными устройствами ввода-вывода, однако вместо локальной клавиатуры, мыши и дисплея сервер VNC взаимодействует по сети с удаленным клиентом VNC, который поддерживает обмен с устройствами ввода-вывода. На рис. 14.5 показано, как работают компоненты сервера VNC. Для сравнения на этом же рисунке изображено взаимодействие X-клиента и X-сервера, работающих на отдельном компьютере и в сети.
Рис. 14.5. Сервер VNC взаимодействует с локальным X-сервером и удаленным клиентом VNC. Клиент, в свою очередь, взаимодействует с X-сервером и поддерживает обмен данными с клавиатурой, мышью и дисплеем
X-сервер, работающий совместно с сервером VNC, поддерживает свое текущее состояние даже в том случае, когда VNC-соединение разрывается. Например, если в работе сервера VNC возникнет сбой или если пользователь закроет клиент-программу, не завершив сеанс, сервер VNC продолжит свою работу, и когда пользователь возобновит соединение, приложения, работающие с сервером VNC, останутся открытыми. Такая возможность во многих случаях упрощает работу, например, она может быть очень полезна тогда, когда сеть функционирует ненадежно. Однако не стоит пользоваться ею без необходимости. Если вы надолго прервете сеанс взаимодействия, в работе сервера VNC может возникнуть ошибка; не исключено также, что соединением воспользуется злоумышленник, пытающийся получить доступ к важной информации. (Заметьте, что текущее состояние не поддерживается, когда средства VNC работают совместно с XDMCP.)
Читать дальше