Cette section traite des configurations nécessaires du matériel et du
logiciel pour réussir à connecter le TX à la machine Linux. Par
convention, le TX est appelé "murmure" (parce qu'il ne fait pas de
bruit) et la machine Linux hôte "nunux" (parce qu'elle est sous Linux).
Ils font tout deux partie du domaine "grenouille" en France
(.fr
) (NdT : les noms et domaines ont été adaptés pour un usage
en France :-)
). Leurs numéros IP sont :
192.168.13.1 pour nunux.grenouille.fr (la machine Linux)
192.168.13.41 pour murmure.grenouille.fr (le TX).
Notez que ceux-ci sont des numéros IP pour des systèmes isolés, non
connectés à un réseau plus grand comme Internet, et qu'à ma connaissance
il n'y a aucun domaine grenouille
en France (mais ça ne saurait
tarder). Nous supposerons qu'il n'y a aucune autre machine sur le réseau
et que NFS n'est pas installé.
N.B. Si quelqu'un a utilisé NFS pour la connexion avec son TX, j'aimerais vivement le savoir.
Ceci devrait être aussi facile que de brancher les câbles sur les deux machines. Notez que certains TXs ont deux entrées série qui ne peuvent fonctionner qu'à certaines vitesses si les deux sont utilisées en même temps. Vérifiez le manuel de votre TX pour les détails. Vous aurez besoin du numéro Ethernet du TX plus tard. Il est affiché dès l'allumage du TX même si aucune connexion n'est encore établie.
Dès que vous aurez les câbles en place, vous serez en mesure de tester
le lien Ethernet. Après avoir allumé le TX, il devrait commencer par se
plaindre que ses appels à l'aide à un bootpd
et/ou un
tftpd
n'ont pas de réponse, et ensuite réalisera le lancement du
système d'exploitation (généralement implanté dans la ROM du TX). Celui-ci
inclut souvent une commande ping
qui vous permettra de tester la
connexion par Ethernet du TX à la machine Linux. Ne paniquez pas si cela ne
fonctionne pas dans l'autre sens (la machine sous Linux tentant un ping sur
le TX) car certains (rares) TX nécessitent d'avoir leur système
d'exploitation complet pour être en mesure de répondre.
La configuration de l'accès au réseau est traitée dans le Net2-HOWTO comme mentionné plus haut. Nous considèrerons ici que vous avez déjà TCP/IP tournant sans aucun problème sur votre machine. Le TX est désormais considéré comme un banal ordinateur connecté sur le même réseau. Vous devez vous assurer que la machine sous Linux comme le TX connaissent chacun le numéro IP de l'autre et que le réseau fonctionne.
L'information sur le TX doit être au minimum incluse dans les fichiers :
Ajoutez une ligne avec le numéro IP attribué au TX, comme par exemple :
# /etc/hosts
#
# adresse et nom de la machine.
# lprhost et loghost sont optionels
#
192.168.13.1 nunux.grenouille.fr nunux lprhost loghost
# nouvelle ligne d'informations sur le TX
192.168.13.41 murmure.grenouille.fr murmure
fournit une liste de numéros Ethernet avec les noms de machines correspondants. Cela ressemble à :
04:03:e8:cc:0d:24 nunux
0f:03:11:31:45:f1 murmure
(eh oui, ces numeros Ethernet sont factices)
Vous aurez besoin de modifier d'autres fichiers suivant votre
configuration, selon que vous utilisez named
, routed
, ou
gated
. Comme ce n'est pas mon cas, je serais reconnaissant si
quelqu'un pouvait m'envoyer la liste des fichiers à modifier.
Vous devez ensuite relancer votre machine afin d'être certain que ces modifications soient prises en compte.
Cette configuration ne dépendant que du type de terminal X utilisé, reportez-vous au manuel de votre terminal X. Dans mon cas, le TX contient un fichier de configuration dans lequel je dois modifier les entrées :
ip_host_table 192.168.13.1 nunux
ip_host_table 192.168.13.1 nunux.grenouille.fr
ip_host_table 192.168.13.41 murmure
ip_host_table 192.168.13.41 murmure.grenouille.fr
file_access_1 TFTP
file_host_name_1 nunux.grenouille.fr
file_path_1 /usr/local/xterm/cestici
display_access_table murmure
display_access_table nunux
enable_access_control YES
xdmcp_server nunux
broadcast_address 192.168.13.255
default_telnet_host nunux
Notez que le TX charge ses fichiers par le réseau, en utilisant le protocole
TFTP
, dans le répertoire /usr/local/xterm/cestici
, et qu'il
comprend le protocole XDMCP
(qui permet l'utilisation de
xdm
).
Vous devrez aussi modifier d'autres paramètres comme celui donnant la liste
des polices. Vous pourrez ainsi utiliser celles déjà installées sous Linux.
Dans mon cas, le fichier de configuration relatif aux polices est
font..tbl
et ressemble à :
/usr/lib/X11/fonts/75dpi
/usr/lib/X11/fonts/100dpi
...
/usr/local/xterm/misc
/usr/local/xterm/openlook
Ensuite, quand le TX démarrera sur la machine Linux, vous verrez la liste des polices qu'il aura réussi à charger.
Une autre chose dont vous aurez besoin est le "backing store". Ceci signifie que les parties de fenêtres recouvertes par d'autres ne seront pas stockées dans la RAM de la machine sous Linux mais dans celle du TX (ce qui fait gagner énormément en vitesse d'affichage). Consultez le manuel de votre TX pour de plus amples renseignements.
Bootpd
est le daemon qui reste à l'écoute des appels à l'aide de vos
terminaux X, et qui leur répondra en leur disant qui ils sont, et où ils
vont pouvoir trouver les logiciels qu'ils doivent télécharger.
Pour d'étranges raisons, bootpd
n'est pas inclus dans certaines
distributions comme la Slackware 2.2.0.1. Il vous faudra donc le récupérer sur
un serveur FTP ou autre. Il doit être placé dans /usr/sbin/
(et non
dans /etc
, contrairement à ce qu'indique dans la page de manuel)
sous le nom
in.bootpd
. Ajoutez ou décommentez la ligne suivante dans le fichier
/etc/inetd.conf
:
bootps dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.bootpd
et relancez inetd
par :
kill -HUP `ps -aexu | grep inetd | grep -v grep`
Ceci permettra ensuite à inetd
de lancer bootpd
si une
requête de démarrage est détectée.
Le fichier de configuration de bootpd
est /etc/bootpd
. La
syntaxe est expliquée dans le manuel en ligne. Dans notre exemple, le fichier
/etc/bootpd
ressemble à ("serveur" est de nouveau utilisé dans
le sens classique du terme) :
#
# Exemple de fichier /etc/bootpd
#
# Entree utilisee par l'ensemble des terminaux
#
allhost:hd=/usr/local/xterm/cestici:\ # Repertoire pere contenant
le logiciel du TX
:ds=192.168.13.1:\ # Serveur de noms du domaine
:sm=255.255.255.0:\ # Masque de sous-reseau
:gw=192.168.13.1:\ # Passerelles
:ts=192.168.13.1:\ # Serveurs d'heure
:lp=192.168.13.1:\ # Serveurs d'impression
:to=-7200: # Decalage d'heure (en secondes)
#
# Ensuite, les descriptions pour chaque client.
#
murmure:ht=ethernet:\ # Type du lien physique
:ha=0f03113145f1:\ # Numero Ethernet du terminal X
:ip=192.168.13.41:\ # numero IP du terminal X (murmure)
:tc=allhost:\ #
:bf=xtermOS: # Nom du fichier contenant l'OS du TX
Dans notre exemple, le TX va charger son système d'exploitation à partir du
fichier xtermOS
(entrée bf
) contenu dans le répertoire
/usr/local/xterm/cestici
(entrée hd
).
bootpd
va tracer les informations sur les différents lancements
dans les fichiers /var/adm/syslog
et /var/adm/messages
(voir configuration du fichier /etc/syslog.conf
). Un démarrage
réussi donnera :
Jul 17 05:19:42 nunux in.bootpd[110]: connect from 0.0.0.0
Jul 17 05:19:42 nunux bootpd[110]: reading "/etc/bootptab"
Jul 17 05:19:42 nunux bootpd[110]: read 2 entries from "/etc/bootptab"
Jul 17 05:19:43 nunux bootpd[110]: request from hardware address
0F03113145F1 Type 1
Jul 17 05:19:43 nunux bootpd[110]: found 192.168.13.41 murmure
Après avoir aidé le TX à démarrer, bootpd
va continuer à tourner
dans l'attente d'autres appels à l'aide durant environ quinze minutes, puis
se terminer si aucun travail supplémentaire n'est requis.
Le protocol trivial de transfert de fichier (TFTP) est utilisé par le terminal
X pour charger son système d'exploitation depuis le disque dur du serveur
de démarrage. Il devrait être inclus dans toutes les distributions et ne
possède
aucun fichier de configuration. Vous pouvez tester tftp
en tapant la
commande tftp
.
Comme avec bootpd
, vous devrez ajouter ou décommenter la ligne
suivante dans le fichier /etc/inetd.conf
:
tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd
et relancer inetd par :
kill -HUP `ps -aexu | grep inetd | grep -b grep`
Remarquez que tftp
ne peut accéder qu'aux fichiers ayant un droit
en lecture pour tout le monde. Il faut aussi remarquer que tftp
est
un trou de sécurité potentiel que vous devez garder à l'esprit (c'est
pourquoi il est bon de vérifier quels sont les fichiers ayant des droits en
lecture universels sur son système, ou de faire un chroot
de
tptfd
à l'aide du TCP-wrapper /usr/sbin/tcpd
). La version
de tftp
incluse dans certains paquetages de Linux ne contient pas
les options "-r" ou "-s" permettant une utilisation sécurisée.
tftp
renvoie aussi des messages système dans le fichier
/var/adm/messages
. Si le lancement est réussi, des lignes de ce
genre apparaissent :
Jul 17 05:19:43 nunux in.tftpd[111]: connect from murmure
Jul 17 05:19:58 nunux in.tftpd[113]: connect from murmure
Jul 17 05:19:59 nunux in.tftpd[115]: connect from murmure
Jul 17 05:20:00 nunux in.tftpd[117]: connect from murmure
etc...
Cela montre que le TX charge les fichiers dont il a besoin dans le répertoire situé sur le serveur Linux. Des messages doivent apparaître sur le TX au fur et à mesure du chargement.
Une fois que vous aurez modifié les fichiers ci-dessus, vous devriez être prêt à démarrer le TX. Suivant le constructeur, des messages plus ou moins explicites doivent apparaître. Faites attention aux messages indiquant une erreur au chargement d'un fichier.
Si tout va bien, on devriez en arriver au stade où le TX lance sa propre
version de X. On a alors un fond gris et un curseur en croix. Si vous avez
déjà lancé xdm
, vous devriez même avoir la fenêtre de login
xdm
. Il se peut que des choses bizarres apparaissent si certains
champs de la configuration de xdm
ne sont pas corrects. Préparez-vous
à tuer xdm en tant que root
en ultime recours.
La plupart des terminaux X ont des fonctionalités intégrées, comme un client
telnet
, dans le système d'exploitation chargé au démarrage. Cela
vous permet alors de tester la connexion en faisant un telnet
vers
le serveur ou une autre machine.
Vous pouvez désormais lancer des programmes X sur le terminal X en utilisant
l'option display
. Par exemple :
xclock -display murmure:0 &
doit faire apparaître l'horloge "xclock" sur votre TX.
Vous pouvez même (et c'est d'ailleurs recommandé) lancer un gestionnaire
de fenêtres tel que fvwm
de la même manière.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre