Аннотация |
В этом документе описывается процесс подключения X-Терминала NCD к UNIX-машине |
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.
Авторские права на русский перевод этого текста принадлежат ╘ 2000 ASPLinux Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu> или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу <linux-howto@asplinux.ru>
Этот документ описывает, как X terminal, произведенный компанией NCD (Network Computing Devices), может быть подключен и загружен с хоста UNIX с использованием BootP. Многие терминалы могут быть загружены с RARP, NFS или с платы PCMCIA, а также через последовательное соединение (напрямую или через модем).
Хотя материалы этого документа основаны на работе с единственным Х терминалом, большая их часть справедлива для других моделей и других Х терминалов в общем. Существует другой mini HOWTO по Х терминалу Linux, (признанный устаревшим специалистами на момент написания, и поэтому он, возможно, отсутствует в некоторых дистрибутивах Linux), который пересекается с данным документом. Тот документ содержит более общую информацию об Х терминале.
Процесс подсоединения Х терминала к сети UNIX может быть кратко сведен к выполнению следующих шагов :
физически подключите Х терминал к сети
настройте хост UNIX, с которого Вы хотите загрузиться
настройте процедуру загрузки Х терминала
загрузите Х терминал
войдите в сеть
Х терминал- это устройство, которое связывает компьютеры и отображает информацию, используя сетевую систему X Window. Обычно пакет программ Х терминала, называемого Х сервер, подгружается из сети в момент запуска. Пакеты программ, отличные от пакетов программ Х сервера (X client programs), запускаются не на Х терминале(за некоторым исключением); Х терминал отображает программы, запущенные на других машинах в сети. Х терминал, в свою очередь, - это тип сетевого компьютера, который использует Х протокол для доступа к сетевым ресурсам.
NCD Х терминал (модель Xncd19r была использована при подготовке этого документа) имеет коннектор RJ-45 (витая пара) для работы в 10baseT Ethernet. Хаб необходим для соединения более двух устройств Ethernet с использованием витой пары. Если Х терминал и его машина являются единственными устройствами в сети, они могут быть связаны с помощью нуль-кабеля, описанного в документе HOWTO по Linux Ethernet.
Программное обеспечение сервера Х терминала можно приобрести у разработчика, а также он обычно поставляется при покупке терминала. Оно должно находиться на запускающей машине, где к нему имеется доступ в момент загрузки Х терминала. Терминал можно запустить с любой машины, которая поддерживает коммуникационный протокол (это будет объяснено в следующих главах). В дополнение к Х серверу существует пакет приложений, таких как window manager, которые могут работать на Х терминале.
В момент запуска Х терминал скачивает файлы (включая программное обеспечение для Х сервера) с удаленной машины в сети. После загрузки терминала Х сервер управляет вводом, выводом, локальными клиентами, а также протоколом обмена Х-ов. Программное обеспечение Х сервера работает на Х терминале и не обязательно совместимо с программным обеспечением машины, на которой оно находится.
Вместе 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
домашний каталог файла загрузки (например /usr/X11/lib/X11/ncd/).
адрес Х терминала (например 10.0.0.1).
маска подсети (например 255.0.0.0). Чтобы понять назначение маски подсети и других принципов IP сети, обратитесь к документу HOWTO по Linux NET-3.
адрес шлюза (например 10.0.0.1).
тип аппаратного обеспечения- в данном примере Ethernet
аппаратный адрес Х терминала (6-ти байтовый адрес Ethernet)
В соответствии с руководством UNIX по bootptab, тег 'ht' должен предшествовать тегу 'ha'. При первом включении терминала, Ethernet адрес Х терминала выводится на дисплей. Адрес появляется в виде 6 сдвоенных шестнадцатеричных чисел, разделенных двоеточием (например 00:00:A7:12:26:19).
Продолжение таблицы или имя другой записи базы данных BootP. Смотрите пример ниже.
IP адрес DNS (например 10.0.0.3). Не требуется, если DNS не используется для разрешения имен машин.
Имя файла запуска Х терминала (Обычно модель терминала используется как имя файла Х сервера (например 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 #Х терминал
После включения Х терминал готов к загрузке. Это процесс, в ходе которого программное обеспечение загружается в память и запускается. Если Х терминал не может запуститься, появится приглашение к вводу '>' Boot Monitor. Boot Monitor - это программа производителя, находящаяся в ППЗУ терминала. С интерфейсом Boot Monitor можно настраивать терминал на загрузку и загрузить программное обеспечение Х сервера с машины. Используйте '?' для вывода списка комманд Boot Monitor
Параметры настройки хранятся в энергонезависимой памяти и сохраняются перед выключением терминала.
Из Boot Monitor терминал загружается с использованием 'bt' команд или систем меню. Действие обоих методов во многом пересекается, однако меню обеспечивает управление большим количеством параметров настройки.
>bt file terminal_IP host_IP gateway_IP subnet_mask
Имя файла, который скачивается с удаленной машины, содержащий программу Х сервера, используется для загрузки Х терминала (например "Xncd19r"). Убедитесь, что имя файла совпадает с именем, в соответствующей записи файла bootptab (объяснение смотри в предыдущем разделе).
IP адрес, назначенный Х терминалу (например 10.0.0.2). Повторю, что этот IP адрес должен быть таким же, как и адрес, заданный в соответствующей записи файла bootptab.
IP адрес загрузочной машины (например 10.0.0.1).
IP адрес шлюза подсети (например 10.0.0.1)
маска подсистемы в виде десятичного IP адреса или шестнадцатеричного числа (например 255.0.0.0 или ff000000)
Доступ к меню настройки осуществляется нажатием кнопки 'Setup' или введением команды 'se' после приглашения '>'.
IP адрес Х терминала, хранящийся в энергонезависимой памяти. Выберите пункт 'Network', если Вы используете RARP (reverse ARP) для получения IP адреса Х терминала с удаленной машины.
IP адрес, назначенный X терминалу (например 10.0.0.2). Это то же, что и параметр 'terminal_IP'.
IP адрес загрузочной машины (например 10.0.0.1). Это то же, что и параметр 'host_IP'.
IP адрес шлюза подсети. Это то же, что и параметр 'gateway'.
Маска подсистемы, указанная в виде десятичных чисел. Это то же, что и параметр 'subnet_mask'.
Широковещательный IP адрес подсети (например 10.255.255.255)
Имя файла, закачиваемого с удаленной машины, содержащего программное обеспечение Х сервера. Файл используется для загрузки Х терминала (например "Xncd19r"). Это то же, что и параметр 'file'.
Имя каталога, содержащего файл загрузки (например "/usr/X11/lib/X11/ncd/" или "/tftpboot/").
Имя файла настройки Х терминала на удаленной машине.
Имя каталога, содержащего файлы настройки Х терминала (например "/usr/X11/lib/X11/ncd/").
Задайте '1' выбранному способу загрузки. Задайте '1' TFTP при загрузке с машины с использованием BootP.
Во время процесса загрузки Х терминал попытается переправить и загрузить файлы с запускающей машины. Для успешной загрузки Х терминала эти файлы не требуются. Если файл не найден, терминал использует настройки по умолчанию.
Файлы настройки, посылаемые Х терминалу во время загрузки:
файл конфигурации Х терминала (напр. ncd.conf), используемый для сохранения настроек терминала
файл цветов (напр. rgb.txt).
база данных настроек клавиатуры (напр. XKeysymDB)
файлы каталога шрифтов (напр. font.dir, font.alias).
После успешного завершения загрузки должно появиться окно консоли Х терминала с меню. Кнопка настройки терминала выводит/прячет окно консоли. В выпадающем меню 'setup' окна консоли отражены характеристики терминала. Они могут быть изменены и сохранены в файле настроек для дальнейшего использования.
Если TFTP применяется для передачи файлов с загрузочной машины, все пользователи должны иметь право читать файл. Так же, чтобы файл настройки для запускающей машины был сохранен, он должен иметь разрешение на запись. Если используется secure TFTP (рекомендуется из соображений безопасности), то доступ к файлу возможен только через указанные каталоги.
Внимание! Терминал может не загрузиться, если перед этим он был настроен на работу с другими машинами или под отличающиеся параметры настройки. Проблема решается удалением сохраненных настроек путем сброса энергонезависимой памяти.
Для сброса NVRAM наберите команду 'nv'. В этом подменю выберите 'l', чтобы загрузить настройки по умолчанию; 's' для сохранения; и 'q' для выхода. Повторите процедуру загрузки, описанную выше.
В главном меню консоли выберите пункт 'terminals', в нем выберите 'New Telnet...'. Когда появится окно telnet, введите адрес машины в сети и нажмите 'OK'. Должно появиться приглашение на вход в машину. После входа Х программа, включая менеджер окон, может быть запущена из окна telnet.
Х терминал поставляется с небольшим набором шрифтов. В меню настроек Х терминала и в файлах настройки эти шрифты описаны как встроенные (built-ins). Терминал может обходиться только им, однако желательно иметь большее количество шрифтов. Шрифты могут быть добавлены по указанным в меню настройки путям к файлам шрифтов или путем применения команды xset.
Если программное обеспечение Х сервера уже запущено и работает на Х терминале, то путь к файлам шрифтов может быть изменен или запрошен с помощью команды xset.
Для запроса: xset -q Для добавления записи о шрифте: xset +fp <path> Для удаления записи о шрифте: xset -fp <path>
Сервер шрифтов (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
Мне известно, что последовательность действий, описанная в данном документе, справедлива для следующих терминалов: NCD 19r, NCD 19c, NCD19m?, NCD 15b, NCD MCX
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
NCDware Reference Manual описывающее практически каждый этап настройки Х терминала, теперь доступно для загрузки с NCD Techtips Archive.
NCD knowledge base содержит ответы на некоторые наиболее часто задаваемые вопросы, а также отчеты об ошибках.
Заметьте, что указанные выше документы постоянно изменяются. Со времени первой публикации мини-HOWTO, NCD web site поспоянно реорганизуется.
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
Я хочу поблагодарить Michael de Lind van Wijngaarden, Jamal Hadi-Salim и Dwight Hodge за помощь в создании данного документа.
Возможно, имеет смысл запускать сервер шрифтов, используя 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 быть портирован в Х терминал?
Пожалуйста, направляйте ian@permedia.ca любые комментарии, вопросы, исправления и предложения. Большое спасибо всем, кто направлял нам дополнительные сведения.