Mini HOWTO terminal X NCD

Ian Hodge, ian@permedia.ca

v1.07, 30 Novembre 1999
Ce document explique comment connecter un terminal X NCD � une machine h�te UNIX (traduction : Michel Billaud, billaud@labri.u-bordeaux.fr).

1. Copyright

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.

2. Introduction

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.

2.1 �tapes

La connexion d'un terminal X � un r�seau Unix se r�sume aux �tapes suivantes :

3. Pr�liminaires

3.1 Le terminal X

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.

3.2 Connexion physique

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.

3.3 Logiciel serveur X de NCD

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.

4. Configuration de la machine h�te UNIX

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.

4.1 TFTP et BootP

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 :

hd

(home directory) R�pertoire contenant le fichier de boot du terminal X (ici /usr/X11/lib/X11/ncd/).

ip

Addresse IP du terminal X (dans notre exemple 10.0.0.1).

sm(subnet mask)

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.

gw(gateway)

adresse IP de la passerelle (ici 10.0.0.1).

ht(hardware type)

Type de mat�riel. C'est ethernet dans cet exemple.

ha(hardware address)

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

tc(table continuation)

Suite d'une autre description du fichier bootptab. Voir l'exemple ci-dessous.

ds(domain name server)

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).

bf(boot file)

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

5. Configurer la proc�dure de d�marrage du 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.

5.1 Syntaxe des commandes du Boot Monitor

> bt fichier IP_terminal IP_h�te IP_passerelle masque_sous-r�seau

fichier

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.

IP_terminal

L'adresse IP affect�e au terminal X (ici 10.0.0.2). Pareillement, cette adresse doit �tre celle indiqu�e dans bootptab.

IP_h�te

L'adresse IP de la machine h�te (10.0.0.1).

IP_passerelle

L'adresse IP de la passerelle du sous-r�seau (par exemple 10.0.0.1).

masque_sous-r�seau

Le masque de sous-r�seau, en notation IP d�cimale ou hexad�cimale (par exemple 255.0.0.0 ou ff000000).

5.2 Menu de configuration "setup" du moniteur

Les menus de configuration sont appel�s par la touche "Setup" ou en tapant la commande "se" apr�s l'invite '>' du moniteur.

Get IP Addresses From

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.

Terminal IP Address

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.

First Boot Host IP Address

L'adresse IP de la machine h�te (ici 10.0.0.1). M�me chose que le param�tre 'IP_h�te'.

Gateway IP Address

L'adresse IP de la passerelle de sous-r�seau. Correspond � "IP_passerelle".

Subnet Mask

Le masque de sous-r�seau, en notation IP d�cimale (voir variable "masque_sous-r�seau" plus haut).

Broadcast IP Address

L'adresse IP pour la diffusion vers le sous-r�seau (par exemple 10.255.255.255).

Boot File

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.

TFTP Boot Directory

Le nom du r�pertoire, sur la machine h�te, qui contient le logiciel serveur (par exemple "/usr/X11/lib/X11/ncd/" ou "/tftpboot/").

Config file

Le nom du fichier de configuration du terminal X sur la machine h�te (voir plus loin).

UNIX Config Directory

Le nom du r�pertoire qui contient le fichier de configuration (exemple "/usr/X11/lib/X11/ncd/").

TFTP Order, NFS Order, Local Order

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.

5.3 Fichiers de configuration du terminal X

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 :

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.

5.4 Connexion sur une machine du r�seau

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.

6. Le terminal X et les polices

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

6.1 Le serveur de polices

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

7. Divers

7.1 Terminaux support�s

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.

7.2 R�f�rences

7.3 Mat�riel utilis� pour la pr�paration de ce document

7.4 Remerciements

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.

7.5 Probl�mes restants

7.6 Contact

Vous pouvez m'�crire � ian@permedia.ca pour tous commentaires, suggestions ou contributions.