ian@permedia.ca
billaud@labri.u-bordeaux.fr
).
Le NCD X terminal mini HOWTO est copyright (C) 1998 par Ian Hodge. Les documents HOWTO de Linux peuvent �tre reproduits et diffus�s en tout ou partie, par tout moyen physique ou �lectronique, du moment que cette notice de copyright figure sur toutes les copies.
Ce document explique comment connecter un terminal X fabriqu� par NCD (Network Computing Devices) � une machine h�te fonctionnant sous UNIX, en utilisant le protocole BootP (Boot Protocol). De nombreux terminaux peuvent �galement d�marrrer par RARP, NFS, ou depuis une carte PCMCIA ou une liaison s�rie (directe ou par modem).
Bien que le mat�riau de ce document soit bas� sur l'exp�rience d'un seul type de terminal X, une grande partie des informations qui y figurent s'appliquent �galement � d'autres mod�les. Il existe �galement un Linux X Terminal mini HOWTO (qui est actuellement d�clar� obsol�te par les responsables des HOWTO, et n'est donc peut-�tre pas disponible avec toutes les distributions de Linux) qui recoupe en partie ce document. Celui-ci contient davantage d'informations sur les terminaux X.
La connexion d'un terminal X � un r�seau Unix se r�sume aux �tapes suivantes :
Un terminal X est un appareil capable d'afficher et de communiquer sur un r�seau, en utilisant le syst�me de fen�trage pour r�seaux distribu�s connu sous le nom de X. Typiquement, le logiciel du terminal X (ce qu'on appelle le serveur X) est charg� depuis le r�seau au d�marrage du terminal. Les programmes autres que le serveur X (programmes clients X) ne sont pas ex�cut�s localement (� part quelques exceptions) par le terminal X, qui affiche des programmes qui tournent sur d'autres machines du r�seau. Le terminal X est donc un genre de network computer qui utilise le protocole X pour acc�der aux ressources du r�seau.
Le terminal X NCD (nous avons utilis� le mod�le Xncd19r pour la pr�paration de ce document) poss�de une prise RJ-45 (paire torsad�e) pour Ethernet 10 Base T. Il faut un r�p�teur multiport (hub) pour relier plus de deux appareils en paire torsad�e. Si le terminal X et la machine h�te sont les seules machines de votre r�seau, vous pouvez les connecter par un c�ble crois� qui est d�crit dans le Linux Ethernet HOWTO.
Le fichier qui contient le logiciel serveur X du terminal est disponible aupr�s du constructeur, qui le fournit en principe avec le terminal. Ce fichier va r�sider sur la machine h�te, d'o� il sera t�l�charg� au d�marrage du terminal X. Il est sp�cifique du mod�le du terminal, mais ind�pendant du type de la machine h�te. Le terminal peut d�marrer depuis n'importe quelle machine qui supporte le protocole de communication BootP (expliqu� plus loin). En plus du serveur, le logiciel X peut contenir des applications, comme un gestionnaire de fen�tres, qui s'ex�cuteront localement sur le terminal X.
Au d�marrage, le terminal X va chercher ses fichiers (y compris le serveur X) sur une machine du r�seau. Une fois d�marr�, le serveur X contr�lera les entr�es (clavier, souris), l'affichage, les clients locaux et la communication par le protocole X. Le serveur X s'ex�cute sur le terminal X, et n'a donc besoin d'aucune compatibilit� logicielle avec la machine h�te.
Les protocoles TFTP (Trivial File Transfer Protocol, protocole �l�mentaire de transfert de fichiers) et BootP (boot protocol, protocole d'amor�age) sont utilis�s ensemble sur la machine h�te pour permettre au terminal X de r�cup�rer le serveur X et les fichiers de configuration � travers le r�seau. Ces deux services sont habituellement d�marr�s par inetd (Internet Daemon).
Lorsque le terminal X est mis sous tension, si il est configur� pour un d�marrage par le r�seau, il �met un appel g�n�ral (broadcast) sur le r�seau en utilisant le protocole BootP (protocole d'amor�age TCP/IP). Ce message d'appel contient l'adresse mat�rielle (Ethernet) du terminal X, adresse qui sera utilis�e par la machine h�te pour r�pondre � la "demande de boot".
Lorsque la machine h�te re�oit une demande de boot, inetd
(qui surveille un port d�sign� dans /etc/services
) d�marre le
d�mon BootP sp�cifi� dans /etc/inetd.conf
.
Dans le fichier inetd.conf
, ajoutez ou d�-commentez les lignes qui
concernent TFTP ou BootP. Dans l'exemple qui suit, le dernier
param�tre de la ligne de TFTP indique le r�pertoire qui contient
les fichiers pour le terminal X. Bien que les noms de r�pertoires ne soient
pas obligatoires, pour des raisons de s�curit� il faut toujours les mettre,
de fa�on � restreindre l'acc�s TFTP � ces seuls r�pertoires.
Exemple de fichier /etc/inetd.conf
(extrait) :
# Le service TFTP sert principalement au boot. La plupart des sites
# ne font tourner ceci que sur les machines qui sont des "serveurs de 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
Lors de son activation, le d�mon du serveur BootP lit son fichier de donn�es
/etc/bootptab
. Une description de ce terminal X doit s'y trouver.
Chaque description contient un ensemble d'�l�ments s�par�s par des deux-points
":". Le premier �l�ment est le nom du terminal.
�l�ments utiles du fichier bootptab
:
(home directory) R�pertoire contenant
le fichier de boot du terminal X (ici /usr/X11/lib/X11/ncd/
).
Addresse IP du terminal X (dans notre exemple 10.0.0.1
).
masque de sous-r�seau
(ici 255.0.0.0
). Pour comprendre l'usage des masques de
sous-r�seau et autres principes des r�seaux IP, consultez le Linux
NET-3 HOWTO.
adresse IP de la passerelle
(ici 10.0.0.1
).
Type de
mat�riel. C'est ethernet
dans cet exemple.
Adresse mat�rielle du terminal X (adresse Ethernet sur 6 octets). D'apr�s la page bootptab du manuel UNIX, l'�l�ment "ht" doit pr�c�der le "ha". L'adresse Ethernet s'affiche � la mise sous tension du terminal X, sous forme d'une s�rie de 6 nombres � deux chiffres hexad�cimaux, s�par�s par des deux-points. Par exemple
00:00:A7:12:26:19
Suite d'une autre description du fichier bootptab. Voir l'exemple ci-dessous.
Adresse IP du serveur de
noms (par exemple 10.0.0.3
). Inutile si la r�solution d'adresse
n'utilise pas de serveur de noms (DNS).
Nom du fichier contenant le serveur du
terminal X (d'habitude le nom du fichier est celui du mod�le du
terminal X, ici Xncd19r
).
Ce qui suit est un exemple de fichier /etc/bootptab
.
Le caract�re "\" sert � neutraliser les fins de ligne.
# Ceci est une description, appel�e ici ``default'', avec
# des informations communes � tous les clients BootP
default:hd=/usr/X11/lib/X11/ncd/:\
ds=10.0.0.3:\
sm=255.0.0.0:\
gw=10.0.0.1:
# Le terminal X s'appelle ``myxterm''. Remarquez l'�l�ment
# ``tc'' qui fait r�f�rence � la description ``default''.
myxterm:ht=ethernet:\
ha=0x0000a7122619:\
ip=10.0.0.2:\
tc=default:\
bf=Xncd19r:
Lorsque le d�mon bootpd
trouve (dans le fichier bootptab
) une
description qui correspond � l'adresse mat�rielle contenue dans une requ�te
de boot, il envoie une r�ponse � l'adresse IP correspondante. Le transfert
de fichiers peut alors se faire par TFTP au dessus de IP.
On attribue un nom au terminal X en ajoutant une description dans le
fichier /etc/hosts
de la machine h�te. Ce fichier sert �
�tablir une correspondance entre noms de machines et adresses IP.
Dans l'exemple ci-dessous, le terminal X (d'adresse 10.0.0.2
)
est nomm� "myxterm" :
10.0.0.1 linuxhost # La machine h�te (serveur de boot)
10.0.0.2 myxterm # terminal X
Lorsqu'il est mis sous tension, le terminal X tente de
booter, c'est-�-dire de charger le logiciel serveur X en
m�moire et de l'ex�cuter. Si le terminal X ne peut pas booter, la
cha�ne d'invite ">" du moniteur (Boot Monitor) appara�t. Le
Boot Monitor est un programme enregistr� dans les m�moires mortes
(PROM = programmable read-only memory) du terminal. � l'aide du
moniteur, il est possible de configurer le terminal X pour qu'il aille
chercher le serveur X sur la machine h�te au d�marrage. Utilisez
"?
"
pour avoir la liste des commandes du moniteur.
Les param�tres de configuration que vous modifiez gr�ce au moniteur sont stock�s dans une m�moire non volatile (NVRAM = non-volatile random access memory), et sont conserv�s lorsque le terminal est mis hors-tension.
Pour booter le terminal depuis le moniteur, on a le choix entre la
commande "bt
" et un syst�me de menus. Les deux
m�thodes permettent en gros de faire la m�me chose, mais les menus
donnent acc�s � davantage de param�tres.
> bt fichier IP_terminal IP_h�te IP_passerelle masque_sous-r�seau
Le nom du fichier, sur la machine h�te, qui contient le logiciel du serveur X
pour le terminal (dans notre exemple "Xncd19r
").
V�rifiez que c'est le m�me nom que celui indiqu� dans le fichier
bootptab
(expliqu� dans la section pr�c�dente) pour ce terminal X.
L'adresse IP affect�e au terminal X (ici 10.0.0.2
). Pareillement,
cette adresse doit �tre celle indiqu�e dans bootptab
.
L'adresse IP de la machine h�te (10.0.0.1
).
L'adresse IP de la passerelle du sous-r�seau
(par exemple 10.0.0.1
).
Le masque de sous-r�seau, en notation IP
d�cimale ou hexad�cimale (par exemple 255.0.0.0
ou
ff000000
).
Les menus de configuration sont appel�s par la touche "Setup" ou
en tapant la commande "se
" apr�s l'invite '>' du moniteur.
Normalement, l'adresse IP du terminal devrait �tre obtenue depuis la configuration stock�e dans la NVRAM. Ne selectionnez 'Network' que si vous utilisez RARP (reverse ARP) pour d�terminer l'adresse IP du terminal X depuis la machine h�te.
L'adresse IP affect�e au terminal X
(par exemple 10.0.0.2
). C'est la m�me chose que le param�tre 'IP_terminal'
vu pr�c�demment.
L'adresse IP de la machine h�te
(ici 10.0.0.1
). M�me chose que le param�tre 'IP_h�te'.
L'adresse IP de la passerelle de sous-r�seau. Correspond � "IP_passerelle".
Le masque de sous-r�seau, en notation IP d�cimale (voir variable "masque_sous-r�seau" plus haut).
L'adresse IP pour la diffusion vers
le sous-r�seau (par exemple 10.255.255.255
).
Le nom du fichier qui, sur la machine h�te,
contient le logiciel serveur X du terminal (exemple
"Xncd19r
"). M�me chose que le param�tre
"fichier" d�crit plus haut.
Le nom du r�pertoire, sur la machine h�te, qui contient le logiciel serveur
(par exemple "/usr/X11/lib/X11/ncd/
" ou "/tftpboot/
").
Le nom du fichier de configuration du terminal X sur la machine h�te (voir plus loin).
Le nom du r�pertoire qui contient le fichier de configuration
(exemple "/usr/X11/lib/X11/ncd/
").
Mettez
"1
" pour la m�thode de d�marrage que vous pr�f�rez,
c'est-�-dire TFTP si vous d�marrez par BootP depuis une machine h�te.
Pendant la proc�dure de boot, le terminal X va essayer d'aller chercher des fichiers depuis la machine h�te. Si un fichier manque, le terminal utilisera des options par d�faut.
Voici les fichiers transf�r�s pendant le d�marrage du terminal X :
ncd.conf
)
qui contient les param�tres du terminal X.rgb.txt
).XKeysymDB
).font.dir
,
font.alias
).Apr�s un d�marrage r�ussi, la fen�tre console du terminal X doit appara�tre avec une barre de menus. La touche "Setup" du clavier fait appara�tre/dispara�tre cette fen�tre. Le menu d�roulant "setup" permet de voir et changer les param�tres du terminal X, et de les sauver sur la machine h�te, dans un fichier de configuration qui pourra �tre r�utilis� plus tard.
Si le transfert de fichiers se fait par TFTP, le fichier doit �tre accessible en lecture pour tous. De la m�me fa�on, pour pouvoir sauver un fichier de configuration sur la machine h�te, le fichier doit exister pr�alablement et �tre accessible en �criture pour tout le monde. Si vous utilisez TFTP s�curis� (ce qui est recommand� pour des raisons de s�curit�), l'acc�s aux fichiers ne pourra se faire que dans des r�pertoires d�termin�s.
Note : le terminal peut rater son d�marrage si il �tait configur� pour fonctionner avec d'autres h�tes ou avec des param�tres diff�rents. Le probl�me peut �tre r�solu en r�initialisant la NVRAM pour supprimer les param�tres m�moris�s.
Pour r�initialiser la NVRAM depuis le boot monitor, tapez la
commande "nv
". Depuis ce sous-menu choisissez
"l
" pour charger les valeurs par d�faut,
"s
" pour sauver et enfin
"q
" pour quitter. Relancez la proc�dure de d�marrage
d�crite plus haut.
Depuis la barre de menu de la console X, selectionnez le menu d�roulant "Terminals" et choisissez l'option "New Telnet...". Lorsque la fen�tre telnet appara�t, tapez l'adresse d'une machine du r�seau dans le champ "service" et cliquez sur "OK". La banni�re du site choisi devrait appara�tre alors. Une fois connect�, on peut lancer des programmes X, y compris un gestionnaire de fen�tres, depuis la fen�tre telnet.
Le terminal X poss�de quelques polices internes, appel�es
"built-ins
" dans les menus et fichiers de
configuration. Le terminal peut fonctionner avec ces seules polices,
mais, en g�n�ral, on pr�f�re en avoir davantage. On peut ajouter des
polices en indiquant des chemins d'acc�s dans les menus de
configuration de la console X, dans les fichiers de configuration, ou
par la commande xset
.
Lorsque le logiciel serveur X s'ex�cute sur
le terminal, cette commande xset
permet de modifier ou consulter la
liste de chemins d'acc�s des polices.
Pour interroger le serveur X : xset -q
Pour ajouter des chemins d'acc�s : xset +fp
chemin
Pour enlever des chemins d'acc�s : xset -fp
chemin
Le serveur de polices (xfs : X Font Server) tourne sur une des machines du r�seau, et fournit des polices au terminal X et aux autres clients du r�seau. L'emploi d'un serveur de polices permet d'utiliser une grande vari�t� de polices, parce que le logiciel du serveur X ne traite que des polices bitmap. Lors d'un chargement de police, le serveur de polices peut d�compresser, ajuster et convertir des polices pour le serveur X, et peut aider � simplifier la gestion des polices pour des groupes de terminaux et de clients r�seau. Le serveur de polices est fourni avec de nombreuses distributions Linux, et a �galement �t� incorpor� dans le logiciel du consortium X disponible sur ftp.x.org.
Pour indiquer l'utilisation d'un serveur de polices, on met une r�f�rence � un service TCP � la place d'un chemin d'acc�s dans les menus ou fichiers de configuration du terminal X.
Format des r�f�rences � des services TCP :
tcp/<adresse IP du serveur de polices>:<port utilis�>
Exemple:
tcp/10.0.0.1:7100
Voici un exemple extrait du fichier de configuration d'un terminal X :
xserver-default-font-path = {
{ "tcp/10.0.0.1:7100" }
{ "built-ins" }
}
La commande xset
permet d'ajouter un serveur de polices dans la liste des
chemins d'acc�s :
xset +fp tcp/10.0.0.1:7100
AVERTISSEMENT : Certaines versions de NCDWare (logiciel serveur) exigent que le serveur de polices soit indiqu� en premier avant les polices pr�d�finies "built-ins". Ceci est en contradiction avec la documentation NCD "System Administrator's Guide for UNIX Systems".
Faites des essais, et v�rifiez le r�sultat avec la commande
"xset q
".
Sur la machine h�te, le serveur de polices xfs
est lanc� au d�marrage
par le script rc.local
, par la commande suivante :
xfs -config <fichier de configuration> -port <num�ro de port>
Le num�ro de port standard pour le serveur de polices est 7100
.
Exemple:
xfs -config /usr/X11/lib/X11/fs/config -port 7100
Exemple de fichier de configuration du serveur de polices :
# Fichier de configuration du serveur de polices
# On autorise au plus 10 clients a se connecter � ce serveur de polices.
client-limit = 10
# lorsqu'un serveur de polices atteint le nombre maximum de client,
# on en d�marre un autre.
clone-self = on
# On utilise le syslog d'UNIX pour noter les erreurs.
use-syslog = on
# liste des r�pertoires de polices
catalog = /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/
# fichier pour noter les erreurs si syslog n'est pas employ�
error-file = /usr/X11R6/lib/X11/fs/fs-errors
# 12 points en decipoints
default-point-size = 120
# 100 x 100 et 75 x 75
default-resolutions = 75,75,100,100
On m'a dit que les proc�dures d�crites dans ce document fonctionnaient (plus ou moins) pour les terminaux suivants : NCD 19r, NCD 19c, NCD 15b et NCD MCX.
NCD19r
avec �cran monochrome 19
pouces 1280x1024, 8Mo de RAM.Je voudrais remercier Michael de Lind van Wijngaarden, Jamal Hadi-Salim et Dwight Hodge pour l'aide apport�e pour la pr�paration de ce document.
xset
. Pourquoi ?
%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"
Vous pouvez m'�crire � ian@permedia.ca
pour tous commentaires,
suggestions ou contributions.