Содержание

Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal

Х-терминалы – бездисковые клиенты Х-Windows

Для нормальной работы современному пользователю нужна среда с графическим интерфейсом, время консольных редакторов и MS DOS кануло в лету. Так как операционная система Linux не имеет своей собственной графической подсистемы, то приходится довольствоваться проектом системы X-Windows. И проект X-Windows не смотря на приличную историю развития (в информационных технологиях время иногда только вредит) имеет неоспоримые идеологические преимущества. Главным из которых является клиент-серверная архитектура. Зарождаясь во времена мейнфреймов, Х-протокол распределял нагрузку между Х-сервером и Х-клиентом, что собственно и требуется сейчас для работы Х-терминала.

Итак, для того чтобы понять преимущества архитектуры клиент-сервер системы X-Windows, давайте рассмотрим на примере, что происходит при запуске обычного графического приложения:

  1. Пользователь отдает команду запустить программу;
  2. Операционная система считывает з диска код программы и начинает выполнять его;
  3. Программный код взаимодействуя с библиотеками системы Х выводит на экран графическую информацию и выполняет другие полезные функции.

Так вот, персональный компьютер, который выполняет эту программу тратит все свои ресурсы как на полезный код (то что действительно выполняет программа без учета ее интерфейса) так и на графическую подсистему (рисование окошек на экране) и нельзя сказать, что графическая подсистема не влияет на скорость выполнения программы. В Х-терминальном варианте все перечисленные операции выполняет сервер, а Х-терминал только отображает графическую информацию. То есть, по большому счету, Х-терминал выполняет одну программу – сервер X-Windows, в обязанности которой входит лишь обслуживание графической подсистемы. Такие ограниченные функциональные обязанности значительно снижают требования к аппаратной базе для Х-терминалов, а круг выполняемых на них задач зависит лишь от пропускной способности сети и мощности сервера.

В графических системах отличных от Х-Windows такой трюк не получиться, так как их протоколы не рассчитаны на использование структуры клиент-сервер, а следовательно эффективность удаленного запуска графических приложений будет ниже (как вы уже знаете, удаленная работа в операционных системах не использующих X Window System более чем возможна, но соревноваться с Х им очень тяжело).

Удаленный запуск GUI-приложений (XForwarding)

Только для того, чтобы вы поверили какая все-таки Х-терминал крутая штука, я покажу вам как запускать Х-приложения на удаленном компьютере. Когда лично я впервые увидел как это работает, то в очередной раз убедился что за операционной системой Linux будущее.

Для запуска нам понадобится все та же утилита ssh и возможно пакет openssh-askpass (для ввода пароля Х-программ). Установим на клиентский компьютер пакет openssh-askpass, если он уже не установлен:

# rpm -ihv openssh-askpass-3.6.1p1-1.1asp

На сервере в файле /etc/ssh/sshd_config необходимо также добавить строчку “X11Forwarding yes” и перезапустить демон sshd:

# /sbin/service sshd restart
Shutting down sshd:                                          [  OK  ]
Starting sshd:                                               [  OK  ]

Теперь с клиентского компьютера давайте запустим графическую программу, например, konqueror. Для этого достаточно набрать такую команду:

$ ssh -X -l mikola 192.168.0.20

В данном случае параметр -X означает принудительную поддержку клиентом Х-протокола, так называемый "x-forwarding", а параметр -l mikola – пользователя удаленного компьютера (mikola). Если на удаленном компьютере имя пользователя совпадает с вашим текущим, то параметр -l использовать не нужно. Вводим на запрос системы пароль и попадаем в удаленную систему. Теперь набираем команду запуска файлового менеджера:

$ konqueror

И на вашем рабочем столе появится окошко Konqueror (см. рис. 2.2.).

Рис. 2.2. Пример запуска программы с графическим интерфейсом (konqueror) на удаленном компьютере

Если оконный менеджер KDE не установлен на вашем импровизированном сервере, не беда, подойдет любая Х-программа. Попробуйте запустить любое приложение с графическим интерфейсом и попробовать поработать с ним. Вам понравится скорость и удобство работы, а также та легкость доступа к информации на удаленном компьютере.

Вторая глава была так себе, читаем третью!

Авторское право © Сеник Николай, 2004-2006