Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
Программа читает информацию из главного конфигурационного файла проекта LTSP: /opt/ltsp/i386/etc/lts.conf. В версии 4.х ее поведение было значительно расширено, в основном благодаря новому ключевому слову "LIKE". Использование этого слова означает, что при описании конфигурации Х-терминала, теперь можно копировать данные из другого раздела файла /opt/ltsp/i386/etc/lts.conf. Например, представьте, что у вас есть 3 совершенно одинаковых компьютера, которые вы используете как Х-терминалы. Описываем один из них (например, с именем xt_first), а для других попросту копируем конфигурацию:
[xt_first]
X_MOUSE_DEVICE = /dev/ttyS0
X_MOUSE_PROTOCOL = Microsoft
[xt_second] LIKE = xt_first
[xt_third]
LIKE = xt_first
Если усложнить пример, и представить, что к одному из Х-терминалов подключен принтер к параллельному порту (например, к терминалу с именем tx_second), то теперь фрагмент файла /opt/ltsp/i386/etc/lts.conf будет выглядеть так:
[xt_first]
X_MOUSE_DEVICE = /dev/ttyS0
X_MOUSE_PROTOCOL = Microsoft
[xt_second]
LIKE = xt_first
PRINTER_0_DEVICE = /dev/lp0
PRINTER_0_TYPE = P
[xt_third]
LIKE = xt_first
С появлением этого нововведения файл /opt/ltsp/i386/etc/lts.conf стал гораздо проще для чтения и компактнее в размерах.
В четвертой версии проекта LTSP в рабочей среде Х-терминалов появился новый демон: ltspinfod. Теперь процесс на сервере может обратиться к этому демону, работающему на Х-терминале, и получить в ответ нужную информацию о состоянии бездискового компьютера. Используется этот демон такими сервисными вспомогательными службами как, например, поддержка звука. Теперь сервер может обратиться к этому демону, чтобы определить включена ли для Х-терминал поддержка звука и какой именно звуковой демон используется.
Теперь в LTSP, начиная с версии 4.0, значительно больше внимания уделяется использованию локального запуска приложений. Для запуска приложений на Х-терминале используется утилита ssh, вместо rsh, как это было раньше. Кроме более простого использования, утилиту ssh отличает еще и на порядок более высокий уровень безопасности. Хотя, если присмотреться повнимательнее, то в локальном запуске приложений есть потенциальные бреши в системе безопасности. Так, при использовании ssh используются два ключа: личный (private key) и общий (public key), и чтобы сделать доступ действительно защищенным, необходимо, чтобы личный ключ хранился на локальном устройстве Х-терминала, таком как флоппи-дискета, жесткий диск или USB-накопитель. Сейчас такой возможности не предусмотрено и личный ключ как и общий хранится на сервере, доступ к которому пользователи получают через NFS. Правда, авторы LTSP обещали усилить методы обеспечения безопасности в будущих версиях данного проекта.
Для построения пар ключей для Х-терминалов необходимо выполнить такие команды:
ssh-keygen -q -t rsa1 -f /opt/ltsp/i386/etc/ssh/ssh_host_key -C '' -N ''
ssh-keygen -q -t rsa -f /opt/ltsp/i386/etc/ssh/ssh_host_rsa_key -C '' -N ''
ssh-keygen -q -t dsa -f /opt/ltsp/i386/etc/ssh/ssh_host_dsa_key -C '' -N ''
После этого необходимо убедиться, что содержимое файла /etc/ssh/ssh_known_hosts примерно такое:
ws001 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAxFCM2eZU7P3HvEOMYhAFUiwE...
ws002 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAxFCM2eZU7P3HvEOMYhAFUiwE...
ws003 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAxFCM2eZU7P3HvEOMYhAFUiwE...
...
После этого, если вы правильно настроили NIS-сервер, можно добавлять строки поддержки запуска локальных приложений в раздел файла /opt/ltsp/i386/etc/lts.conf:
LOCAL_APPS = Y
NIS_DOMAIN = ltsp
После перезагрузки Х-терминала он готов запускать локальные приложения, например, такой командой (пример для Х-терминала с доменным именем xtlocal выполняется локальная команда free):
ssh xtlocal free
Для приложений, требующих Х-Windows, необходимо несколько усложнить синтаксис команды (добавить переменную окружения DISPLAY=:0.0):
ssh xtlocal env DISPLAY=:0.0 /usr/local/Mozilla/mozilla