NCD X terminal mini HOWTO

Ian Hodge

     [email protected]
   

Перевод: Станислав Рогин, SWSoft Pte Ltd.

v1.09, March 27, 2000

В этом документе описывается процесс подключения X-Терминала NCD к UNIX-машине


1. Copyright

The NCD X terminal mini HOWTO is copyright(c) 1998 by Ian Hodge. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies.


2. Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

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

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу


3. Введение

Этот документ описывает, как X terminal, произведенный компанией NCD (Network Computing Devices), может быть подключен и загружен с хоста UNIX с использованием BootP. Многие терминалы могут быть загружены с RARP, NFS или с платы PCMCIA, а также через последовательное соединение (напрямую или через модем).

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


3.1. Краткое описание

Процесс подсоединения Х терминала к сети UNIX может быть кратко сведен к выполнению следующих шагов :

  • физически подключите Х терминал к сети

  • настройте хост UNIX, с которого Вы хотите загрузиться

  • настройте процедуру загрузки Х терминала

  • загрузите Х терминал

  • войдите в сеть


4. Требования

4.1. Х терминал

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


4.2. Физическое подключение

NCD Х терминал (модель Xncd19r была использована при подготовке этого документа) имеет коннектор RJ-45 (витая пара) для работы в 10baseT Ethernet. Хаб необходим для соединения более двух устройств Ethernet с использованием витой пары. Если Х терминал и его машина являются единственными устройствами в сети, они могут быть связаны с помощью нуль-кабеля, описанного в документе HOWTO по Linux Ethernet.


4.3. Программное обеспечение Х сервера NCD

Программное обеспечение сервера Х терминала можно приобрести у разработчика, а также он обычно поставляется при покупке терминала. Оно должно находиться на запускающей машине, где к нему имеется доступ в момент загрузки Х терминала. Терминал можно запустить с любой машины, которая поддерживает коммуникационный протокол (это будет объяснено в следующих главах). В дополнение к Х серверу существует пакет приложений, таких как window manager, которые могут работать на Х терминале.


5. Настройка UNIX машины

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


5.1. TFTP и BootP

Вместе tftp (trivial file transfer protocol) с BootP (boot protocol server) используются на удаленной машине для того, чтобы Х терминал скачал программное обеспечение Х сервера и настроил файлы через сеть. Оба сервиса обычно запускаются от inetd (Internet Daemon).

После включения Х терминал, если он настроен на загрузку из сети, рассылает широковещательное сообщение, используя BootP (TCP/IP bootstrap protocol). Это сообщение содержит адрес устройства Ethernet Х терминала, который используется запускающей машиной в ответ на полученный запрос.

Когда ответ получен удаленной машиной, inetd (отвечая на запрос порта, описанного в /etc/services) запускает демона BootP, который находится в /etc/inetd.conf.

В файле inetd.conf создайте или раскомментируйте строки, относящиеся к TFTP и BootP. Последний аргумент tftpd entry в нижеследующем примере - это путь к каталогу, содержащему файлы, требующиеся Х терминалу. Хотя имена каталогов не являются обязательными, ради безопасности они всегда должны присутствовать, так как доступ tftpd будет ограничен для файлов в указанных каталогах

Из простого файла /etc/inetd.conf: # tftp сервис предназначен, в первую очередь, для загрузки. Большинство сайтов # действует только на машинах, работающих как "boot серверы". tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd /usr/X11/lib/X11/ncd/ bootps dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.bootpd

После активизации BootP демон сервера считывает файл базы данных /etc/bootptab. Каждый вход содержит набор тегов, разделенных знаками ":" . Имя машины должно быть первым тегом.

Используемые теги файла bootptab

hd

домашний каталог файла загрузки (например /usr/X11/lib/X11/ncd/).

ip

адрес Х терминала (например 10.0.0.1).

sm

маска подсети (например 255.0.0.0). Чтобы понять назначение маски подсети и других принципов IP сети, обратитесь к документу HOWTO по Linux NET-3.

gw

адрес шлюза (например 10.0.0.1).

ht

тип аппаратного обеспечения- в данном примере Ethernet

ha

аппаратный адрес Х терминала (6-ти байтовый адрес Ethernet)

В соответствии с руководством UNIX по bootptab, тег 'ht' должен предшествовать тегу 'ha'. При первом включении терминала, Ethernet адрес Х терминала выводится на дисплей. Адрес появляется в виде 6 сдвоенных шестнадцатеричных чисел, разделенных двоеточием (например 00:00:A7:12:26:19).

tc

Продолжение таблицы или имя другой записи базы данных BootP. Смотрите пример ниже.

ds

IP адрес DNS (например 10.0.0.3). Не требуется, если DNS не используется для разрешения имен машин.

bf

Имя файла запуска Х терминала (Обычно модель терминала используется как имя файла Х сервера (например Xncd19r)

Ниже приведен пример файла базы данных сервера протокола Boot /etc/bootptab. Знак '\' используется для пропуска перевода строки.

# Это запись (дано имя default) # с информацией, общей для всех клиентов BootP. default:hd=/usr/X11/lib/X11/ncd/:\ ds=10.0.0.3:\ sm=255.0.0.0:\ gw=10.0.0.1: # запись об Х терминале с именем машины myxterm # заметьте, что тег tc ссылается на запись default myxterm:ht=ethernet:\ ha=0x0000a7122619:\ ip=10.0.0.2:\ tc=default:\ bf=Xncd19r:

Когда подходящая запись аппаратного адреса в запросе на загрузку найдена, bootpd посылает ответ с IP адресом из этой записи. Файл пересылается по протоколу IP с использованием TFTP.

Имя машины может быть назначено Х терминалу, путем создания записи на запускающей машине в файле /etc/hosts. Этот файл используется, чтобы сопоставить имена машин и соответствующие IP-адреса. В данном примере Х терминалу (адрес 10.0.0.2) было задано имя машины 'myxterm'.

10.0.0.1 linuxhost #имя машины 10.0.0.2 myxterm #Х терминал


6. Настройка процесса загрузки Х терминала NCD

После включения Х терминал готов к загрузке. Это процесс, в ходе которого программное обеспечение загружается в память и запускается. Если Х терминал не может запуститься, появится приглашение к вводу '>' Boot Monitor. Boot Monitor - это программа производителя, находящаяся в ППЗУ терминала. С интерфейсом Boot Monitor можно настраивать терминал на загрузку и загрузить программное обеспечение Х сервера с машины. Используйте '?' для вывода списка комманд Boot Monitor

Параметры настройки хранятся в энергонезависимой памяти и сохраняются перед выключением терминала.

Из Boot Monitor терминал загружается с использованием 'bt' команд или систем меню. Действие обоих методов во многом пересекается, однако меню обеспечивает управление большим количеством параметров настройки.


6.1. Синтаксис команд Boot монитора

>bt file terminal_IP host_IP gateway_IP subnet_mask

file

Имя файла, который скачивается с удаленной машины, содержащий программу Х сервера, используется для загрузки Х терминала (например "Xncd19r"). Убедитесь, что имя файла совпадает с именем, в соответствующей записи файла bootptab (объяснение смотри в предыдущем разделе).

terminal_IP

IP адрес, назначенный Х терминалу (например 10.0.0.2). Повторю, что этот IP адрес должен быть таким же, как и адрес, заданный в соответствующей записи файла bootptab.

host_IP

IP адрес загрузочной машины (например 10.0.0.1).

gateway

IP адрес шлюза подсети (например 10.0.0.1)

subnet_mask

маска подсистемы в виде десятичного IP адреса или шестнадцатеричного числа (например 255.0.0.0 или ff000000)


6.2. Меню настройки Boot монитора

Доступ к меню настройки осуществляется нажатием кнопки 'Setup' или введением команды 'se' после приглашения '>'.

Get IP Addresses From

IP адрес Х терминала, хранящийся в энергонезависимой памяти. Выберите пункт 'Network', если Вы используете RARP (reverse ARP) для получения IP адреса Х терминала с удаленной машины.

Terminal IP Address

IP адрес, назначенный X терминалу (например 10.0.0.2). Это то же, что и параметр 'terminal_IP'.

First Boot Host IP Address

IP адрес загрузочной машины (например 10.0.0.1). Это то же, что и параметр 'host_IP'.

Gateway IP Address

IP адрес шлюза подсети. Это то же, что и параметр 'gateway'.

Subnet Mask

Маска подсистемы, указанная в виде десятичных чисел. Это то же, что и параметр 'subnet_mask'.

Broadcast IP Address

Широковещательный IP адрес подсети (например 10.255.255.255)

Boot File

Имя файла, закачиваемого с удаленной машины, содержащего программное обеспечение Х сервера. Файл используется для загрузки Х терминала (например "Xncd19r"). Это то же, что и параметр 'file'.

TFTP Boot Directory

Имя каталога, содержащего файл загрузки (например "/usr/X11/lib/X11/ncd/" или "/tftpboot/").

Config file

Имя файла настройки Х терминала на удаленной машине.

UNIX Config Directory

Имя каталога, содержащего файлы настройки Х терминала (например "/usr/X11/lib/X11/ncd/").

TFTP Order, NFS Order, Local Order

Задайте '1' выбранному способу загрузки. Задайте '1' TFTP при загрузке с машины с использованием BootP.


6.3. Файлы настройки Х терминала

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

Файлы настройки, посылаемые Х терминалу во время загрузки:

  • файл конфигурации Х терминала (напр. ncd.conf), используемый для сохранения настроек терминала

  • файл цветов (напр. rgb.txt).

  • база данных настроек клавиатуры (напр. XKeysymDB)

  • файлы каталога шрифтов (напр. font.dir, font.alias).

После успешного завершения загрузки должно появиться окно консоли Х терминала с меню. Кнопка настройки терминала выводит/прячет окно консоли. В выпадающем меню 'setup' окна консоли отражены характеристики терминала. Они могут быть изменены и сохранены в файле настроек для дальнейшего использования.

Если TFTP применяется для передачи файлов с загрузочной машины, все пользователи должны иметь право читать файл. Так же, чтобы файл настройки для запускающей машины был сохранен, он должен иметь разрешение на запись. Если используется secure TFTP (рекомендуется из соображений безопасности), то доступ к файлу возможен только через указанные каталоги.

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

Для сброса NVRAM наберите команду 'nv'. В этом подменю выберите 'l', чтобы загрузить настройки по умолчанию; 's' для сохранения; и 'q' для выхода. Повторите процедуру загрузки, описанную выше.


6.4. Вход на другой хост

В главном меню консоли выберите пункт 'terminals', в нем выберите 'New Telnet...'. Когда появится окно telnet, введите адрес машины в сети и нажмите 'OK'. Должно появиться приглашение на вход в машину. После входа Х программа, включая менеджер окон, может быть запущена из окна telnet.


7. Шрифты и Х терминал

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

Если программное обеспечение Х сервера уже запущено и работает на Х терминале, то путь к файлам шрифтов может быть изменен или запрошен с помощью команды xset.

Для запроса: xset -q Для добавления записи о шрифте: xset +fp <path> Для удаления записи о шрифте: xset -fp <path>


7.1. Сервер шрифтов

Сервер шрифтов (xfs) работает на машине в сети и отыскивает шрифты для Х терминала, и других клиентов в сети. Применение сервера шрифтов позволяет использовать большее разнообразие шрифтов, так как программное обеспечение Х сервера ограничено растровыми шрифтами. Во время загрузки сервер шрифтов может распаковывать, масштабировать и конвертировать шрифты для Х сервера, а также может помочь упростить управление шрифтами для групп терминалов и пользователей в сети. Программное обеспечение сервера шрифтов введено в Х консорциум программного обеспечения (ftp.x.org) и поставляется с большинством дистрибутивов Linux.

Для использования сервера шрифтов существует запись tcp service, а не пути к шрифтам файла настроек или меню настройки консоли.

Формат записи tcp service tcp/<IP address of font server>:<port used by font server>

Пример: tcp/10.0.0.1:7100

Пример записи в файле настройки, находящемся на запускающей машине:

xserver-default-font-path = { { "tcp/10.0.0.1:7100" } { "built-ins" } }

Команда xset с указанием сервиса tcp добавляет сервер шрифтов к пути:

xset +fp tcp/10.0.0.1:7100

Внимание! Некоторые версии NCD требуют, чтобы запись сервера шрифтов предшествовала записям встроенных шрифтов. Это противоречит документу "Руководство системного администратора для системы UNIX" по NCD. Поэкспериментируйте с порядком путей к шрифтам и проверьте результаты с помощью команды 'xset q'.

Сервер шрифтов запускается в момент загрузки из скрипта запуска rc.local. Сервер шрифтов (xfs) запускается следующей командой:

xfs -config <путь к файлу настроек> -port <порт сервера шрифтов>

7100 - стандартный порт сервера шрифтов.

Пример:

xfs -config /usr/X11/lib/X11/fs/config -port 7100

Пример файла настроек сервера шрифтов:

# Файл настроек сервера шрифтов: # максимальное количество клиентов = 10 client-limit = 10 # когда количество клиентов достигнет client-limit, запустится еще один сервер clone-self = on # использовать системный журнал в качестве журнала ошибок use-syslog = on # список каталогов шрифтов catalogue = /usr/X11R6/lib/X11/fonts/misc/, /usr/X11R6/lib/X11/fonts/Speedo/, /usr/X11R6/lib/X11/fonts/Type1/, /usr/X11R6/lib/X11/fonts/75dpi/, /usr/X11R6/lib/X11/fonts/100dpi/ # файл используется для записи ошибок в журнал, если syslog не используется. error-file = /usr/X11R6/lib/X11/fs/fs-errors # 12 пунктов в десятых долях пункта default-point-size = 120 # 100 x 100 и 75 x 75 default-resolutions = 75,75,100,100


8. Разное

8.1. Поддерживаемые терминалы

Мне известно, что последовательность действий, описанная в данном документе, справедлива для следующих терминалов: NCD 19r, NCD 19c, NCD19m?, NCD 15b, NCD MCX


8.2. Ссылки

Unix страницы руководства: bootpd(8), tftpd(8), bootptab(5), xdm(1x), xfs(1), fsinfo(1), xset(1), inetd(8)

Linux Ethernet HOWTO, Linux Net-3 (Networking) HOWTO

NCDware System Administrator's Guide for UNIX Systems

NCD Techtips Archive

NCDware Reference Manual описывающее практически каждый этап настройки Х терминала, теперь доступно для загрузки с NCD Techtips Archive.

NCD knowledge base содержит ответы на некоторые наиболее часто задаваемые вопросы, а также отчеты об ошибках.

Заметьте, что указанные выше документы постоянно изменяются. Со времени первой публикации мини-HOWTO, NCD web site поспоянно реорганизуется.


8.3. Оборудование, использованное при подготовке данного документа

X terminal: NCD model NCD19r с 19 монохромным монитором 1280x1024 8M RAM

пограмма X server: NCDware V3.2.CV 19r_s

Удаленный хост: IBM Cyrix 686 P150+ с Slackware (Linux kernel version 2.0.31)

Удаленный хост: IBM Cyrix M2 200 MMX с Red Hat 5.0 (Linux kernel version 2.0.32)

Сетевая карта: 10 base T Ethernet (ne2000 совместимая) и 8 портовый хаб

Сервер шрифтов вер. 2 релиз номер 6300


8.4. Благодарности

Я хочу поблагодарить Michael de Lind van Wijngaarden, Jamal Hadi-Salim и Dwight Hodge за помощь в создании данного документа.


8.5. Спорные вопросы

  • Возможно, имеет смысл запускать сервер шрифтов, используя inetd?

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

  • Похожи ли процедуры для других моделей Х терминала ?

  • Какова процедура загрузки Х терминала с использованием NFS (Network File System) или RARP (Reverse Address Resolution Protocol)?

  • На консоли Х терминала появляются следующие сообщения. Я подозреваю, что они приходят от расширений xfree86 , не являющихся частью сервера Х терминалов. Может ли кто-нибудь подтвердить или опровергнуть это? %XSERVER-I-NEWCLIENT, host "localhost" connected with blank authorization %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "BIG-REQUESTS" %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "XKEYBOARD" %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "XFree86-Misc"

  • Может ли Linux быть портирован в Х терминал?


8.6. Обратная связь

Пожалуйста, направляйте [email protected] любые комментарии, вопросы, исправления и предложения. Большое спасибо всем, кто направлял нам дополнительные сведения.