4. Mise en place

Contenu de cette section

4.1 Ce dont vous devez disposer

Avant de commencer à construire term, il vous faut être sûr que votre noyau a été compilé avec l'option TCP/IP. L'interface TCP/IP loopback doit également avoir été activée. Une fois que ceci est fait, vous pouvez parcourir le reste de ce paragraphe.

4.2 Explication des concepts

Dans les dernières versions de term, deux nouveaux concepts ont fait leur apparition. Les deux paragraphes suivants y sont consacrés.

Le partage

Depuis la version 1.16 de term, le concept de partage de la connexion term avec d'autres utilisateurs est apparu. Si, par exemple, vous travaillez sur la machine distante via votre connexion term (vous avez utilisé trsh pour vous connecter depuis votre machine locale), un autre utilisateur peut utiliser la même connexion pour transférer par ftp un fichier sur son compte sur la machine locale, depuis un site ftp distant.

Lorsque vous désactivez les possibilités de partage (c'est-à-dire que vous utilisez term en mode privé), vous seul (en plus de root~:-) pouvez utiliser la connexion term.

Bien sûr, vous n'avez besoin d'installer le term partagé qu'à l'extrêmité à laquelle vous voulez permettre à d'autres utilisateurs de profiter de la même connexion term que vous. Ainsi, si d'autres utilisateurs ont un compte sur votre machine locale et souhaitent l'utiliser depuis une autre machine du réseau distant, il vous faut activer le partage à l'extrêmité distante de la connexion term. De cette façon, ces personnes peuvent se connecter à votre machine locale en utilisant la même connexion term que vous. (NOTE~: le premier exemple supposait que le partage soit activé à l'extrêmité locale de la connexion).

NOTE sur l'installation en tant que root~: Lorsque vous installez term en tant que root, il vous faut au préalable créer un groupe term (avant la compilation) ne contenant aucun utilisateur. Ceci se fait par l'ajout de la ligne suivante au fichier '/etc/group'~:

  term::16:root

ou tout GID inutilisé autre que 16, si 16 est déjà attribué.

Après la compilation et l'installation, rendez term et ses clients SUID, grâce aux commandes~:

  chgrp term <client_term>
  chmod g+s <client_term>

Procédez de même avec tout autre programme utilisant term.

Réseau term intégral

On utilise l'expression de réseau term intégral depuis la version 2.0.0 de term. Lorsque votre seule connexion au monde extérieur est une connexion term, vous disposez d'un réseau term intégral. Il vous faut alors compiler term avec cette option. Dans ce cas, un fichier 'termnet' est placé dans votre répertoire partagé. Ceci indique à term qu'il assure votre unique connexion avec le monde extérieur.

Si vous avez également un autre type de connexion réseau vers l'extérieur, les programmes qui savent utiliser term tenteront dans un premier temps d'utiliser cette connexion. Si cela échoue, term sera lancé et une nouvelle tentative sera effectuée, avec la connexion term. Pour être plus clair, voici un exemple qui utilise la version term de telnet, laquelle peut fonctionner avec ou sans term.

  telnet localhost

n'utilise pas term pour réaliser la connexion alors que~:

  telnet zeus.cs.kun.nl

utlisera term si vous n'avez pas d'autre type de connexion réseau.

Un réseau term intégral suppose que l'on mente à propos du nom de la machine locale, en prétendant qu'il s'agit de la machine distante. De plus, cela implique que bind(0) agisse toujours sur la machine distante. Sommairement, cela signifie que de nombreux programmes n'utilisant pas term deviennent inutilisables lorsque term est actif. Malheureusement, c'est le cas de la plupart des programmes et démons UDP.

4.3 Compilation de term

Si vous avez de la chance, un simple make devrait suffire. Il est cependant probable que vous aurez un peu plus de travail. Du fait des nouvelles possibilités des version récentes de term, la construction de l'exécutable est désormais un peu compliquée. On peut procéder de plusieurs façons.

Afin de détailler toutes ces manières de construire term, cette section est divisée en trois parties ~:

  1. Compilation de term, versions 2.0.0 et ultérieures.
  2. Compilation de term, versions 1.16 à 1.19.
  3. Compilation de term, versions 1.15 et antérieures.

Compilation de term, versions 2.0.0 et ultérieures

Tout d'abord, assurez-vous d'avoir bien lu la partie 'réseau term intégral' ci-dessus.

Il existe plusieurs façons de compiler l'exécutable et les clients term des versions 2.0.0 et ultérieures. Toutes peuvent être utilisées par root ou par un utilisateur normal~:

  1. Compilation de term en mode privé sans réseau term intégral.
  2. Compilation de term en mode privé avec réseau term intégral.
  3. Compilation de term en mode partagé sans réseau term intégral.
  4. Compilation de term en mode partagé avec réseau term intégral.

Dans ces versions de term, une nouvelle procédure de compilation est apparue, grâce au script configure. Lorsque configure est lancé, il détermine le système d'exploitation, si le répertoire source est accessible ou non et si des options d'exécution ont été choisies. En fonction de ce qu'il a trouvé, il crée un fichier 'Makefile' à partir du 'Makefile.in' fourni avec term.

Deux des plus importantes options à configurer sont --root et --user qui déterminent si term doit être installé par root ou par un utilisateur classique. D'autres options peuvent être utilisées pour installer term à votre goût (dans une arborescence non standard, par exemple).

  1. Compilation de term en mode privé sans réseau term intégral. Pour installer term de cette façon, vous devez lancer les commandes (que ce soit en tant que root ou en tant qu'utilisateur ordinaire)~:
      ./configure --root OU --user
      make install installman
    
    Ceci construit les exécutables, les installe et installe les pages de manuel.
  2. Compilation de term en mode privé avec réseau term intégral. Pour installer term de cette façon, vous devez lancer les commandes (que ce soit en tant que root ou en tant qu'utilisateur ordinaire)~:
      ./configure --root OU --user
      make installnet installman
    
    Ceci construit les exécutables, les installe et installe les pages de manuel.
  3. Compilation de term en mode partagé sans réseau term intégral. Pour installer term de cette façon, vous devez lancer les commandes (que ce soit en tant que root ou en tant qu'utilisateur ordinaire)~:
      ./configure --root OU --user
      make share installman
    
    Ceci construit les exécutables, les installe et installe les pages de manuel.
  4. Compilation de term en mode partagé avec réseau term intégral. Pour installer term de cette façon, vous devez lancer les commandes (que ce soit en tant que root ou en tant qu'utilisateur ordinaire)~:
      ./configure --root OU --user
      make share installnet installman
    
    Ceci construit les exécutables, les installe et installe les pages de manuel.

Compilation de term, versions 1.16 à 1.19

Pour installer ces versions de term vous pouvez choisir l'une des procédures suivantes~:

  1. Compilation de term en mode privé, en tant qu'utilisateur ordinaire.
  2. Compilation de term en mode partagé, en tant qu'utilisateur ordinaire.
  3. Compilation de term en mode privé, en tant que root.
  4. Compilation de term en mode partagé, en tant que root.

Comment activer/désactiver les fonctionnalités de partage de term durant la compilation est expliqué ci-après.

  1. Vous êtes un utilisateur ordinaire (pas de compte root) et vous ne souhaitez PAS partager votre connexion term avec d'autres utilisateurs. Installez term de la façon suivante~:
      make DO=install OS-type
      make installman
    
    Ceci compile puis installe term, ses clients et les pages de manuel. Il vous faut de plus créer un répertoire '$HOME/.term'. C'est le répertoire dans lequel term recherchera son fichier 'termrc'.
  2. Vous êtes un utilisateur ordinaire (pas de compte root) et vous souhaitez partager votre connexion term avec d'autres utilisateurs. Installez term de la façon suivante~:
      make DO=installshare USERSHARE=$HOME/term OS-type
      make installman
    
    Ceci compile puis installe term, ses clients et les pages de manuel. Il vous faut de plus créer un répertoire '$HOME/.term' (nom par défaut) avec les droits drwxrwxr-x. Dans ce répertoire, vous trouverez au moins la socket utilisée par term pour sa connexion ('tmp/private/socket=').
  3. Vous êtes root et vous ne souhaitez PAS partager votre connexion term avec d'autres utilisateurs. Installez term de la façon suivante~:
      make DO=install OS-type
      make installman
    
    Ceci compile puis installe term, ses clients et les pages de manuel. Il vous faut de plus créer un répertoire '/usr/local/lib/term' (nom par défaut) avec les droits drwxrwxr-x. Dans ce répertoire, vous trouverez au moins la socket utilisée par term pour sa connexion ('tmp/private/socket=').
  4. Vous êtes root et vous souhaitez partager votre connexion term avec d'autres utilisateurs. Tout d'abord, assurez-vous d'avoir lu la partie concernant le partage. Installez term de la façon suivante~:
      make DO=installshare OS-type
      make installman
    
    Ceci compile puis installe term, ses clients et les pages de manuel. Il vous faut de plus créer un répertoire '/usr/local/lib/term' (nom par défaut) dont le propriétaire est le groupe term, avec les droits drwxrwxr-x. Dans ce répertoire, vous trouverez au moins la socket utilisée par term pour sa connexion ('tmp/private/socket=').

Compilation de term, versions 1.15 et antérieures

La compilation de ces versions de term ne devrait pas requérir d'autres commandes que~:

  make DO=install OS-type
  make installman

Ceci compile puis installe term, ses clients et les pages de manuel. Tout est alors prêt à l'emploi.

Il vous faut de plus créer un répertoire '$HOME/.term'. C'est le répertoire dans lequel term recherchera son fichier 'termrc'.

Les seules choses que vous pourrez souhaiter modifier sont certains des chemins du 'Makefile' et certaines options du compilateur.

4.4 client.a, libtermnet.a, libtermnet.sa, libtermnet.so

Une bibliothèque est fournie avec term. Elle propose des fonctions pour les clients term.

Jusqu'à la version 1.16, cette bibliothèque était nommée client.a. Elles était bâtie lors de la compilation de term, puis utilisée lors de celle des clients. Elle n'était installée dans aucun répertoire.

Depuis la version 1.16, cette bibliothèque s'appelle libtermnet.a. Jusqu'à la version 1.19, elle est créée dans le répertoire term, puis utilisée pour la compilation des clients term. Elle n'est installée nulle part ailleurs.

A partir de la version 2.0.0, libtermnet.so et libtermnet.sa (bibliothèque partagée et données exportées et initialisées pour la bibliothèque) sont également créées lors de la compilation de term. Lors de l'installation de l'ensemble des composantes du paquetage, ces trois bibliothèques (libtermnet.a, libtermnet.so et libtermnet.sa) sont installées dans le répertoire '/usr/local/lib' (par défaut). Un lien est ensuite créé de libtermnet.so.2.x.x vers libtermnet.so.2. Finalement, ldconfig est lancé pour créer les liens et le cache nécessaires (pour le linkage à l'exécution, par ld.so). ld.so tient compte des versions les plus récentes des bibliothèques trouvées dans les répertoires précisés dans la ligne de commande, dans le fichier '/etc/ld.so.conf' et dans les répertoires '/usr/lib' et '/lib'. Si l'installation est effectuée correctement, ces trois bibliothèques peuvent alors être utilisées par tous les clients term qui sont construits avec des bibliothèques dynamiques plutôt que statiques. Ces bibliothèques peuvent également être utilisées pour le portage de vos propres programmes afin de leur permettre d'utiliser les fonctionnalités de term (voir plus loin).

4.5 Variables d'environnement

term reconnaît un certain nombre de variables d'environnement qui peuvent être positionnées par les utilisateurs. Les trois premières à être détaillées sont~:

Grâce à ces variables, il vous est possible de contrôler la façon dont term s'exécute.

Pour les versions de term 1.15 et antérieures, seule la variable termDIR est importante (ces versions ne proposent pas le mode partagé). Pour ces versions, positionnez termDIR de la façon suivante~:

  setenv termDIR $HOME     (csh ou tcsh)
  export termDIR=$HOME     (ksh ou bash)

A partir de la version 1.16, term reconnait également les variables termSHARE et termMODE. Grâce à ces variables, on peut indiquer à term s'il doit fonctionner en mode privé ou partagé. Comment positionner ces variales pour les modes privé et partagé est expliqué ci-après.

termMODE peut avoir l'une des trois valeurs suivantes~:

  1. On peut utiliser term en mode privé en positionnant les variables termDIR et termMODE de la façon suivante~: En csh ou tcsh~:
      setenv termDIR $HOME
      setenv termMODE 0
    
    En ksh ou bash~:
      export termDIR=$HOME
      export termMODE=0
    
  2. Il y a deux manières de positionner les variables pour utiliser term en mode partagé~:
    1. Lorsque term est installé comme un programme SUID, seule termMODE doit être positionnée.
        setenv termMODE 2    (csh ou tcsh)
        export termMODE=2    (ksh ou bash)
      
    2. Lorsque term est installé comme un programme SGID, il faut positionner les variables comme suit~: En csh ou tcsh~:
        setenv termMODE 1
        setenv termDIR /usr/local/lib/term
        setenv termSHARE $termDIR
      
      En ksh ou bash~:
        export termMODE=1
        export termDIR=/usr/local/lib/term
        export termSHARE=$termDIR
      
      Positionner les variables de cette manière permet d'utiliser les anciens clients (linkés avec une ancienne version de client.a) en mode partagé.

A partir de la version 2.0.0, term reconnaît également la variable termSERVER. Celle-ci doit être positionnée si vous possédez plusieurs modems et utilisez plus d'une connexion à la fois. Pour préciser quelle connexion utiliser, il faut lancer term avec le nom d'un serveur.

  nohup term -v /dev/modem1 Connection1 &
  nohup term -v /dev/modem2 Connection2 &

Les utilisateurs doivent alors positionner la variable termSERVER sur le nom de la connexion qu'ils souhaitent utiliser~:

  setenv termSERVER Connection1   (csh ou tcsh)
  export termSERVER=Connection2   (ksh ou bash)

4.6 Test de term

Tapez make test (ou make termtest pour les versions récentes de term) afin de compiler le démon de test de term. (term)test fonctionne en exécutant deux occurences de term sur votre système, une copie 'locale' et une copie 'distante'. Chacune d'elles lira votre 'termrc' de façon à ce que vous puissiez en ajuster le comportement. Lancez (term)test maintenant. Vous devriez être en mesure de lancer un trsh et un tupload. Essayez~:

  tupload ./term /usr/tmp

ceci devrait placer une copie de l'exécutable term dans le repértoire '/usr/tmp'. La sortie du term local apparaît dans le fichier 'local.log', celle du term distant dans 'remote.log'. Vous pouvez lancer term avec l'option -d255 de façon à ce que des informations de déboguage soient incluses dans ces fichiers ou pour vous permettre de déboguer votre 'termrc'.

NOTE~: lancez test par la commande ./test de façon à ne pas lancer le test du système.

4.7 term et les programmes de communication

Avant de pouvoir utiliser term, il faut avoir établi une connexion par modem, par l'intermédiaire d'un programme de communication tel que kermit ou seyon. La documentation de votre programme de communication vous fournira les informations dont vous aurez besoin pour vous connecter à une machine distante.

Lorsque vous avez établi la connexion avec la machine distante, il vous faut interrompre ou quitter votre programme de communication pour pouvoir utiliser term, mais sans couper la connexion. Ceci est nécessaire pour éviter que le programme de communication subtilise des caractères à linecheck ou term.

Comment s'assurer que la connexion reste active et que le programme de communication ne s'approprie pas certains caractères est expliqué ci-après, pour quelques exemples.

kermit

Il est facile de lancer term lorsque vous utilisez kermit~: à l'invite de kermit, tapez la commande suspend. Vous voila de retour à l'invite de Linux. A partir de là, vous pouvez établir votre connexion term.

seyon

Un moyen facile de lancer linecheck ou term à partir de seyon est de les placer dans le menu Transfer (contrôlé par le fichier '$HOME/.seyon/protocols').

Dans le fichier '$HOME/.seyon/protocols', ajoutez~:

  "linecheck" "$cd /tmp; linecheck"
  "term" "$term -c off -w 10 -t 150 -s 38400 -l $HOME/tlog"

Ainsi, lorsque vous voulez lancer linecheck ou term sur la machine locale, vous pouvez sélectionner le menu Transfer, choisir l'option linecheck ou term, puis Go.

Bien entendu, il est toujours possible d'utiliser le bouton shell command et de taper 'linecheck' ou 'term' dans la boîte de dialogue pop-up. Ceci redirige automatiquement l'entrée et la sortie.

4.8 Rendons la liaison transparente

Supposons que vous savez établir une connexion modem entre vos machines locale et distante. De façon typique, vous numérotez grâce à un serveur de terminal quelconque pour vous connecter à la machine distante. Vous utilisez également quelque logiciel d'émulation de terminal, tel que kermit ou seyon pour dialoguer avec votre modem (les exemples fournis dans ce document utilisent kermit, puisque c'est ce dont l'auteur se sert). Si vous avez des problèmes avec votre modem ou avec votre logiciel de terminal, reportez-vous au Serial-HOWTO, il devrait vous permettre de les régler.

Une fois votre liaison établie, il faut la rendre aussi transparente que possible. Etudiez les commandes de votre serveur de terminal (help ou ? sont en général un bon début). Choisissez les options 8 bits chaque fois que cela est possible. Il est possible que cela influe sur la façon de vous connecter à un système. Si le serveur utilise rlogin, par exemple, il faudra peut-être utiliser l'option -8 afin de le rendre transparent. Faites particulièrement attention à ne pas utiliser le contrôle de flux XON/XOFF. Essayez plutôt d'utiliser le contrôle de flux RTS/CTS (hardware). L'étude de la documentation de votre modem vous apprendra certainement comment le configurer pour des communications RTS/CTS 8 bits.

4.9 Lançons linecheck

ATTENTION~: dans certains documents, les options de linecheck sont données dans un ordre incorrect. L'auteur les a contrôlées et en donne ici l'ordre correct.

NOTE~: à partir de la version 2.3.0, il n'est plus nécessaire de fournir à linecheck le nom d'un fichier de log. La sortie sera écrite dans le fichier 'linecheck.log', dans le répertoire d'où linecheck a été lancé.

linecheck est un programme fourni avec term qui vérifie la transparence d'une liaison et fournit des informations utiles pour une configuration correcte de term. linecheck envoie chacun des 256 caractères 8 bits possibles sur la liaison et vérifie que tous ont été transmis correctement. Il faut indiquer à term quels caractères ne peuvent pas être transmis sur la liaison, ce que linecheck permet de repérer. linecheck doit être utilisé une fois que la liaison modem est aussi transparente que possible. Pour lancer linecheck, procédez comme suit~:

  1. Sur le système distant, lancez~:
      linecheck linecheck.log
    
  2. Revenez à votre système local et interrompez votre programme de communication (voir au-dessus).
  3. Sur le système local, lancez~:
      linecheck linecheck.log > /dev/modem < /dev/modem
    

Lorsque linecheck est terminé, les fichiers 'linecheck.log' contiennent un ensemble de nombres, placés à la fin. Ce sont les caractères qui doivent être évités dans le 'termrc' placé à l'autre extrêmité de la liaison. Sur le système de l'auteur, par exemple, le 'linecheck.log' local ne disait rien et le 'linecheck.log' distant indiquait d'éviter 29 et 157. C'est pourquoi son 'termrc' local évite ces caractères, alors que son 'termrc' distant n'en évite aucun. Si l'on évite des caractères d'un côté, il faut les ignorer de l'autre. C'est pourquoi, l'auteur doit ignorer 29 et 157 sur son système distant.

Si linecheck se plante, essayez~:

  linecheck linecheck.log 17 19

sur le système distant et~:

  linecheck linecheck.log 17 19 > /dev/modem < /dev/modem 

sur le système local. Ceci a pour effet de ne pas envoyer les caractères de contrôle de flux XON/XOFF qui plantent votre ligne si vous utilisez un contrôle de flux logiciel. Si cela résoud le problème, évitez/ignorez 17 et 19 dans les deux 'termrc'. Si votre serveur de terminal est sensible à d'autres caractères, procédez de même. Il est possible d'identifier de tels caractères lorsque linecheck se plante~: tuez-le puis examinez les fichiers de log. Les derniers caractères transmsis sont de bons coupables potentiels. Essayez à nouveau en évitant ces caractères.

En résumé, le 'termrc' local de l'auteur se présente ainsi~:

  escape 29
  escape 157

et son 'termrc' distant ainsi~:

 
  ignore 29
  ignore 157

puisque le 'linecheck.log' distant indiquait d'éviter 29 et 157.

4.10 Essayons de lancer term

Connectez-vous au système distant et rendez la liaison aussi transparente que possible (si ça n'est déjà fait). Lancez-y term, par exemple de la façon suivante~:

  exec term -r -l $HOME/tlog -s 38400 -c off -w 10 -t 150

Examinons une à une les options de cette ligne de commande (que nous aurions tout aussi bien pu inclure dans le 'termrc', mais au prix d'une édition de fichier).

exec signifie que le programme (term, en l'occurence) remplace le shell à partir duquel il est lancé. On utilise exec lorsque l'on n'a plus l'intention de se servir du shell concerné; on économise ainsi la mémoire. Cependant, lors de la mise au point de la liaison, il peut être prudent de ne pas faire un exec, de façon à pouvoir tuer le term distant.

L'option -r doit être utilisée à une et une seule extrêmité. Celle-ci sera alors vue par term comme l'extrêmité distante de la liaison (qui peut donc être votre machine locale). Si cette option n'est pas utilisée d'un côté ou de l'autre, term se plantera spontanément.

-l $HOME/tlog permet de consigner toutes les erreurs dans le fichier 'tlog', placé dans votre répertoire utilisateur. Celui-ci étant très utile pour les mises au point, il n'y a pas de raison de ne pas utiliser cette option.

-s 38400~: l'auteur dispose d'un modem 14400 bps, avec compression. Afin d'obtenir des taux de compression optimaux, il faut envoyer les bits aussi vite que possible. Pour un modem plus lent, il faut utiliser une valeur plus faible. Notez que si vous possédez une machine "lente" dotée de ports séries disposant d'UART 16450, des valeurs de bps trop importantes risquent de provoquer des pertes de données en surchargeant le port série. term est capable de corriger ceci, mais si les fichiers de log comportent de nombreux messages d'erreur (ou si vous recevez de nombreux warnings des noyaux linux 0.99pl15 ou plus récents), il serait plus sage de diminuer cette valeur.

-c off~: cette option désactive la compression. Lorsque l'on dispose d'un modem qui assure déjà la compression des données, il n'est nul besoin de les compresser une seconde fois.

-w 10 -t 150~: ici encore, cette option permet d'optimiser une liaison modem rapide. La valeur de la fenêtre est 10 et celle du timeout 150, selon les recommendations de la page de manuel de term_setup.

Revenez sur votre machine locale et interrompez votre programme de communication (voir ci-dessus). Il est préférable qu'il ne tourne pas en même temps que term, car il risque d'entrer en conflit avec lui au niveau du port série. Si vous parvenez à convaincre votre programme de communication de ne pas raccrocher la ligne lorsque vous en sortez, vous pouvez le quitter.

Il faut maintenant lancer le term local~:

  term -c off -l $HOME/tlog -s 38400 -w 10 -t 150 < /dev/modem > /dev/modem &

Il faut indiquer à term où se trouve le modem. C'est pourquoi à la fois l'entrée et la sortie standards sont redirigées vers '/dev/modem' (c'est le rôle de < et >). Enfin, la commande est lancée en arrière-plan, de façon à pouvoir continuer à utiliser le terminal pour autre chose, si on le souhaite.

term devrait maintenant fonctionner~:-). Essayez un trsh et regardez ce qui se produit. Si cela plante ou si votre liaison semble excessivement lente, jetez un coup d'oeil aux fichiers 'tlog' placés à chaque extrêmité. Contiennent-ils des timeouts ou des messages d'erreur~? Si c'est le cas, quelque chose ne va pas dans votre configuration. Essayez à nouveau (après avoir fini de lire ceci~:-)). Notez qu'il est normal que la connexion ne semble pas rapide comme l'éclair, surtout si vous utilisez la compression. Les meilleures performances sont obtenues lors d'échanges tels que le transfert de fichiers.

4.11 Mettre fin à une connexion term

Il est probable qu'après avoir effectué un certain nombre de travaux, vous souhaiterez mettre fin à votre connexion term. Ceci peut être fait de quatre façons~:

  1. Tuer les programmes term à chaque extrêmité de la liaison. C'est la méthode la moins recommandée.
  2. Une méthode un peu plus élégante est de taper la commande suivante sur la machine locale~:
      echo '00000' > /dev/modem
    
    Ceci devrait mettre fin à votre connexion term proprement. Cette méthode fonctionne avec toutes les versions de term. Assurez vous que la suite de zéros en contient bien au moins cinq.
  3. Dans le 'termrc' des versions de term 2.0.0 et ultérieures, vous pouvez ajouter une entrée terminate '<une chaîne de caractères>'. Ceci indique la chaîne qu'utilisera term pour s'interrompre ('00000' par défaut). Elle doit être longue d'au moins cinq caractères afin d'éviter toute terminaison intempestive.
  4. À partir de la version 1.14, un programme tshutdown est fourni (en fait, il s'agit d'un patch pour la version 1.14 et est dans le paquetage pour les versions plus récentes). tshutdown permet de mettre fin proprement à votre connexion term.

4.12 Effacer term

Bien, vous l'aurez voulu~! Puisque certains d'entre vous veulent se débarasser de term, nous indiquons ici les étapes à suivre.

Une fois ce petit exercice terminé, vous pouvez être quasiment certain d'avoir effacé tout ce qui concerne term.

4.13 Optimisation de la liaison

Une fois que vous avez réussi à faire fonctionner term, pourquoi ne pas essayer d'optimiser un peu les choses~? Un bon moyen de mesurer la vitesse de transmission de votre liaison est de lancer tmon dans une fenêtre tout en téléchargeant un fichier dans une autre. Essayez avec de gros fichiers de texte et avec des fichiers compressés. Les fichiers textes devraient être transférés environ deux fois plus vite que les fichiers compressés. Les paramètres sur lesquels vous pouvez jouer sont les bps (N.D.T.) Le document original parle de baud, mais il s'agit d'une erreur commune~:-) (-s), la compression (-c), la taille de fenêtre (-w), les timeouts (-t) et le recyclage (-A).

Attention au paramètre de recyclage. Avec term version 1.19, l'auteur a obtenu une perte de 80% à 90% lorsqu'il a utilisé ce paramètre. Peut-être est-ce une bogue de la version 1.19 et n'est-ce valable que pour cette version.

bps~: il s'agit du nombre maximal de bits que term tentera d'envoyer sur la liaison série. term évitera d'envoyer des caractères plus rapidement. Par défaut, utilisez la vitesse des ports série de votre ordinateur, mais soyez conscient que cela risque d'être trop rapide si votre modem fonctionne à une vitesse plus faible sur la ligne téléphonique. Cette option est prévue pour les systèmes qui placent les données dans un tampon. Lors de l'installation et de la mise au point, il est conseillé d'utiliser des valeurs faibles plutôt que des valeurs trop importantes. Pour des liaisons à haute vitesse (> 38400), il peut être avantageux de ne pas imposer de limite en utilisant la valeur 'off'. term ne s'appuiera alors que sur le noyau pour effectuer le contrôle de flux.

Compression~: à utiliser si votre modem n'effectue pas lui-même la compression. S'il la fournit, désactivez cette option afin de ne pas compresser deux fois les mêmes données, ce qui augmente à coup sûr le volume de données transmis. Les modems assurant la compression sont ceux qui utilisent les protocoles MNP-5 ou V42.bis. Consultez la documentation de votre modem et les messages qu'il envoie lors d'une connexion.

Fenêtre~: c'est le nombre de paquets de données que term accepte d'envoyer sur la liaison avant de recevoir un acquittement de la part du term distant. Avec un modem rapide, il peut être avantageux d'augmenter ce paramètre. Pour les liaisons plus lentes, cela risque de surcharger l'extrêmité distante.

Timeout~: il s'agit de la durée pendant laquelle term attend un acquittement. Si vous avez augmenté la taille de la fenêtre et obtenez de nombreux timeouts dans vos fichiers de log, essayez d'augmenter ce paramètre.

Pour un modem 14400/V42.bis, l'auteur utilise -c off -w 10 -t 150 et obtient environ 1700 cps pour les fichiers compressés et 3500 cps pour les fichiers texte, les transfert étant effectués avec tupload.

4.14 Problèmes classiques

Dans cette partie sont exposées quelques démarches classiques à suivre lorsque l'utilisation de term ou de l'un de ses clients vous pose problème.


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