olive@laria.u-picardie.fr
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.
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
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.
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.
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.
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
.
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
.