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
.