Le Mini-Howto Mac Terminal Robert Kiesling, traduit par Olivier Tharan, olive@laria.u-picardie.fr v1.4, 9 novembre 1997 _________________________________________________________________ _Ce mini Howto d�crit la 1002�me utilisation d'un Macintosh mort (h� h�) : comment configurer le Mac pour en faire un terminal pour Linux. Des configurations utilisant getty et le programme de terminaux kermit sont d�crites, ainsi que l'utilisation de kermit en r�seau point � point entre Linux et un Macintosh. Ce document peut �tre reproduit librement, en totalit� ou en partie, � la condition que toute utilisation soit conforme � la note g�n�rale de copyright du Projet de Documentation Linux. Voyez le fichier COPYRIGHT pour plus de d�tails. Envoyez toutes les plaintes, suggestions, erreurs et autres � kiesling@terracom.net, pour que je puisse garder ce document aussi complet et � jour que possible._ _________________________________________________________________ 1. Introduction Ce mini Howto devrait vous donner quelques id�es Super Top pour faire fonctionner votre Macintosh avec Linux. Malheureusement, j'ai �t� tr�s occup� et je n'ai donc pas pu inclure la moiti� de ce que je pr�voyais d'inclure, comme l'utilisation de MacTCP et d'OpenTransport pour vous connecter � votre machine Linux par l'interm�diaire d'une ligne PPP. Ceci devra attendre une version future. Ce mini Howto ne couvre pas non plus la mise en place sur un r�seau LocalTalk ou AppleTalk. J'explorerai peut-�tre ces th�mes s'il y a suffisamment d'int�r�t dans, disons, l'impression sur une imprimante LaserWriter � partir de Linux. Sinon, il me semble que de telles applications, causant plus de tracas qu'il n'en faut (sans parler du prix), ne tiennent pas dans le cadre de ce document. Je ne compte pas parler de MkLinux non plus dans ce document. C'est bien mieux document� autre part. Si vous avez donc des id�es � propos de ce document, laissez-moi un mot � l'adresse �lectronique ci-dessus. Les deux syst�mes renferment une bonne partie de l'�tat d'esprit du d�butant, ainsi qu'une prouesse technique, et � mon sens ils ne communiquent pas assez entre eux. 2. �tablissement d'une liaison s�rie Pour �tablir une liaison s�rie entre un Mac et une machine Linux, vous avez besoin, du c�t� Linux, soit d'un c�ble s�rie DB9 femelle vers DB25 m�le ou un c�ble s�rie DB25 femelle vers DB25 m�le, selon votre port s�rie. Du c�t� du Macintosh, vous avez besoin d'un c�ble modem � grande vitesse DIN9 vers DB25 m�le. Assurez-vous que le c�ble est bien un c�ble � "grande vitesse", car certains c�bles Macintosh anciens sont configur�s avec des lignes de prise de contact (handshaking) li�es, ce qui les rend inutiles pour des connexions s�rie � grande vitesse. Vous aurez aussi besoin d'un adaptateur null modem, disponible chez tout revendeur informatique, et d'un changeur de genre s�rie DB25 femelle vers DB25 femelle pour relier les deux c�bles s�rie. J'ai entendu dire que les c�bles d'imprimante pour Mac sont en fait des c�bles null modem d�guis�s, mais je ne peux pas le confirmer. Certains d'entre eux sont de toute fa�on des DIN9 vers DIN9, et en connecter un sur une liaison s�rie engendrerait plus de tracas que n�cessaire. Si cela ressemble � de l'H�breu pour vous, lisez le Howto Serial pour plus de d�tails sur la configuration des c�bles RS 232 et sur les protocoles de transmission de donn�es. Avant de connecter le Mac et la machine Linux, vous devriez d�terminer si vous avez un port s�rie en �tat de marche sur les deux machines, soit en connectant un modem et en appelant un autre ordinateur avec minicom (Linux), ZTerm (Mac), kermit (l'un ou l'autre), ou tout programme de communication de votre choix. La derni�re version de minicom est disponible � sunsite.unc.edu/pub/Linux/apps/serialcomm/dialout et sur les sites miroir. ZTerm est un programme de communication complet et facile � utiliser. Malheureusement, c'est un shareware. Une version � jour est disponible � mac.archive.umich.edu et de telles archives. Le programme kermit a �t� port� sur tous les ordinateurs et syst�mes d'exploitation qui existent. Les archives sont situ�es � ftp.columbia.edu/kermit. Vous devriez consid�rer s�rieusement l'utilisation de kermit sur les deux machines au moins � ce point, parce que 1) il est libre (bien qu'il ne soit pas couvert par la Licence Publique G�n�rale de la Free Software Foundation) ; et 2) il est bien moins g�nant d'avoir kermit sur les deux machines que d'avoir deux programmes de communication compl�tement diff�rents. Si vous avez un autre moyen de d�terminer si les ports s�rie des deux machines sont fonctionnels, n'h�sitez pas � l'utiliser. Ce qui est important est de s'assurer que les deux machines poss�dent un port s�rie en �tat de marche. La connexion s�rie r�elle devrait �tre facile, si l'on a suivi les indications ci-dessus. Si ce n'est pas le cas, la connexion ressemble � ceci : PC Linux C�ble s�rie Adap- Changeur C�ble s�rie Mac --------- DB9 ou DB25 tateur de genre DIN9 vers -------- | | vers DB25 m�le | | | | DB25 Mac | | | |-----------------| |--| |-----------------| | | | | | | | | | --------- Null -------- Modem 3. Connexion client-serveur avec kermit C'est la configuration la plus fluctuante parmi celles d�crites ici. Elle demande le moins de configuration syst�me, bien qu'� l'usage ce soit le syst�me le plus difficile � utiliser parmi ceux d�crits ici. En bref, vous d�marrez kermit � la fois sur la machine Linux et sur le Mac et vous placez l'un d'entre eux en mode serveur. Que l'une soit le client et l'autre le serveur n'a aucune importance, parce que c'est une connexion point � point. Cependant, le kermit de Linux peut tirer partie des possibilit�s de script avanc�es de Linux, et il semble donc logique (pour moi au moins) de donner au kermit c�t� Linux la fonction de serveur, car cette t�che sera plus rapidement automatis�e. Vous devez vous assurer que kermit est install� correctement � la fois sur le Mac et sur le PC Linux. Suivez les instructions des distributions kermit respectives. Sur la machine Linux tapez kermit � l'invite du shell pour le d�marrer. Vous aurez peut-�tre besoin des droits root pour positionner la vitesse du port et de la connexion. Kermit, dans les versions POSIX r�centes pour Unix, supporte des vitesses de connexion jusqu'� 115 Kbps. Les versions les plus r�centes pour Macintosh supportent des vitesses de port s�rie allant jusqu'� 57,6 Kbps. Ceci devrait �tre plus que suffisant pour toute application basique de type terminal, mais si vous avez besoin d'une connexion � plus grande vitesse, c'est rat� en ce qui concerne kermit et les liaisons s�rie. Cependant, kermit permet des communications ais�es sur une liaison TCP/IP, mais je n'ai pas pu tester cette possibilit�. Regardez les autres solutions dans les sections suivantes. Rappelez-vous simplement, surtout du c�t� du Mac, d'utiliser avec kermit un port diff�rent pour vos connexions s�rie que pour vos connexions TCP/IP, car kermit sur le Mac mobilisera de mani�re brutale un port s�rie en cours d'utilisation. Avec ceci en t�te, votre fichier .kermrc devrait contenir quelque chose comme ceci : echo Lecture du fichier global /usr/local/bin/ckermit.local.ini.... set prompt Chanel3 > set line /dev/ttyS0 set baud 38400 set send packet-length 2000 set receive packet-length 2000 set block 3 set file type binary Puis, dans votre fichier ~/.kermrc, vous auriez une ligne telle que take /usr/local/bin/ckermit.local.ini Du c�t� du Macintosh, positionnez les m�mes param�tres de communication pour les bits par seconde, les bits de stop, la parit� et la longueur d'un mot. Certaines versions anciennes de Kermit Mac ne supportent pas les paquets de 2 k, par cons�quent vous aurez peut-�tre besoin d'indiquer une taille de paquet plus petite. Cependant, kermit positionne la longueur du paquet de communication selon le param�trage de longueur de paquet re�u, et donc vous aurez besoin de mettre une taille de paquet plus petite du c�t� Linux �galement. Pour communiquer effectivement sur la liaison, vous devez entrer en mode serveur soit sur le Mac soit sur Linux. Lequel n'a pas d'importance. Voyez la documentation kermit pour avoir des d�tails sur le mode serveur. 3.1 Ressources Macintosh Voici l'une des rares applications de kermit o� le positionnement d'un type de fichier texte pour les transferts est utile. C'est parce que les fichiers Macintosh ont deux parties : la _partie donn�es_ et la _partie ressources_. La partie donn�es correspond � ce que nous appellerions un fichier dans le monde Linux : ce sont les donn�es r�elles. La partie ressource contient des images pour les ic�nes, des jeux de claviers, des sp�cifications de polices, et ainsi de suite. Si vous transf�rez un fichier de Linux vers le Mac, le fichier ne sera pas reconnu comme un fichier texte par le Mac, si vous utilisez le mode binaire. En transf�rant des fichiers binaires entre les deux syst�mes, vous devriez utiliser le format BinHex Macintosh .hqx, qui est un codage sur 7 bits d'un fichier de donn�es en 8 bits. Des utilitaires Mac comme BinHexer ou StuffIt convertiront le fichier en sa forme binaire. Si vous avez un fichier texte qui devient par inadvertance un fichier de donn�es seules sur le Mac, il est probable qu'il n'appara�tra jamais dans une liste de bo�te de dialogue d'ouverture de fichier. Ce que vous devrez faire est ouvrir le fichier avec ResEdit, disponible � mac.archive.umich.edu. ResEdit vous dira que le fichier que vous ouvrez n'a pas de partie ressources et vous demandera alors si vous voulez en ajouter une. Vous devriez r�pondre "Yes" (oui) � cette question. Vous pourrez alors �diter les champs Type et Creator du fichier en s�lectionnant l'option "Open Special" du menu Fichier. Tous les fichiers texte Macintosh sont du type TEXT, remplacez donc les points d'interrogation dans la bo�te de Texte avec cela. Le code Creator d�pend de votre �diteur de texte ou de votre traitement de texte. Chacun est unique, justement, et c'est ainsi que le Mac identifie des applications diff�rentes. Le code Creator pour GNU Emacs sur le Mac est EMAC, par exemple. Si vous avez un doute sur le code du cr�ateur de votre �diteur de texte ou traitement de texte, utilisez ttxt, qui est le code cr�ateur de TeachText (qui est l'�quivalent Mac de EDLIN.EXE.) Votre traitement de texte ou �diteur de texte r�el pourra alors traduire le fichier de TeachText en son type natif. On peut faire bien d'autres choses avec TeachText, �a vaut donc la peine de le garder en permanence sur votre Mac. Le livre _Voodoo Mac_, par Kay Yarborough Nelson, est une bonne source de trucs pour Macintosh qui ont fait leur preuve et qui utilisent ResEdit, TeachText, le Finder et d'autres programmes un peu oubli�s. 4. Se logger gr�ce � kermit Configurer Linux pour utiliser le Mac comme un terminal de login: est encore plus facile. kermit est id�al pour cela, parce que c'est l'un des rares programmes de communication libres qui fournit une �mulation VT100/120/220 cr�dible. De mani�re g�n�rale, ce que vous voudrez faire est lancer kermit sur le Macintosh comme dans la section pr�c�dente, mais plut�t que de taper des commandes sur le serveur, vous entrez en mode connect. C'est le mode normal d'�mulation de terminal qu'utilisent de toute fa�on la plupart des gens. Du c�t� Linux, la ligne s�rie doit �tre configur�e gr�ce � un getty pour d�marrer un shell login:. � cette fin, vous devez dire � init qu'un terminal est attach� � la ligne s�rie. Dans votre fichier /etc/inittab vous avez besoin d'une ligne comme celle-ci : T1:23:respawn:/sbin/getty -L ttyS0 9600 vt100 Assurez-vous de mettre le p�riph�rique s�rie appropri� � la place de /dev/ttyS0 et la vitesse correcte pour le port � la place de 9600 dans la ligne de commande ci-dessus. Cette commande indique � getty de d�marrer login (le param�tre -L) sur l'affichage du terminal, et quand la p�riode de login est termin�e (timeout), de red�marrer (respawn, relancer) le programme de login jusqu'� ce que quelqu'un se logge. Si aucun p�riph�rique n'est connect� � la ligne s�rie, ou si la connexion est mauvaise, vous pourrez voir un message sur la console du syst�me tel que : /dev/ttyS0 respawning too fast: disabling for 5 minutes (/dev/ttyS0 se relance trop vite, je l'arr�te pendant 5 minutes). Si c'est le cas, vous pouvez revenir � un comportement normal en (en tant que root) tuant avec kill le processus getty, ou en utilisant la commande init q. Les deux ont l'effet de relancer le(s) processus getty. Si tout est en ordre, vous devriez voir la banni�re Linux et l'invite de login sur la fen�tre kermit du Mac. C'est tout. De plus, si vous utilisez autre chose que le getty de base, comme getty_ps, la commande ci-dessus sera l�g�rement diff�rente. Ce qu'il convient de se rappeler est que tout ce qui est � droite de /sbin/getty est un argument de getty et non d'init. Vous devriez jeter un coup d'oeil aux pages de manuel de getty, init et inittab si vous vous posez des questions sur la mise en oeuvre de init et de getty. Le Howto Serial fournit des d�tails utiles sur la mani�re de configurer /etc/inittab pour getty_ps, si c'est ce que votre syst�me utilise. Pour transf�rer des fichiers entre le Macintosh et la machine Linux, vous pouvez (� travers le Kermit du Mac) lancer la commande kermit -x pour d�marrer le kermit de Linux en mode serveur. Vous pouvez alors utiliser les commandes normales de transfert de fichiers pour envoyer des fichiers sur la ligne s�rie. Il est utile de positionner une invite dans votre ~/.kermrc avec une ligne telle que set prompt Linux-kermit > Sinon, se rappeler sur quelle machine on est peut vite devenir d�routant. 4.1 Autres programmes d'�mulation de terminal sur Mac Cette m�thode devrait fonctionner de mani�re �quivalente sur n'importe quel autre programme d'�mulation de terminal pour Mac. Si vous avez ZTerm, vous pouvez utiliser rz et sz sur la machine Linux pour transf�rer des fichiers gr�ce au protocole ZModem. Si Microphone Lite �tait livr� avec votre modem-fax, cela fonctionne � l'identique, bien que sans les possibilit�s �volu�es de script et de configuration de kermit. 5. Conclusion Si vous avez des questions � propos de tout ceci, ou des suggestions concernant l'�volution future de la connectivit� par liaison s�rie entre un Mac et Linux, n'h�sitez pas � m'envoyer un mot � kiesling@terracom.net.