  Linux Term HOWTO v1.1, version francaise.
  par Patrick Reijnen, patrickr@cs.kun.nl
  12 Mai 1995

  Ce document expose les bases de l'installation et du fonctionnement de
  term, programme grace auquel il est possible de multiplexer une  liai-
  son serie entre deux machines dont l'une est connectee a un reseau. On
  peut ainsi mettre en place une connexion  au  reseau  sur  la  seconde
  machine.

  11..  IInnffoorrmmaattiioonnss lleeggaalleess

  11..11..  VVeerrssiioonn ffrraannccaaiissee

  11..11..11..  CCooppyyrriigghhtt

  Ce  document  peut etre librement distribue, sous quelque forme que ce
  soit, s'il l'est gratuitement et dans son  integralite.  Des  extraits
  peuvent  en etre diffuses, sous reserve que les presentes informations
  de _c_o_p_y_r_i_g_h_t soient incluses et que le lecteur soit  informe  du  fait
  qu'il ne s'agit pas de la version integrale, dont on indiquera comment
  se la procurer. Ce document pourra etre inclus dans des  distributions
  commerciales  sans consentement explicite prealable. L'auteur souhaite
  cependant etre averti de telles utilisations.

  Ce HOWTO pourra etre traduit dans toute langue, a  condition  que  les
  informations de _c_o_p_y_r_i_g_h_t et de limitation de garantie soient fournies
  sous leur forme  originelle  et  que  l'identite  du  traducteur  soit
  indiquee  dans  la  traduction  (--   Le traducteur est en l'occurence
  Arnaud Ruch (ruch@labri.u-bordeaux.fr).--) . Le traducteur souhaite de
  plus  etre  informe  de  toute  utilisation  de  ce  document dans une
  distribution commerciale.

  11..11..22..  LLiimmiittaattiioonn ddee ggaarraannttiiee

  Bien que l'auteur ait essaye de  fournir  les  informations  les  plus
  exactes  et  recentes possibles, il ne peut garantir que l'utilisation
  de ce document ne provoquera pas la perte de donnees.  Il  ne  fournit
  donc  AAUUCCUUNNEE  GGAARRAANNTTIIEE sur les informations contenues dans ce HOWTO et
  ne pourra en aucun cas  etre  tenu  pour  responsable  de  quelconques
  dommages  resultant  de  son utilisation (--  Il en va bien entendu de
  meme du traducteur.--)

  11..22..  VVeerrssiioonn oorriiggiinnaallee

  11..22..11..  CCooppyyrriigghhtt ssttaatteemmeenntt

  This document may be distributed freely as a whole  in  any  form  and
  free  of  charge.  Parts of this document may be distributed, provided
  that this copyright message is included and  the  reader  is  informed
  that this is not the full HOWTO document.  Furthermore, there is to be
  a pointer as to where the full document can be obtained. Specifically,
  it may be included in commercial distributions, without prior consent.
  However, I would like to be informed of such usage.

  This HOWTO may be translated into any language,  whatsoever,  provided
  that you leave this copyright statement and the disclaimer intact, and
  that a notice is appended stating who translated the document.

  11..22..22..  DDIISSCCLLAAIIMMEERR

  While I  have  tried  to  include  the  most  correct  and  up-to-date
  information   available,   I   cannot  guarantee  that  usage  of  the
  information in this document does  not  result  in  loss  of  data.  I
  provide  NNOO  WWAARRRRAANNTTYY about the information in this HOWTO and I cannot
  be made liable for any consequences  for  any  damage  resulting  from
  using information in this HOWTO.

  22..  IInnttrroodduuccttiioonn

  22..11..  AA pprrooppooss ddee ccee ddooccuummeenntt

  Ce   HOWTO   tente   de  dissiper  la  confusion  que  peut  engendrer
  l'utilisation de term, remarquable programme de Michael O'Reilly grace
  auquel  il  est  possible  de  multiplexer  une liaison serie, afin de
  mettre en place une connexion a un reseau.  La  documentation  fournie
  avec  term etant de relativement bonne qualite, ce document ne vise en
  aucun cas a la remplacer. Son intention est  d'expliquer  sur  quelles
  bases fonctionne term et de detailler les etapes necessaires a la mise
  en place de  quelques-uns  des  services  reseau  les  plus  courants.
  L'auteur  insiste sur le fait que ce document ne couvre pas l'ensemble
  de ce qu'il  y  a  a  connaitre  sur  term.  Apres  l'avoir  parcouru,
  reportez-vous  aux  pages  du  manuel  qui  contiennent  de nombreuses
  informations complementaires.

  22..22..  QQuu''eesstt--ccee qquuee tteerrmm ?

  term    est    un    programme    ecrit    par    Michael     O'Reilly
  (michael@iinet.com.au)     et     maintenu     par     Bill    Riemers
  (bcr@physics.purdue.edu), qui permet a plusieurs  connexions  d'operer
  simultanement  sur une meme liaison serie. Il est par exemple possible
  de telecharger un fichier tout en  travaillant  sur  un  site  distant
  different,  et ce grace a la meme liaison modem. term permet egalement
  de lancer des clients X Windows  par  l'intermediaire  de  cette  meme
  liaison. Grace aux utilitaires tredir et tudpredir, term est en mesure
  de  fournir  la  plupart   des   services   reseau   TCP/IP   et   UDP
  traditionnels  :  _m_a_i_l,  _n_e_w_s, ftp, telnet, xarchie, etc. D'un certain
  point de vue, term est tres semblable aux autres protocoles serie  tel
  que  SLIP  et  PPP, mais son avantage est d'etre execute integralement
  depuis l'espace utilisateur. Il ne requiert donc  aucune  intervention
  d'administrateurs systeme ou reseau.

  Contrairement  a  SLIP  ou PPP, votre machine ne possede pas sa propre
  adresse IP. Tout le trafic a destination de votre  machine  doit  donc
  etre  adresse  a  une  machine distante, qui se charge de le rediriger
  vers elle par l'intermediaire de term.

  33..  CCoommmmeenntt tteerrmm fonctionne-t-il ?

  Avant de vous lancer dans l'experimentation de term, il  est  vivement
  recommande de lire ce chapitre dans son integralite et de parcourir le
  fichier 'INSTALLATION' fourni avec term. Examinez egalement les  pages
  de  manuel  de  linecheck,  (term)test  et  term.  Vous  pourrez alors
  travailler plus facilement et plus rapidement.

  33..11..  NNoommeennccllaattuurree

  Supposons que  vous  appelez  une  machine  par  l'intermediaire  d'un
  quelconque  serveur  de  terminal.  Les  termes  _l_o_c_a_l  et  _d_i_s_t_a_n_t se
  referent respectivement au systeme local et a la machine distante, qui
  est connectee au reseau.

  La  machine  locale  n'est  pas directement reliee au reseau. term est
  cependant capable, en utilisant la connexion au reseau dont dispose la
  machine   distante,   de   lui   fournir   des  services  reseau,  par
  l'intermediaire de la liasion serie.  Examinons  comment  une  machine
  dotee d'une connexion reseau traditionnelle fournit ces services. Dans
  un premier temps, l'utilisateur lance un  programme  tel  que  ftp  ou
  telnet.  Ce  programme demande un service reseau par un appel systeme.
  Le systeme d'exploitation obtient alors ce service  de  son  interface
  reseau  (par  exemple, il envoie et recoit des paquets _e_t_h_e_r_n_e_t). SLIP
  et PPP procedent exactement de  la  meme  facon,  en  transformant  en
  interface  reseau  votre  liaison  modem.  En  pratique  en effet, une
  liaison  serie  n'est  guere  differente   d'une   liaison   _e_t_h_e_r_n_e_t.
  L'inconvenient  majeur de ces protocoles est qu'ils font de la machine
  connectee par modem une part integrante du reseau, avec les nombreuses
  charges  d'administration  qui en decoulent (plus, en fait, puisque la
  liaison modem doit egalement etre administree).

  En l'absence d'une connexion reseau telle que SLIP ou PPP, que fait-on
  habituellement  ? Et bien, on appelle une machine connectee au reseau,
  on lit son courrier, ses _n_e_w_s, etc. Lorsqu'on a besoin  d'un  fichier,
  on  commence  par  le  transferer  sur la machine distante, puis on le
  rapatrie sur la machine locale grace a kermit ou un autre programme de
  communication.  Tout  ceci  est quelque peu astreignant, d'autant plus
  que vous ne pouvez utiliser votre liaison modem que pour une operation
  a  la  fois.  L'idee  a  la  base  de  term  est  d'automatiser  et de
  multiplexer ces operations. term est lance a la fois  sur  la  machine
  locale et sur la machine distante, les deux processus communiquant par
  la liaison modem. Lorsque vous avez besoin d'un service  reseau,  vous
  adressez  une  requete au demon term local, qui la retransmet au demon
  term qui s'execute sur la machine connectee au reseau. Le resultat est
  alors renvoye par l'intermediaire de la liaison modem.

  Pour etre plus concret, disons que vous souhaitez recuperer un fichier
  grace a ftp.  Tout d'abord, il vous faut une version de ftp capable de
  dialoguer  avec  term.  Vous lancez ce termftp comme un ftp classique,
  par la commande termftp nethost.gov, par exemple.  La  difference  est
  que cette version particuliere de ftp adresse sa requete au demon term
  local plutot qu'au noyau. Le demon term local retransmet cette requete
  au  term  distant par l'intermediaire de la liaison modem, celui-ci se
  chargeant alors d'ouvrir une connexion  ftp  avec  nethost.gov  et  de
  renvoyer  les  donnees.  term  est  suffisament  astucieux  pour  vous
  permettre de gerer de nombreuses actions a, la  fois  de  telle  sorte
  qu'il   vous   est   possible   d'avoir  plusieurs  sessions  ouvertes
  simultanement sur la meme liaison modem (par exemple, vous pouvez etre
  connecte  a  une  machine  distante  par  termtelnet  pendant  que  le
  transfert termftp se poursuit).

  Ne vous inquietez pas si tout ceci vous semble trop abstrait (ou  bien
  confus)  :  ce qu'il faut ici retenir est qu'il y a _d_e_u_x occurences de
  term qui s'executent, chacune a une extremite de la liaison modem.

  44..  MMiissee eenn ppllaaccee

  44..11..  CCee ddoonntt vvoouuss ddeevveezz ddiissppoosseerr

  Avant de commencer a construire term, il vous faut etre sur que  votre
  noyau  a ete compile avec l'option TCP/IP. L'interface TCP/IP loopback
  doit egalement avoir ete activee. Une fois que  ceci  est  fait,  vous
  pouvez parcourir le reste de ce paragraphe.

  44..22..  EExxpplliiccaattiioonn ddeess ccoonncceeppttss

  Dans  les  dernieres versions de term, deux nouveaux concepts ont fait
  leur apparition. Les deux paragraphes suivants y sont consacres.

  44..22..11..  LLee ppaarrttaaggee

  Depuis la version 1.16 de term, le concept de _p_a_r_t_a_g_e 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
  utilise  trsh  pour  vous  connecter  depuis votre machine locale), un
  autre utilisateur peut utiliser la meme connexion pour transferer  par
  ftp  un  fichier  sur son compte sur la machine locale, depuis un site
  ftp distant.

  Lorsque vous desactivez les possibilites de partage (c'est-a-dire  que
  vous  utilisez  term  en  mode  _p_r_i_v_e), vous seul (en plus de _r_o_o_t :-)
  pouvez utiliser la connexion term.

  Bien  sur,  vous  n'avez  besoin  d'installer  le  term  partage  qu'a
  l'extremite  a  laquelle vous voulez permettre a d'autres utilisateurs
  de profiter de la meme 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 reseau distant,  il  vous  faut
  activer  le  partage  a  l'extremite distante de la connexion term. De
  cette facon, ces personnes peuvent se connecter a votre machine locale
  en  utilisant  la  meme  connexion  term  que vous. (NOTE : le premier
  exemple supposait que le partage soit active a l'extremite  locale  de
  la connexion).

  NNOOTTEE ssuurr ll''iinnssttaallllaattiioonn eenn ttaanntt qquuee rroooott :: Lorsque vous installez term
  en tant que _r_o_o_t, il vous faut  au  prealable  creer  un  groupe  _t_e_r_m
  (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 _G_I_D inutilise autre que 16, si 16 est deja attribue.

  Apres la compilation et l'installation, rendez  term  et  ses  clients
  _S_U_I_D, grace aux commandes :

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

  Procedez de meme avec tout autre programme utilisant term.

  44..22..22..  RReesseeaauu tteerrmm integral

  On  utilise  l'expression  de  _r_e_s_e_a_u  _t_e_r_m _i_n_t_e_g_r_a_l depuis la version
  2.0.0 de term. Lorsque votre seule connexion au  monde  exterieur  est
  une  connexion  term, vous disposez d'un _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l. Il vous
  faut alors compiler term avec cette option. Dans ce  cas,  un  fichier
  'termnet' est place dans votre repertoire partage. Ceci indique a term
  qu'il assure votre unique connexion avec le monde exterieur.

  Si vous  avez  egalement  un  autre  type  de  connexion  reseau  vers
  l'exterieur, les programmes qui savent utiliser term tenteront dans un
  premier temps d'utiliser cette connexion. Si cela  echoue,  term  sera
  lance  et  une  nouvelle  tentative  sera effectuee, avec la connexion
  term. Pour etre 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 realiser la connexion alors que :

    telnet zeus.cs.kun.nl

  utlisera term si vous n'avez pas d'autre type de connexion reseau.

  Un  _r_e_s_e_a_u  _t_e_r_m _i_n_t_e_g_r_a_l suppose que l'on mente a propos du nom de la
  machine locale, en pretendant 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  demons
  UDP.

  44..33..  CCoommppiillaattiioonn ddee tteerrmm

  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  possibilites  des version recentes de term, la construction
  de l'executable est desormais un peu compliquee. On peut  proceder  de
  plusieurs facons.

  Afin  de  detailler  toutes  ces  manieres  de  construire term, cette
  section est divisee en trois parties  :

  1. Compilation de term, versions 2.0.0 et ulterieures.

  2. Compilation de term, versions 1.16 a 1.19.

  3. Compilation de term, versions 1.15 et anterieures.

  44..33..11..  CCoommppiillaattiioonn ddee tteerrmm, versions 2.0.0 et ulterieures

  Tout d'abord, assurez-vous d'avoir bien  lu  la  partie  '_r_e_s_e_a_u  _t_e_r_m
  _i_n_t_e_g_r_a_l' ci-dessus.

  Il  existe  plusieurs  facons  de compiler l'executable et les clients
  term des versions 2.0.0 et ulterieures. Toutes peuvent etre  utilisees
  par _r_o_o_t ou par un utilisateur normal :

  1. Compilation de term en mode prive sans _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l.

  2. Compilation de term en mode prive avec _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l.

  3. Compilation de term en mode partage sans _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l.

  4. Compilation de term en mode partage avec _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l.

  Dans  ces  versions de term, une nouvelle procedure de compilation est
  apparue, grace au _s_c_r_i_p_t configure. Lorsque configure  est  lance,  il
  determine  le  systeme  d'exploitation,  si  le  repertoire source est
  accessible ou non et si des options d'execution ont ete  choisies.  En
  fonction  de ce qu'il a trouve, il cree un fichier 'Makefile' a partir
  du 'Makefile.in' fourni avec term.

  Deux des plus importantes options a configurer sont --root  et  --user
  qui  determinent  si  term  doit  etre  installe  par  _r_o_o_t  ou par un
  utilisateur classique. D'autres options peuvent  etre  utilisees  pour
  installer  term  a votre gout (dans une arborescence non standard, par
  exemple).

  1. Compilation de term en mode prive sans _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l.

     Pour installer term de cette facon, vous devez lancer les commandes
     (que   ce   soit  en  tant  que  _r_o_o_t  ou  en  tant  qu'utilisateur
     ordinaire) :

       ./configure --root OU --user
       make install installman

  Ceci construit les executables, les installe et installe les pages  de
  manuel.

  2. Compilation de term en mode prive avec _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l.

     Pour installer term de cette facon, vous devez lancer les commandes
     (que  ce  soit  en  tant  que  _r_o_o_t  ou  en   tant   qu'utilisateur
     ordinaire) :

       ./configure --root OU --user
       make installnet installman

  Ceci  construit les executables, les installe et installe les pages de
  manuel.

  3. Compilation de term en mode partage sans _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l.

     Pour installer term de cette facon, vous devez lancer les commandes
     (que   ce   soit  en  tant  que  _r_o_o_t  ou  en  tant  qu'utilisateur
     ordinaire) :

       ./configure --root OU --user
       make share installman

  Ceci construit les executables, les installe et installe les pages  de
  manuel.

  4. Compilation de term en mode partage avec _r_e_s_e_a_u _t_e_r_m _i_n_t_e_g_r_a_l.

     Pour installer term de cette facon, vous devez lancer les commandes
     (que  ce  soit  en  tant  que  _r_o_o_t  ou  en   tant   qu'utilisateur
     ordinaire) :

       ./configure --root OU --user
       make share installnet installman

  Ceci  construit les executables, les installe et installe les pages de
  manuel.

  44..33..22..  CCoommppiillaattiioonn ddee tteerrmm, versions 1.16 a 1.19

  Pour installer ces versions de term  vous  pouvez  choisir  l'une  des
  procedures suivantes :

  1. Compilation   de   term  en  mode  prive,  en  tant  qu'utilisateur
     ordinaire.

  2. Compilation  de  term  en  mode  partage,  en  tant  qu'utilisateur
     ordinaire.

  3. Compilation de term en mode prive, en tant que _r_o_o_t.

  4. Compilation de term en mode partage, en tant que _r_o_o_t.

  Comment  activer/desactiver  les  fonctionnalites  de  partage de term
  durant la compilation est explique ci-apres.

  1. Vous etes un utilisateur ordinaire (pas de compte _r_o_o_t) et vous  ne
     souhaitez   PAS   partager   votre  connexion  term  avec  d'autres
     utilisateurs.

     Installez term de la facon 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  creer  un  repertoire  '$HOME/.term'.  C'est  le
  repertoire dans lequel term recherchera son fichier 'termrc'.

  2. Vous  etes  un  utilisateur  ordinaire (pas de compte _r_o_o_t) et vous
     souhaitez partager votre connexion term avec d'autres utilisateurs.

     Installez term de la facon 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  creer  un  repertoire '$HOME/.term' (nom par
  defaut) avec les droits drwxrwxr-x. Dans ce repertoire, vous trouverez
  au  moins  la  _s_o_c_k_e_t  utilisee  par term pour sa connexion ('tmp/pri-
  vate/socket=').

  3. Vous etes _r_o_o_t et vous ne souhaitez PAS  partager  votre  connexion
     term avec d'autres utilisateurs.

     Installez term de la facon 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 creer un repertoire '/usr/local/lib/term' (nom
  par defaut) avec les droits drwxrwxr-x. Dans ce repertoire, vous trou-
  verez  au  moins  la  _s_o_c_k_e_t  utilisee  par  term  pour  sa  connexion
  ('tmp/private/socket=').

  4. Vous etes _r_o_o_t 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 facon 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 creer un  repertoire  '/usr/local/lib/term'  (nom
  par  defaut)  dont le proprietaire est le groupe _t_e_r_m, avec les droits
  drwxrwxr-x. Dans ce repertoire, vous  trouverez  au  moins  la  _s_o_c_k_e_t
  utilisee par term pour sa connexion ('tmp/private/socket=').

  44..33..33..  CCoommppiillaattiioonn ddee tteerrmm, versions 1.15 et anterieures

  La  compilation  de  ces  versions  de  term  ne  devrait pas requerir
  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 pret a l'emploi.
  Il  vous  faut  de  plus  creer  un repertoire '$HOME/.term'. C'est le
  repertoire 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.

  44..44..  cclliieenntt..aa,, lliibbtteerrmmnneett..aa,, lliibbtteerrmmnneett..ssaa,, lliibbtteerrmmnneett..ssoo

  Une  bibliotheque  est  fournie  avec term. Elle propose des fonctions
  pour les clients term.

  Jusqu'a la version 1.16, cette  bibliotheque  etait  nommee  client.a.
  Elles  etait  batie lors de la compilation de term, puis utilisee lors
  de celle des clients. Elle n'etait installee dans aucun repertoire.

  Depuis la version 1.16,  cette  bibliotheque  s'appelle  libtermnet.a.
  Jusqu'a  la version 1.19, elle est creee dans le repertoire term, puis
  utilisee pour la compilation des clients term.  Elle  n'est  installee
  nulle part ailleurs.

  A   partir   de  la  version  2.0.0,  libtermnet.so  et  libtermnet.sa
  (bibliotheque partagee et donnees exportees et  initialisees  pour  la
  bibliotheque)  sont  egalement  creees lors de la compilation de term.
  Lors de l'installation de l'ensemble des composantes du paquetage, ces
  trois  bibliotheques  (libtermnet.a,  libtermnet.so  et libtermnet.sa)
  sont installees dans le repertoire '/usr/local/lib' (par  defaut).  Un
  lien  est  ensuite  cree  de libtermnet.so.2.x.x vers libtermnet.so.2.
  Finalement, ldconfig est lance  pour  creer  les  liens  et  le  cache
  necessaires  (pour  le  _l_i_n_k_a_g_e a l'execution, par ld.so). ld.so tient
  compte des versions les plus recentes des bibliotheques trouvees  dans
  les  repertoires  precises  dans la ligne de commande, dans le fichier
  '/etc/ld.so.conf' et dans les repertoires  alors  etre  utilisees  par
  tous  les  clients  term  qui  sont  construits avec des bibliotheques
  dynamiques plutot que statiques. Ces bibliotheques  peuvent  egalement
  etre  utilisees pour le portage de vos propres programmes afin de leur
  permettre d'utiliser les fonctionnalites de term (voir plus loin).

  44..55..  VVaarriiaabblleess dd''eennvviirroonnnneemmeenntt

  term reconnait un certain  nombre  de  variables  d'environnement  qui
  peuvent  etre positionnees par les utilisateurs. Les trois premieres a
  etre detaillees sont :

  +o  termDIR

  +o  termSHARE

  +o  termMODE

  Grace a ces variables, il vous est possible de controler la facon dont
  term s'execute.

  Pour  les  versions  de  term  1.15  et anterieures, seule la variable
  termDIR  est  importante  (ces  versions  ne  proposent  pas  le  mode
  partage).   Pour   ces  versions,  positionnez  termDIR  de  la  facon
  suivante :

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

  A partir de la version 1.16, term reconnait  egalement  les  variables
  termSHARE et termMODE.  Grace a ces variables, on peut indiquer a term
  s'il doit fonctionner en mode prive ou  partage.  Comment  positionner
  ces variales pour les modes prive et partage est explique ci-apres.

  termMODE peut avoir l'une des trois valeurs suivantes :

  +o  0 = prive

  +o  1 = partage (systeme)

  +o  2 = partage (utilisateur)

  1. On  peut  utiliser term en mode prive en positionnant les variables
     termDIR et termMODE de la facon 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 manieres de positionner  les  variables  pour  utiliser
     term en mode partage :

     a. Lorsque  term  est  installe  comme  un  programme  _S_U_I_D,  seule
        termMODE doit etre positionnee.

          setenv termMODE 2    (csh ou tcsh)
          export termMODE=2    (ksh ou bash)

     b. Lorsque term est installe  comme  un  programme  _S_G_I_D,  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 maniere permet d'utiliser les
     anciens clients (_l_i_n_k_e_s avec une ancienne version de  client.a)  en
     mode partage.

  A  partir  de  la  version 2.0.0, term reconnait egalement la variable
  termSERVER. Celle-ci doit etre positionnee si vous possedez  plusieurs
  modems  et  utilisez  plus  d'une  connexion  a la fois. Pour preciser
  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)

  44..66..  TTeesstt ddee tteerrmm

  Tapez make test (ou make termtest pour les versions recentes de  term)
  afin  de  compiler  le demon de test de term. (term)test fonctionne en
  executant deux  occurences  de  term  sur  votre  systeme,  une  copie
  'locale'  et une copie 'distante'. Chacune d'elles lira votre 'termrc'
  de facon a ce que vous puissiez en  ajuster  le  comportement.  Lancez
  (term)test  maintenant.  Vous devriez etre en mesure de lancer un trsh
  et un tupload. Essayez :

    tupload ./term /usr/tmp

  ceci devrait placer une copie de l'executable term dans le  repertoire
  '/usr/tmp'.   La  sortie  du  term  local  apparait  dans  le  fichier
  'local.log', celle du term distant  dans  'remote.log'.   Vous  pouvez
  lancer  term avec l'option -d255 de facon a ce que des informations de
  deboguage soient incluses dans ces fichiers ou pour vous permettre  de
  deboguer votre 'termrc'.

  NOTE  : lancez test par la commande ./test de facon a ne pas lancer le
  test du systeme.

  44..77..  tteerrmm et les programmes de communication

  Avant de pouvoir utiliser term, il faut avoir etabli une connexion par
  modem,  par  l'intermediaire  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 a une machine distante.

  Lorsque vous avez etabli 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
  necessaire pour eviter que le programme de communication subtilise des
  caracteres a linecheck ou term.
  Comment s'assurer que la connexion reste active et que le programme de
  communication  ne s'approprie pas certains caracteres est explique ci-
  apres, pour quelques exemples.

  44..77..11..  kkeerrmmiitt

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

  44..77..22..  sseeyyoonn

  Un moyen facile de lancer linecheck ou term a partir de seyon  est  de
  les   placer   dans   le   menu  _T_r_a_n_s_f_e_r  (controle  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  selectionner le menu _T_r_a_n_s_f_e_r, choisir l'option
  _l_i_n_e_c_h_e_c_k ou _t_e_r_m, puis _G_o.

  Bien entendu, il est toujours  possible  d'utiliser  le  bouton  _s_h_e_l_l
  _c_o_m_m_a_n_d  et  de  taper 'linecheck' ou 'term' dans la boite de dialogue
  _p_o_p_-_u_p. Ceci redirige automatiquement l'entree et la sortie.

  44..88..  RReennddoonnss llaa lliiaaiissoonn ttrraannssppaarreennttee

  Supposons que  vous  savez  etablir  une  connexion  modem  entre  vos
  machines  locale et distante. De facon typique, vous numerotez grace a
  un serveur de terminal quelconque pour vous  connecter  a  la  machine
  distante.  Vous  utilisez  egalement  quelque  logiciel d'emulation 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 problemes avec votre modem ou
  avec  votre  logiciel  de  terminal, reportez-vous au Serial-HOWTO, il
  devrait vous permettre de les regler.

  Une fois votre liaison etablie, il faut la rendre  aussi  transparente
  que possible. Etudiez les commandes de votre serveur de terminal (_h_e_l_p
  ou _? sont en general un bon debut).  Choisissez  les  options  8  bits
  chaque fois que cela est possible. Il est possible que cela influe sur
  la facon de vous connecter a un systeme. Si le serveur utilise rlogin,
  par  exemple,  il  faudra  peut-etre  utiliser  l'option -8 afin de le
  rendre  transparent.  Faites  particulierement  attention  a  ne   pas
  utiliser  le  controle  de flux XON/XOFF. Essayez plutot d'utiliser le
  controle de flux RTS/CTS (_h_a_r_d_w_a_r_e). L'etude de  la  documentation  de
  votre modem vous apprendra certainement comment le configurer pour des
  communications RTS/CTS 8 bits.

  44..99..  LLaannccoonnss lliinneecchheecckk

  AATTTTEENNTTIIOONN :: dans certains documents, les  options  de  linecheck  sont
  donnees  dans  un  ordre  incorrect.   L'auteur les a controlees et en
  donne ici l'ordre correct.

  NNOOTTEE :: a partir de la version  2.3.0,  il  n'est  plus  necessaire  de
  fournir  a linecheck le nom d'un fichier de _l_o_g. La sortie sera ecrite
  dans le fichier 'linecheck.log', dans le repertoire d'ou  linecheck  a
  ete lance.

  linecheck   est   un   programme  fourni  avec  term  qui  verifie  la
  transparence d'une liaison et fournit des informations utiles pour une
  configuration  correcte  de  term.  linecheck  envoie  chacun  des 256
  caracteres 8 bits possibles sur la liaison et verifie que tous ont ete
  transmis  correctement.  Il  faut  indiquer a term quels caracteres ne
  peuvent pas etre transmis sur la liaison, ce que linecheck  permet  de
  reperer. linecheck doit etre utilise une fois que la liaison modem est
  aussi transparente que possible. Pour lancer linecheck, procedez comme
  suit :

  1. Sur le systeme distant, lancez :

       linecheck linecheck.log

  2. Revenez  a  votre  systeme  local et interrompez votre programme de
     communication (voir au-dessus).

  3. Sur le systeme local, lancez :

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

  Lorsque  linecheck   est   termine,   les   fichiers   'linecheck.log'
  contiennent  un  ensemble  de  nombres,  places  a la fin. Ce sont les
  caracteres qui doivent etre _e_v_i_t_e_s dans le exemple, le 'linecheck.log'
  local  ne disait rien et le 'linecheck.log' distant indiquait d'_e_v_i_t_e_r
  29 et 157. C'est pourquoi son 'termrc'  local  _e_v_i_t_e  ces  caracteres,
  alors  que  son  'termrc'  distant n'en _e_v_i_t_e aucun. Si l'on _e_v_i_t_e des
  caracteres d'un cote, il faut les _i_g_n_o_r_e_r de l'autre. C'est  pourquoi,
  l'auteur doit _i_g_n_o_r_e_r 29 et 157 sur son systeme distant.

  Si linecheck se plante, essayez :

    linecheck linecheck.log 17 19

  sur le systeme distant et :

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

  sur  le  systeme  local.  Ceci  a  pour  effet  de  ne pas envoyer les
  caracteres de controle de flux XON/XOFF qui plantent  votre  ligne  si
  vous  utilisez  un  controle  de  flux  logiciel.  Si  cela  resoud le
  probleme, _e_v_i_t_e_z_/_i_g_n_o_r_e_z 17 et 19 dans les  deux  'termrc'.  Si  votre
  serveur  de  terminal  est sensible a d'autres caracteres, procedez de
  meme.  Il  est  possible  d'identifier  de  tels  caracteres   lorsque
  linecheck  se  plante : tuez-le puis examinez les fichiers de _l_o_g. Les
  derniers caracteres  transmsis  sont  de  bons  coupables  potentiels.
  Essayez a nouveau en _e_v_i_t_a_n_t ces caracteres.

  En resume, le 'termrc' local de l'auteur se presente ainsi :

    escape 29
    escape 157

  et son 'termrc' distant ainsi :

    ignore 29
    ignore 157

  puisque le 'linecheck.log' _d_i_s_t_a_n_t indiquait _d_'_e_v_i_t_e_r 29 et 157.

  44..1100..  EEssssaayyoonnss ddee llaanncceerr tteerrmm

  Connectez-vous   au   systeme  distant  et  rendez  la  liaison  aussi
  transparente que possible (si ca n'est deja fait). Lancez-y term,  par
  exemple de la facon suivante :

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

  Examinons  une  a une les options de cette ligne de commande (que nous
  aurions tout aussi bien pu inclure dans le

  exec signifie que le programme  (term,  en  l'occurence)  remplace  le
  _s_h_e_l_l  a  partir duquel il est lance. On utilise exec lorsque l'on n'a
  plus l'intention de se servir du _s_h_e_l_l concerne; on economise ainsi la
  memoire.  Cependant,  lors  de la mise au point de la liaison, il peut
  etre prudent de ne pas faire un exec, de facon a pouvoir tuer le  term
  distant.

  L'option  -r doit etre utilisee a une et une seule extremite. Celle-ci
  sera alors vue par term comme l'extremite distante de la liaison  (qui
  peut  donc  etre  votre  machine  locale).  Si  cette option n'est pas
  utilisee d'un cote ou de l'autre, term se plantera spontanement.

  -l $HOME/tlog permet de consigner toutes les erreurs dans  le  fichier
  'tlog',  place dans votre repertoire  utilisateur. Celui-ci etant tres
  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 _b_p_s, 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  possedez  une
  machine  "lente"  dotee  de  ports  series disposant d'UART 16450, des
  valeurs de _b_p_s trop importantes risquent de provoquer  des  pertes  de
  donnees  en  surchargeant le port serie.  term est capable de corriger
  ceci, mais si les fichiers de  _l_o_g  comportent  de  nombreux  messages
  d'erreur  (ou  si  vous  recevez de nombreux _w_a_r_n_i_n_g_s des noyaux linux
  0.99pl15 ou plus recents), il  serait  plus  sage  de  diminuer  cette
  valeur.

  -c  off  : cette option desactive la compression. Lorsque l'on dispose
  d'un modem qui assure deja la compression des donnees,  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 fenetre est 10 et celle du _t_i_m_e_o_u_t  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 preferable qu'il ne tourne  pas
  en  meme temps que term, car il risque d'entrer en conflit avec lui au
  niveau du port serie. Si vous parvenez a 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 a term ou se trouve le modem.  C'est  pourquoi  a  la
  fois l'entree et la sortie standards sont redirigees vers '/dev/modem'
  (c'est le role de < et >). Enfin, la commande est lancee  en  arriere-
  plan,  de  facon a pouvoir continuer a 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' places a
  chaque   extremite.  Contiennent-ils  des  _t_i_m_e_o_u_t_s  ou  des  messages
  d'erreur ? Si c'est le  cas,  quelque  chose  ne  va  pas  dans  votre
  configuration.  Essayez a nouveau (apres avoir fini de lire ceci :-)).
  Notez qu'il est normal que la connexion ne  semble  pas  rapide  comme
  l'eclair,  surtout  si  vous  utilisez  la compression. Les meilleures
  performances sont obtenues lors d'echanges tels que  le  transfert  de
  fichiers.

  44..1111..  MMeettttrree ffiinn aa uunnee ccoonnnneexxiioonn tteerrmm

  Il  est probable qu'apres avoir effectue un certain nombre de travaux,
  vous souhaiterez mettre fin a votre connexion  term.  Ceci  peut  etre
  fait de quatre facons :

  1. Tuer les programmes term a chaque extremite de la liaison. C'est la
     methode la moins recommandee.

  2. Une methode un peu plus elegante est de taper la commande  suivante
     sur la machine locale :

       echo '00000' > /dev/modem

  Ceci devrait mettre fin a votre connexion term proprement. Cette meth-
  ode fonctionne avec toutes les versions de term. Assurez vous  que  la
  suite de zeros en contient bien au moins _c_i_n_q.

  3. Dans  le  'termrc'  des versions de term 2.0.0 et ulterieures, vous
     pouvez ajouter une entree terminate '<une chaine  de  caracteres>'.
     Ceci   indique  la  chaine  qu'utilisera  term  pour  s'interrompre
     ('00000' par  defaut).  Elle  doit  etre  longue  d'au  moins  cinq
     caracteres afin d'eviter toute terminaison intempestive.

  4. A  partir de la version 1.14, un programme tshutdown est fourni (en
     fait, il s'agit d'un _p_a_t_c_h pour la version  1.14  et  est  dans  le
     paquetage  pour  les  versions  plus recentes). tshutdown permet de
     mettre fin proprement a votre connexion term.

  44..1122..  EEffffaacceerr tteerrmm

  Bien, vous l'aurez voulu ! Puisque certains d'entre  vous  veulent  se
  debarasser de term, nous indiquons ici les etapes a suivre.

  +o  Effacez les repertoires et leur contenu. Suivant la facon dont vous
     avez installe term, un ou plusieurs des  repertoires  suivants  est
     present sur votre machine :

       $HOME/.term/termrc
       $HOME/.term/termrc.<server>
       $HOME/term/termrc
       $HOME/term/termrc.<server>
       /usr/local/lib/term/termrc
       /usr/local/lib/term/termrc.<server>
       /etc/termrc
       /etc/termrc.<server>

  Vous  pouvez  effacer  simultanement  ces repertoires et leur contenu.
  Pour ce faire, utilisez la commande rm -rf.

  +o  Dans  certains  cas,  vous  avez  cree  un  groupe  _t_e_r_m  lors   de
     l'installation. Verifiez le fichier

  +o  Il  faut  maintenant  effacer  le paquetage term ainsi que tous les
     executables modifies pour term. C'est la partie la  plus  delicate.
     Les executables du paquetage de term doivent normalement se trouver
     dans le repertoire '/usr/local/bin' ou le repertoire '$HOME/bin'.

     En ce qui concerne les executables que vous avez modifies vous-meme
     pour  une  utilisation  avec  term,  c'est  a vous de voir, nous ne
     pouvons pas vous aider. Pensez egalement a effacer les fichiers  de
     configuration ou autres qui correspondent a ces programmes.

  +o  Pour effacer les bibliotheques, lancez les commandes suivantes :

       cd /
       find . -name 'libtermnet*' -exec /bin/rm {}

  Ceci localisera et effacera les bibliotheques.

  +o  Pour effacer le fichier 'termnet.h', le plus simple est de taper :

       cd /
       find . -name termnet.h -exec /bin/rm {}

  +o  Si vous avez installe les pages de manuel de term, elles doivent se
     trouver dans l'un des repertoires suivants :

       /usr/local/man/man1
       /usr/local/man/cat1
       $HOME/man/man1
       $HOME/man/cat1

  Il vous faut au minimum controler la  presence  des  pages  de  manuel
  suivantes  :  term,  term_clients,  term_setup,  tdownload, linecheck,
  trdate, trdated, termrc,  termtest,  tmon,  tredir,  trsh,  tshutdown,
  tudpredir, tupload, txconn et finalement tiptest.

  +o  Effacez  le  repertoire  utilisateur  temporaire et son contenu. Il
     s'agit du repertoire

  Une fois ce petit exercice termine, vous pouvez etre quasiment certain
  d'avoir efface tout ce qui concerne term.

  44..1133..  OOppttiimmiissaattiioonn ddee llaa lliiaaiissoonn

  Une  fois  que  vous avez reussi a 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
  fenetre tout en telechargeant un fichier dans une autre. Essayez  avec
  de  gros  fichiers  de  texte  et  avec  des  fichiers compresses. Les
  fichiers textes devraient etre transferes environ deux fois plus  vite
  que  les  fichiers compresses. Les parametres sur lesquels vous pouvez
  jouer sont les _b_p_s (-- (N.D.T.) Le document original  parle  de  _b_a_u_d,
  mais  il s'agit d'une erreur commune :-)--) (-s), la compression (-c),
  la taille de fenetre (-w), les _t_i_m_e_o_u_t_s (-t) et le recyclage (-A).

  Attention au parametre de recyclage. Avec term version 1.19,  l'auteur
  a  obtenu  une  perte  de  80% a 90% lorsqu'il a utilise ce parametre.
  Peut-etre 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 serie.  term  evitera  d'envoyer  des  caracteres  plus
  rapidement.  Par  defaut, utilisez la vitesse des ports serie de votre
  ordinateur, mais soyez conscient que cela risque d'etre trop rapide si
  votre  modem  fonctionne  a  une  vitesse  plus  faible  sur  la ligne
  telephonique. Cette option est prevue pour les  systemes  qui  placent
  les  donnees  dans  un tampon. Lors de l'installation et de la mise au
  point, il est conseille d'utiliser des valeurs faibles plutot que  des
  valeurs trop importantes. Pour des liaisons a haute vitesse (> 38400),
  il peut etre avantageux de ne pas imposer de limite  en  utilisant  la
  valeur 'off'. term ne s'appuiera alors que sur le noyau pour effectuer
  le controle de flux.

  Compression : a utiliser si votre modem  n'effectue  pas  lui-meme  la
  compression.  S'il  la fournit, desactivez cette option afin de ne pas
  compresser deux fois les memes donnees, ce qui _a_u_g_m_e_n_t_e a coup sur  le
  volume  de  donnees  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.

  Fenetre : c'est le nombre de  paquets  de  donnees  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  etre  avantageux
  d'augmenter  ce  parametre. Pour les liaisons plus lentes, cela risque
  de surcharger l'extremite distante.

  Timeout : il s'agit de  la  duree  pendant  laquelle  term  attend  un
  acquittement. Si vous avez augmente la taille de la fenetre et obtenez
  de nombreux _t_i_m_e_o_u_t_s dans vos fichiers de _l_o_g, essayez d'augmenter  ce
  parametre.

  Pour  un  modem 14400/V42.bis, l'auteur utilise -c off -w 10 -t 150 et
  obtient environ 1700 _c_p_s pour les fichiers compresses et 3500 _c_p_s pour
  les fichiers texte, les transfert etant effectues avec tupload.

  44..1144..  PPrroobblleemmeess ccllaassssiiqquueess

  Dans cette partie sont exposees quelques demarches classiques a suivre
  lorsque l'utilisation de term ou de l'un  de  ses  clients  vous  pose
  probleme.

  +o  Avez-vous  bien  nettoye  l'arborescence  de term ? L'apparition de
     nouvelles versions de term est allee de  pair  avec  de  nombreuses
     modifications  de  l'arborescence  '/usr/local/lib/term'.  Si  vous
     n'etes pas conscient de cela, vous risquez de  voir  apparaitre  de
     nombreux  messages  d'erreur.  Le  mieux  dans ce cas est d'effacer
     l'arborescence   '/usr/local/lib/term'   (en   prenant   soin    de
     sauvegarder  votre  'termrc') et d'installer ensuite votre nouvelle
     version de term. Ainsi, vous  devriez  eviter  de  vous  creer  des
     problemes avec une arborescence inadequate.

  +o  Avez-vous  efface  les vieilles _s_o_c_k_e_t_s ? Lors de la mise a jour de
     term, effacez toutes les _s_o_c_k_e_t_s (appelees  'socket=')  creees  par
     term.  Ne  pas le faire vous expose a d'etranges problemes. Afin de
     determiner a l'ecoute de quelle _s_o_c_k_e_t se trouve term, vous  pouvez
     utiliser le programme netstat.

  +o  term  ne  se  compile  pas corectement sous SunOS 4.1.3 ? C'est que
     vous avez probablement configure term avec ./configure --user. Lors
     de  la compilation, vous voyez apparaitre une erreur d'assembleur a
     propos d'une option '-k'. La cause de cette erreur est inconnue. La
     solution  est  de configurer term avec des bibliotheques statiques.
     Il vous faut donc utiliser ./configure --user --static et continuer
     la  compilation  de  facon  normale. Tout devrait alors se derouler
     normalement.

  +o  termtest vous donne une erreur : 'term: failed to connect  to  term
     socket  '/root/.term/sockettest''  ?  Lorsqu'il est lance, termtest
     s'attend a trouver l'executable term dans le repertoire ou  il  est
     lui-meme.  Lorsque  vous  faites  un  make  install avant de lancer
     termtest, l'executable term est deplace dans  '/usr/local/bin'  (ou
     dans un autre repertoire d'executables).

     La  solution  consiste  a  creer  un lien vers l'executable dans le
     repertoire source :

       ln -s /usr/local/bin/term /usr/src/term-<numero_version>/term

  +o  Lancez-vous bien le bon executable ? term a ete mis  a  jour  a  de
     nombreuses   reprises  et  bon  nombre  de  systemes  en  possedent
     differentes versions. Assurez-vous  d'utiliser  la  bonne  version.
     Notez  que  cela  s'applique  egalement  a  linecheck.  Vous pouvez
     utiliser la commande type -a de bash ou bien  la  commande  whereis
     pour  determiner  quel  est  le  programme  qui  est  execute.  Les
     versions de term posterieures a la 1.11 affichent normalement  leur
     numero  de  version  au demarrage (bien que la 1.14 pretende n'etre
     que la 1.12. Et oui !).

  +o  Avez-vous mis le bon 'termrc' au bon endroit ? Suivant les versions
     de term que vous utilisez et la facon dont vous l'avez installe (en
     tant que _r_o_o_t ou  en  tant  qu'utilisateur),  ce  fichier  peut  se
     trouver dans l'un des repertoires suivants :

       $HOME/.term/termrc
       $HOME/.term/termrc.<server>
       $HOME/term/termrc
       $HOME/term/termrc.<server>
       /usr/local/lib/term/termrc
       /usr/local/lib/term/termrc.<server>
       /etc/termrc
       /etc/termrc.<server>

  Certains  systemes  sont  fournis  avec  des  fichiers  'termrc'  pre-
  installes. Assurez-vous de les  avoir  detruit  avant  de  proceder  a
  l'installation.  Si vous faites l'installation en tant que _r_o_o_t, veri-
  fiez '/.term'. Lors de son execution, term cree des fichiers (qui sont
  en  fait des _s_o_c_k_e_t_s). C'est pourquoi il possede son propre repertoire
  '$HOME/.term' dans lequel est place le fichier 'termrc'  (notez  qu'il
  n'y a PAS de . devant 'termrc' !).

  +o  term  trouve-t-il  son  fichier 'termrc' ? Lorsque vous lancez term
     des deux cotes, vous devriez voir des messages tels que :

       term version: 2.2.9
       Reading file:  /usr/local/lib/term/termrc
       Using shared mode.

  Si la seconde ligne n'apparait pas, c'est que term ne  trouve  pas  le
  fichier  'termrc'  et  vous pouvez etre sur que quelque chose ne s'est
  pas  deroule  normalement  lors  de  l'installation  (sauf   si   vous
  n'utilisez  pas de fichier 'termrc' et entrez tous les parametres dans
  la ligne de commande :-)).  Verifier la localisation et les droits  du
  fichier 'termrc' sur le systeme ou term ne le trouve pas.

  +o  term  ou votre repertoire '.term' est-il monte par NFS ? Si tel est
     le cas, il faut utiliser  l'option  -Dterm_NFS_DIR  dans  la  ligne
     CFLAGS du 'Makefile'. Malheureusement, en ce qui concerne l'auteur,
     ce parametre provoque une erreur de compilation lorsque  term  1.19
     est compile sur une machine sous SunOS 4.*.

  +o  Tous  les fichiers et repertoires ont-ils les bons proprietaires et
     des droits adequats ? Cela ne devrait pas etre un probleme dans  la
     mesure  ou  les proprietaires et les droits sont determines lors de
     l'installation. Neanmoins, soyez  conscient  de  ce  fait  si  vous
     effectuez  le  portage pour term de vos propres applications. Si de
     plus vous modifier le mode d'execution  de  term  (c'est-a-dire  du
     mode  _p_r_i_v_e  vers  le mode _p_a_r_t_a_g_e), il faut changer en consequence
     les proprietaires et les droits des fichiers.
  +o  Si  vous  obtenez  une  erreur  gethostbyname:   <hostname>:   Non-
     authoritative  `host  not  found',  ou  server failed, il vous faut
     verifier les points suivants :

     1. Le fichier  '/etc/hosts'  est-il  configure  correctement  ?  Si
        <hostname>  n'est  pas  le  nom  de  votre machine (les vieilles
        distributions _S_L_S et les distributions _S_l_a_c_k_w_a_r_e  sont  fournies
        avec telle que :

          # Local Hosts Format:
          #  IP_NUMBER            HOSTNAME        ALIASES
          #
          # Here is the name of your host, first, followed by any aliases
          127.0.0.1       localhost       linuxpc.domain  linuxpc

     2. Vos  fichiers '/etc/rc*' et '/etc/resolv.conf' sont-ils lisibles
        (chmod ugo+r) ?

     3. Verifez enfin que vous avez installe l'interface TCP/IP loopback
        sur votre machine.

  +o  Les fichiers de _l_o_g de term sont remplis de messages 'timed out' de
     tous types ? Cela signifie que votre connexion n'est pas optimisee.
     Quelques  messages  de ce type de temps en temps ne posent guere de
     probleme. Ils sont sans doute dus a des facteurs temporels influant
     sur  la  qualite de la connexion physique entre vos machines locale
     et distante.

     Si, en revanche, le nombre de ces messages est  tres  eleve,  votre
     connexion sera fortement ralentie. Il vous faut alors jouer sur les
     parametres presentes dans la partie '_O_p_t_i_m_i_s_a_t_i_o_n _d_e  _l_a  _l_i_a_i_s_o_n'.
     C'est   malheureusement   la   partie   la  plus  experimentale  de
     l'installation. Aucune regle definitive concernant les valeurs  des
     parametres  ne  peut  etre  donnee,  tant les facteurs susceptibles
     d'influencer la qualite de la connexion sont nombreux. Ces facteurs
     varient  d'une  connexion  a  l'autre et meme d'un moment a l'autre
     pour une meme connexion.

  +o  Un ftp normal avec des  ports  rediriges  ne  fonctionne  pas  chez
     vous  ?  C'est  un probleme connu : la redirection des ports requis
     par ftp (les ports 20 et 21) ne permet pas a ftp de fonctionner. La
     seule  solution  est  de  recuperer un ftp modifie pour fonctionner
     avec term. Malheureusement, meme de telles versions de ftp semblent
     ne pas fonctionner.

  55..  LLeess cclliieennttss tteerrmm

  Un  certain  nombre d'utilitaires sont fournis dans le paquetage term,
  en particulier : trsh, tmon, tupload,  tredir,  txconn  et,  dans  les
  versions  les  plus  recentes,  trdate  et trdated. De plus, depuis la
  version 2.1.0, tdownload s'est ajoute  a  cette  liste.  Cette  partie
  traite  de  trsh,  tmon,  tupload,  tdownload,  trdate et trdated. Les
  autres clients sont decrits dans des parties qui  leur  sont  propres.
  Aucun  client term ne peut fonctionner tant que vous n'avez pas mis en
  route une liaison term.

  tmon est un utilitaire  simple  qui  vous  permet  de  surveiller  les
  performances   de   votre  liaison.  Il  imprime  un  histogramme  des
  caracteres envoyes et recus. On le lance par la simple commande  tmon.
  Attention,  les  versions 1.11 et ulterieures comportent une bogue qui
  tronque certaines donnees.

  trsh est similaire a rsh. Sans argument, il lance un _s_h_e_l_l  interactif
  sur  le  systeme  distant (autrement dit, il vous y loge). trsh est un
  des moyens de base pour acceder a l'extremite distante de  la  liaison
  term.  Si  un  argument est passe, celui-ci est execute comme commande
  sur le systeme distant. Par exemple :

    trsh ls

  renvoie la liste des fichiers de votre repertoire utilisateur  ($HOME)
  sur le systeme distant.

  tupload  transfere  un fichier dont le nom est passe en argument d'une
  extremite a l'autre de la liaison. Par defaut, ce  fichier  est  place
  dans  le  repertoire  d'ou vous avez lance term (de l'autre cote de la
  liaison). Pour placer les fichiers dans un  autre  repertoire,  donnez
  son  nom  comme second argument. Par exemple, si vous souhaitez copier
  le fichier 'term114.tar.gz' dans le repertoire

    tupload term114.tar.gz /usr/tmp

  Lorsque vous utilisez tupload,  vous  avez  a  votre  disposition  des
  _j_o_k_e_r_s comme, par exemple, dans la commande 'tupload a.*'. Le _s_h_e_l_l se
  charge d'effectuer les correspondances et  la  commande  effectivement
  executee est 'tupload a.1 a.2 ......'.

  tdownload  permet  le  transfert d'un fichier dont le nom est passe en
  argument de la machine distante vers la machine  locale.  Par  defaut,
  les  fichiers  seront places dans le repertoire duquel vous avez lance
  term sur la machine locale. Pour placer les  fichiers  dans  un  autre
  repertoire,  passez  son  nom  comme  second argument a tdownload. Par
  exemple, si vous souhaitez copier  le  fichier  'term114.tar.gz'  dans
  '/usr/tmp' sur la machine locale, tapez :

    tdownload term114.tar.gz /usr/tmp

  Il  n'est  PAS  possible  d'utiliser les _j_o_k_e_r_s avec tdownload pour la
  simple raison que le repertoire distant n'est pas accessible au  _s_h_e_l_l
  et  que  toute expansion de _j_o_k_e_r_s se refere au repertoire courant sur
  la machine locale (ou est execute le _s_h_e_l_l).

  trdate est un utilitaire qui lit l'heure sur la machine distante et la
  modifie  en consequence sur la machine locale. Il doit etre execute en
  tant que _r_o_o_t.

  trdated est la version demon  de  trdate.  Lorsqu'il  est  lance  dans
  'rc.local',  il est execute comme un demon et met l'heure a jour toues
  les  5  minutes  (par  defaut).  trdated  fonctionne  meme  si  aucune
  connexion term n'est active; il commence a modifier l'heure des que la
  connexion est effectivement etablie.

  66..  XX eett tteerrmm

  term permet a plusieurs utilisateurs d'ouvrir des fenetres  _X  _w_i_n_d_o_w_s
  sur la machine locale, a partir de clients s'executant sur une machine
  du reseau. C'est le role de txconn,  qui  est  lance  sur  le  systeme
  distant  par la simple commande txconn. Il se place en arriere-plan et
  renvoie un nombre sur la sortie standard. Ce nombre est le  numero  de
  _d_i_s_p_l_a_y  que doivent utiliser les clients pour acceder au serveur X de
  la machine locale. Voici un exemple qui devrait clarifier les  choses.
  Nous  sommes connectes via trsh a l'hote term distant, nomme toto. Sur
  toto, nous lancons les commandes suivantes :

  toto$ txconn
  Xconn bound to screen 10
  :10
  toto$

  Desormais, sur chaque hote dont nous voulons qu'il execute un client X
  et envoie l'affichage sur la machine locale, il suffit de faire :

    setenv DISPLAY toto:10

  (en  bash utiliser export DISPLAY=toto:10). Dans certains cas, il sera
  de plus necessaire de faire un :

    xhost + toto

  ou meme un :

    xhost +

  sur la machine locale.

  Maintenant, a chaque fois que nous demarrons un client, il tente de se
  connecter  au  _d_i_s_p_l_a_y  10  de  la  machine  toto.  Comme txconn est a
  l'ecoute de ce _d_i_s_p_l_a_y et retransmet tous les paquets du  protocole  X
  vers le serveur X de la machine locale, via term, la fenetre s'ouvrira
  sur la machine locale.

  Il est egalement possible de faire le contraire, a savoir de lancer un
  client  sur  la machine locale et d'envoyer l'affichage sur la machine
  distante. Nous ne  detaillerons  cependant  cette  procedure  qu'apres
  avoir presente tredir.

  Le  protocole  X  n'est  pas particulierement efficace et gaspille une
  grande largeur de bande. C'est rarement un probleme dans le  cas  d'un
  reseau  _e_t_h_e_r_n_e_t,  mais  cela  devient desastreux pour une liaison par
  modem. Il parait que X11R6 met en place une version a  faible  largeur
  de  bande  du  protocole,  LBX. Si cependant vous utilisez X11R5, vous
  pouvez avoir recours a un utilitaire  appele  sxpc  qui  compresse  le
  protocole   X   et  ameliore  ainsi  les  temps  de  reponse  lors  de
  l'utilisation de  liaisons  series.  Le  paquetage  sxpc  contient  un
  article  sur  son  fonctionnement  avec  term  et en est d'autant plus
  recommande.

  77..  ttrreeddiirr

  tredir est l'un des utilitaires les plus puissants parmi ceux  fournis
  avec term. Il permet d'utiliser avec term les plus importants services
  reseau. Avant d'en expliquer l'usage,  il  est  necessaire  de  donner
  quelques  bases  sur le fonctionnement de ces services. Nous les avons
  deja evoques, mais sans expliquer precisement en quoi ils  consistent.
  Comme leur nom l'indique, ce sont des services qui sont fournis par le
  reseau. Des exemples de tels services sont : telnet qui permet  de  se
  _l_o_g_e_r  sur une machine a partir d'une autre, le protocole de transfert
  de fichiers ftp qui permet l'envoi de fichiers entre machines et  smtp
  (_S_i_m_p_l_e  _M_a_i_l  _T_r_a_n_s_f_e_r  _P_r_o_t_o_c_o_l) qui est sollicite a chaque fois que
  vous envoyez du  courrier  electronique.  Chaque  service  reseau  est
  associe  a  un  numero de port. L'affectation des numeros de ports aux
  differents services est donnee par le fichier '/etc/services' qui doit
  etre identique sur toutes les machines reliees a un meme reseau.

  Comment  ces  services sont-ils appeles ? Sur chaque machine du reseau
  tourne un demon nomme inetd qui  est  a  l'ecoute  des  tentatives  de
  connexion  sur  les  ports  reseau. Ces tentatives proviennent soit du
  reseau, soit de la machine locale. On obtient un service reseau  donne
  en  se connectant au port inetd adequat. Lorsqu'une requete de service
  reseau est envoyee, inetd sait exactement  quel  service  est  demande
  grace au numero du port sollicite. S'il est configure pour, il fournit
  alors  le  service  adapte  a  la  connexion  qui   le   demande.   La
  configuration  d'inetd est donnee par le fichier '/etc/inetd.conf' qui
  contient la liste des  services  fournis.  Pour  plus  d'informations,
  reportez-vous aux pages de manuel d'inetd et inetd.conf.

  Il est possible de communiquer directement avec les services reseau en
  utilisant telnet (et non termtelnet ).  Par  exemple,  pour  dialoguer
  avec  le  demon  sendmail (smtp) de la machine nom_de_la_machine, vous
  pouvez  utiliser  telnet  nom_de_la_machine  smtp   ou   bien   telnet
  nom_de_la_machine  25 (puisque 25 est le numero de port affecte a smtp
  dans '/etc/services'). Vous devriez alors recevoir un  gentil  message
  de  bienvenue  de  la  part du demon de la machine distante. C'est une
  astuce tres utile pour resoudre les problemes reseau et controler  les
  ports rediriges par tredir (voir ci-apres).

  tredir  fonctionne  de  facon  tres similaire a inetd. Il s'execute en
  arriere-plan comme un demon et est a l'ecoute  des  differents  ports,
  dans  l'attente  d'une  requete.  Lors  qu'une  demande de service est
  faite, plutot que de fournir ce service comme le  fait  inetd,  tredir
  retransmet  la  requete  au  term  distant  qui transmet la requete au
  reseau et renvoie le resultat a la machine locale. tredir peut envoyer
  la  requete  a  n'importe quelle machine du reseau, mais la dirige par
  defaut vers la machine placee a l'autre extremite de la liaison  term.
  tredir   REDIRige   les  services  reseau  TCP  (_T_r_a_n_s_i_m_s_s_i_o_n  _C_o_n_t_r_o_l
  _P_r_o_t_o_c_o_l).

  La syntaxe classique de tredir est la suivante :

    tredir [cet_ordinateur_ci:]port [cet_ordinateur_la:] port

  Un exemple devrait clarifier tout ceci. Redirigeons un port local  sur
  le port telnet de la machine distante. Pour ce faire, nous utilisons :

    tredir 2023 23

  Maintenant, quiconque se connecte au port 2023 de  la  machine  locale
  sera  redirige  vers le port 23 (telnet) de la machine distante. Voici
  un exemple de session ou la machine locale est ma_machine.modem.maison
  et la machine distante se nomme netsun.

  $ tredir 2023 23
  Redirecting 2023 to 23
  $ telnet localhost 2023
  Trying 127.0.0.1...
  Connected to ma_machine.modem.maison
  Escape character is '^]'.

  SunOS UNIX (netsun)
  login:

  Cet  exemple est particulierement utile. Si nous avions fait le tredir
  sur netsun, nous pourrions  alors  faire  un  telnet  vers  ma_machine
  depuis  le  reseau,  simplement en nous connectant au port redirige de
  netsun, _i_._e_. telnet netsun 2023.

  Le principe general de l'utilisation de tredir  est  de  rediriger  le
  service  souhaite  vers  une machine du reseau. L'exemple suivant nous
  permet de lire les _n_e_w_s sur la machine locale a partir d'un serveur de
  _n_e_w_s  du  reseau, en utilisant la liaison term. Les _n_e_w_s sont fournies
  par le service nntp dont le numero de port est le 119. Tout lecteur de
  _n_e_w_s  digne  de  ce  nom  vous permet de specifier le numero de port a
  utiliser,  grace  a  un  fichier  de  configuration  ou  une  variable
  d'environnement.  Donnons  a ce port local le numero 2119 et supposons
  maintenant que notre serveur de _n_e_w_s est news.domain.org. Nous  allons
  rediriger  le port 2119 vers le port 119 de news.domain.org, puis nous
  indiquerons a notre lecteur de _n_e_w_s que le serveur nntp se trouve  sur
  le  port  2119  de  la  machine locale. Etant donne que cela depend du
  lecteur de _n_e_w_s utilise, nous allons  juste  tester  la  liaison  avec
  telnet plutot que de vraiment lancer un tel programme.

  $ tredir 2119 news.domain.org:119
  Redirecting 2199 to news.domain.org:119
  $ telnet localhost 2119
  Trying 127.0.0.1...
  Connected to ma_machine.modem.maison.
  Escape character is '^]'.
  200 news.domain.org InterNetNews NNRP Server INN 1.4 07-Dec-41 ready
  (posting ok).

  Si  vous  parvenez  jusqu'ici, tout ce qu'il vous reste a faire est de
  configurer votre lecteur de _n_e_w_s pour etre capable de  lire  les  _n_e_w_s
  via  term. N.B. : si vous lisez les _n_e_w_s de cette facon, soyez certain
  que dans tous vos envois,  vous  specifiez  dans  la  ligne  d'en-tete
  Reply-To: une adresse _e_m_a_i_l du reseau a laquelle on peut vous joindre,
  sinon les gens qui voudront vous contacter enverront leur  courrier  a
  l'adresse  (fantaisiste)  constituee des donnees quelconques que votre
  lecteur de _n_e_w_s placera dans la ligne d'en-tete From:.

  77..11..  ttrreeddiirr : Attention, chien mechant !

  Le lecteur astucieux, apres avoir lu le dernier exemple, se  demandera
  certainement  pourquoi  le  port 2119 a ete redirige vers le port 119.
  Etant donne que les programmes de lecture de _n_e_w_s utilisent par defaut
  le  port  119, pourquoi ne pas faire un tredir 119 news.domain.org:119
  et eviter la configuration du lecteur ? La reponse est  que  tous  les
  ports  de  numero inferieur a 1024 sont des ports _r_e_s_e_r_v_e_s, a l'ecoute
  desquels seuls un super-utilisateur peut se mettre. Si vous prenez  le
  risque  de  _s_u_i_d_e_r  tredir ou si vous le lancez en tant que _r_o_o_t, vous
  pourrez alors rediriger les ports reserves et eviter  de  vous  casser
  les pieds avec les services restants.

  Un autre inconvenient de l'utilisation des ports reserves est qu'inetd
  les ecoute frequemment et qu'un port ne peut etre ecoute  que  par  un
  seul  programme  a  la fois. Afin d'utiliser un tel port, il vous faut
  modifier le fichier inetd.conf  de  facon  qu'inetd  ne  soit  plus  a
  l'ecoute  du  port  que  vous  souhaitez  rediriger.  Pour  ce  faire,
  commentez la ligne du service incrimine, en placant un # au  debut  de
  cette  ligne.  Le super-utilisateur doit alors envoyer un signal HUP a
  inetd pour qu'il relise son fichier de configuration.

  77..22..  QQuueellqquueess aassttuucceess ttrreeddiirr

  Dans  cette  partie,   nous   allons   presenter   quelques-unes   des
  utilisations  les  plus  courantes  de tredir. Nous avons deja indique
  comment rediriger les services nntp et  telnet  et  allons  maintenant
  passer a des exemples un peu plus compliques.

  77..22..11..  XX WWiinnddoowwss

  Dans une precedente partie, nous avons explique comment permettre a un
  client s'executant sur le reseau d'ouvrir une fenetre sur  la  machine
  locale, grace a txconn. La meme technique peut etre utilisee sur votre
  machine locale pour qu'un client envoie  son  affichage  vers  l'autre
  extremite  de  la  liaison term. Mais comment afficher un client X sur
  une machine qui n'est pas l'autre bout de  la  liaison  ?  La  reponse
  reside  dans  la  connaissance  du fait qu'X utilise un service reseau
  particulier, a l'instar des autres programmes que nous avons  evoques.
  Un  serveur  X  est  a l'ecoute de requetes reseau sur un port dont le
  numero est donne par la formule : port = 6000 + numero de display. Par
  exemple,  un serveur X gerant le _d_i_s_p_l_a_y 0 sur une machine donnee sera
  a l'ecoute du port 6000. S'il gere le _d_i_s_p_l_a_y 2, il ecoutera  le  port
  6002.  Lorsque vous positionnez votre variable d'environnement DISPLAY
  sur machine:n, vos clients X tenteront de se connecter au port 6000  +
  n de machine.

  Nous  pouvons  utiliser cette astuce pour permettre a des clients X de
  votre machine locale d'ouvrir des fenetres sur des _d_i_s_p_l_a_y_s  distants.
  Supposons  que  nous  voulons  lancer un xterm tournant sur la machine
  locale avec l'affichage sur le _d_i_s_p_l_a_y 0 de la machine  xmachine,  qui
  est quelque part sur le reseau. Premierement, choisissons un numero de
  display : 2, par exemple (n'utilisez pas  0,  c'est  celui  que  votre
  serveur  X  local  utilise).  Faisons-en  le _d_i_s_p_l_a_y 0 de xmachine. En
  termes de ports, cela signifie qu'il nous faut rediriger le port local
  6002 vers le port distant 6000. Les commandes sont les suivantes :

  $ tredir 6002 xmachine:6000
  $ setenv DISPLAY localhost:2
  $ xterm

  Ceci  devrait  ouvrir un xterm sur la machine xmachine. Notez que nous
  avons positionne DISPLAY sur localhost:2. La justification en est  que
  les clients X utilisent parfois des _s_o_c_k_e_t_s _u_n_i_x _d_o_m_a_i_n plutot que des
  _s_o_c_k_e_t_s _i_n_t_e_r_n_e_t _d_o_m_a_i_n lorsqu'ils se connectent a  un  _d_i_s_p_l_a_y  local
  (lorsque  DISPLAY  contient  :2,  par  exemple).  localhost:2  demande
  l'utilisation d'une connexion TCP.

  En ce qui concerne xmachine, la  requete  X  provient  de  la  machine
  placee  a  l'extremite distante de votre liaison term (remotemachine).
  C'est pourquoi, si vous voulez  autoriser  la  connexion,  vous  devez
  utiliser  soit  xhost  +  remotemachine  sur xmachine, soit xauth pour
  mettre a jour le fichier .Xauthority de votre machine locale  pour  le
  _d_i_s_p_l_a_y 2, en utilisant la cle de xmachine.

  Une fois encore, pour accelerer les connexions X, vous pouvez utiliser
  le  programme  sxpc  pour  etablir  la  liaison.  sxpc  contient   des
  explications  sur  la  facon  d'utiliser  tredir et de l'autoriser, en
  utilisant xauth.

  77..22..22..  tteerrmm et le mail

  Bien, vous l'aurez voulu ! Le courrier electronique  a  la  reputation
  justifiee  d'etre  l'un  des  services les plus difficiles a mettre en
  place sur les machines UNIX. Faire fonctionner term avec  le  courrier
  electronique  implique  une  bonne  comprehension des mecanismes de ce
  dernier, ce qui deborde largement le cadre de  ce  document.  Pour  en
  savoir plus sur le courrier electronique, procurez-vous un ouvrage sur
  l'administration de systemes  UNIX  et/ou  le  FAQ  (_f_r_e_q_u_e_n_t_l_y  _a_s_k_e_d
  _q_u_e_s_t_i_o_n_s) du _n_e_w_s_g_r_o_u_p comp.mail.misc, disponible par ftp anonyme sur
  rtfm.mit.edu, dans le repertoire electronique  avec  term.  Tous  deux
  sont  accessibles  par  ftp  anonyme sur sunsite.unc.edu. Il s'agit de
  term.mailerd+mail de Byron A. Jeff et de BCRMailHandlerXXX de Bill  C.
  Riemers.

  Ceci  etant  dit,  voici  une description succinte de la facon dont le
  courrier electronique fonctionne. Deux parties  sont  a  considerer  :
  l'envoi  et  la  reception  de  messages.  Commencons  par envoyer des
  messages de votre machine locale vers le reseau.

  Il y a  deux  sortes  de  programmes  de  courrier  electronique.  Les
  premiers  sont  appeles  MUA  (_m_a_i_l _u_s_e_r _a_g_e_n_t) et permettent de lire,
  composer et envoyer des messages. Parmi les MUA les  plus  connus,  on
  trouve  elm  ,  pine,  Mail  et  vm.  Les MUA ne font aucun travail de
  reseau, ils se contentent d'assembler les messages.  Le  vrai  travail
  d'envoi  des  messages est realise par le second type de programmes, a
  savoir les MTA (_m_a_i_l _t_r_a_n_s_f_e_r _a_g_e_n_t_s) qui sont appeles  par  les  MUA.
  Ils  prennent  les  messages,  decident  de  l'endroit  ou il faut les
  envoyer  (en  fonction  de  l'adresse   fournie)   et   les   envoient
  effectivement sur le reseau.

  Les deux MTA les plus courants sur les systemes Linux sont sendmail et
  smail.  L'idee de base et de faire se connecter votre MTA a  un  autre
  MTA  tournant  sur une machine du reseau, laquelle saura quoi faire de
  vos messages. Pour cela, il faut rediriger un port local sur  le  port
  smtp de la machine placee sur le reseau. Ensuite, indiquez a votre MTA
  qu'il doit envoyer a celui du reseau tout message qu'il  ne  sait  pas
  traiter.  Celui-ci  saura  alors  comment  envoyer  le message vers sa
  destination.

  Comment cela se passe-t-il avec smail ? Tout d'abord, on  redirige  un
  port vers le port smtp de la machine du reseau (mailhost) :

    tredir XXXX mailhost:25

  ou  XXXX  est  le  numero  du  port local auquel smail va se connecter
  (notez qu'il est necessaire de donner un nom a ce port dans le fichier
  '/etc/services'   pour   que  smail  le  reconnaisse).  smail  possede
  plusieurs  fichiers  de   configuration   generalement   places   dans
  '/usr/local/lib/smail'.   Ceux  qui  nous  interessent  sont 'config',
  'routers' et 'transports'. Notez bien que nous supposons que vous avez
  deja   configure  smail correctement pour traiter vos messages locaux.
  Une fois de plus, consultez la documentation si ca n'est pas le cas.

  Dans le fichier 'config', il faut placer la definition suivante :

    smart_path=localhost

  localhost etant la machine a laquelle smail se connecte  lorsqu'il  ne
  sait pas quoi faire d'un message.

  Dans le fichier 'routers', ajoutez :

    smart_host:
    driver=smarthost,
    transport=termsmtp;
    path = localhost

  Enfin, ajoutez dans 'transports' :

    termsmtp: driver=tcpsmtp,
              inet,
              return_path,
              remove_header="From",
              append_header="From: VOTRE_ADRESSE_RESEAU",
              -received,
              -max_addrs, -max_chars;
              service=VOTRE_SERVICE_SMTP,

  Dans  les  quelques  lignes  ci-dessus,  les lignes d'en-tete (_h_e_a_d_e_r)
  changent tous les en-tetes des messages qui partent de  chez  vous  en
  l'adresse  VOTRE_ADRESSE_RESEAU,  qui est l'adresse reseau a partir de
  laquelle vous voulez  que  les  messages  semblent  etre  envoyes.  Si
  plusieurs  utilisateurs  utilisent  votre liaison term, il vous faudra
  avoir recours a quelque chose de plus acrobatique, comme maintenir une
  base  de  donnees  des  adresses reseau des utilisateurs locaux et les
  inserer dans les en-tetes From:.

  La ligne service est le nom du port local que vous avez redirige  vers
  le  port  smtp  de  la machine connectee au reseau. Avec la version de
  smail qu'utilise l'auteur,  il  est  impossible  d'utiliser  juste  un
  nombre.  Il  est  necessaire  de  mettre  un  nom tel que "toto" et de
  definir "toto" dans le fichier _s_u_i_d_e et ne  faites  que  rediriger  le
  port smtp (25), il n'est nul besoin de definir ce "toto".

  Cela  devrait  suffire  pour  vous mettre sur la voie. Si vous decidez
  d'utiliser sendmail, les  principes  sont  les  memes,  bien  que  les
  details  different.  Ronald  Florence  (ron@mlfarm.com)  a  affirme  a
  l'auteur que le sendmail de SUN ne peut envoyer une file de  plusieurs
  messages  vers  le  port  redirige,  mais  que  le  sendmail BSD 8.6.9
  fonctionne  correctement.   Ronald   a   applique   a   sendmail   les
  modifications  suivantes  de  facon  a le faire fonctionner avec term.
  Dans son cas, le port sendmail par defaut (25)  est  utilise  pour  le
  trafic local d'un reseau _e_t_h_e_r_n_e_t et le courrier electronique _I_n_t_e_r_n_e_t
  est donc transmis a un port TCP redirige.

  #
  # Creation du mailer termsmtp qui envoie le courrier via un port TCP redirige
  #
  Mtermsmtp,P=[TCP], F=mDFMuCXe, S=22, R=22, A=TCP $h PORTNUMBER

  Ici, PORTNUMBER est le numero du port redirige de la  machine  locale.
  Cela  doit  etre un port inutilise de numero superieur a 2000. Il faut
  ensuite indiquer a sendmail a quelle machine se connecter et faire  de
  termsmtp le _m_a_i_l_e_r par defaut.

  #
  # Principal mailer de relai
  #
  DMtermsmtp
  #
  # Principal hote de relai : utilise le mailer $M pour envoyer
  # le courrier vers d'autres domaines
  #
  DR HOSTNAME
  CR HOSTNAME

  Ou  HOSTNAME  est le nom de votre machine locale (est-ce que localhost
  fonctionne ?). La derniere ligne suit la regle 0 pour retransmettre le
  courrier _I_n_t_e_r_n_e_t.

  # Envoyer les autres noms valides au forwarder
  R$*<@$*.$+>$*   $#$M    $@$R    $:$1<@$2.$3>$4  user@any.domain

  Lorsque la connexion term avec l'hote _I_n_t_e_r_n_e_t est etablie, lancez les
  commandes suivantes sur la machine locale.

  tredir PORTNUMBER internet.host:25
  /usr/lib/sendmail -q

  Nous  allons  maintenant  nous  preoccuper  de  recevoir  du  courrier
  electronique  a  l'aide  de term. Nous supposerons que le courrier est
  envoye a votre compte sur la machine mailhost connectee au reseau.  La
  solution  la  plus  simple  est  d'utiliser trsh ou termtelnet pour se
  connecter a mailhost et d'y lire  votre  courrier.  Il  est  cependant
  possible  de telecharger automatiquement votre courrier sur la machine
  locale, grace a POP (_p_o_s_t _o_f_f_i_c_e  _p_r_o_t_o_c_o_l).  POP  a  ete  precisement
  concu  dans  ce  but : envoyer le courrier electronique a des machines
  n'ayant que des acces intermittents au reseau. Pour utiliser  POP,  il
  faut  qu'il  y ait un serveur POP installe sur mailhost. Si tel est le
  cas, vous  pouvez  utiliser  un  client  POP  pour  telecharger  votre
  courrier  regulierement. Comme on pouvait s'y attendre, tredir joue un
  role dans la procedure. Le port utilise par le service POP est le  110
  (_n_._b_.  il  existe  un  ancien protocole POP-2 qui utilise le port 109.
  Nous parlons ici de  POP-3  qui  est  la  derniere  version  de  POP).
  Plusieurs  clients  POP sont disponibles. L'un d'eux, ecrit en langage
  perl par William Perry et maintenu par l'auteur, est pop-perl-1.X.  On
  peut le trouver sur sunsite dans /pub/Linux/system/Mail.

  Pour utiliser POP, il faut rediriger un port local vers le port 110 de
  mailhost et configurer le client de  facon  a  ce  qu'il  recupere  le
  courrier  sur  localhost  en  utilisant  le  port local. Supposons par
  exemple qu'il y a  un  serveur  POP  qui  tourne  sur  mailhost.  Nous
  redirigeons le port local 2110 et lancons le client pop-perl.

  $ tredir 2110 mailhost:110
  Redirecting 2110 to mailhost:110
  $ pop
  Username: bill
  Password: <votre mot de passe pour mailhost>
  Pop Host: localhost
  Pop Port: 2110
  Starting popmail daemon for bill

  Si  vous  n'avez  pas de serveur POP a votre disposition, le paquetage
  BCRMailHandler contient un  programme  permettant  de  telecharger  le
  courrier electronique vers votre machine locale grace a term. L'auteur
  ne l'a jamais utilise, mais quiconque le possede est  encourage  a  le
  commenter.     Vous    pouvez    egalement   utiliser   le   paquetage
  term.mailerd+smail. Malheureusement, aucun de ces deux  paquetages  ne
  fonctionne avec les versions 2.0.0 et ulterieures de term.

  88..  ttuuddpprreeddiirr

  tudpredir  est  tres  semblable a tredir dans ce qu'il fait et dans la
  facon dont il  est  execute.  La  grosse  difference  entre  les  deux
  programmes  est  que  l'un (tredir) sert a rediriger vers la connexion
  term les services reseau TCP, alors que l'autre (tudpredir) permet  de
  rediriger  les services reseau UDP (_U_s_e_r _D_a_t_a_g_r_a_m _P_r_o_t_o_c_o_l). Une autre
  difference importante est  que  tredir  se  place  automatiquement  en
  arriere-plan  une  fois  qu'il  a etabli la communication avec le port
  local, alors que tudpredir doit etre mis en arriere-plan manuellement.

  La syntaxe classique de la commande tudpredir est :

    tudpredir [cette_machine_ci:]port [cette_machine_la:]port

  99..  AAuuttoommaattiissaattiioonnss

  Maitenant  que  vous  savez  comment obtenir de term tous vos services
  reseau, il peut etre agreable de mettre en place une initialisation et
  une  configuration  automatiques de votre connexion. Il y a a peu pres
  une  infinite  de  facons  d'y  parvenir,  selon   le   programme   de
  communication  que  vous utilisez et la facon dont vous vous connectez
  au systeme distant.

  Il existe un programme que l'auteur n'a pas utilise, mais  dont  il  a
  entendu  dire  le  plus  grand bien. Il s'agit de fet, un frontal pour
  term. Il est concu pour vous connecter a un systeme distant et  lancer
  term et tous vos tredir. Tout commentaire sur fet est le bienvenu.

  Voici  maintenant  un  exemple  d'un ensemble de commandes qui utilise
  kermit pour se connecter au systeme distant et  effectuer  toutes  les
  initialisations  de  term. Il est clair qu'il vous faudra modifier ces
  exemples pour les adapter a votre procedure de connexion.

  La commande qui est effectivement lancee est le script shell 'knet' :

    #!/bin/sh
    /usr/bin/kermit -y $HOME/.kerm_term > $HOME/klog < /dev/null 2>& 1
    exec $HOME/bin/tstart >> $HOME/klog 2>& 1

  Le script '.kerm_term' est le suivant :

    pause 2
    # Le numero a composer
    output atdtXXXXXXX \13
    # Connexion au serveur de terminal
    input 145 {name: }
    output MYNAME \13
    input 3 {word: }
    output MYPASSWORD \13
    input 5 {xyplex>}
    # Rendre la ligne transparente
    output term telnet-t \13
    output term stopb 1 \13
    # Connexion au systeme distant.
    output telnet hotedistant.domainequelconque.org \13
    input 10 {ogin: }
    output MYOTHERNAME \13
    input 3 word:
    output MYOTHERPASSWORD \13
    pause 5
    # On lance le term distant
    output exec term -s 38400 -l $HOME/tlog -w 10 -t 150  \13
    ! /usr/bin/term -r -l $HOME/tlog -s 38400 -c off -w 10 -t 150 < /dev/modem > /dev/modem &
    # Lancer les autres clients ici si necessaire
    suspend
    !killall -KILL term

  Finalement, le script 'tsart'  qui  lance  les  clients  term  est  le
  suivant :

    #!/bin/sh
    #
    # Ceci permet au courrier electronique de sortir.
    # On peut lire les news ici et recuperer le courrier .
    #
    /usr/local/bin/tredir 2025 25 2119 newshost:119 2110 pophost:110
    #
    # On peut lancer X windows ici
    #
    /usr/local/bin/trsh -s txconn
    #
    # Pour recevoir le courrier electronique...
    #
    /usr/local/bin/pop
    #
    # On vide la queue...
    #
    /usr/bin/runq
    #
    # La, c'est fini.
    #
    echo ^G^G > /dev/console

  Lorsqu'enfin vous souhaitez terminer la connexion, revenez a kermit et
  quittez-le. La derniere ligne du _s_c_r_i_p_t tue le term local  et  replace
  le systeme dans son etat initial.

  (  Note  de  l'auteur  : plutot que de faire '!killall -KILL term', il
  devrait  etre  possible  de  faire  un  '!tshutdown'.   Cela   devrait
  egalement marcher, non ?)

  Comme  nous  l'avons  deja  dit,  il  y  a  des  zillions de facons de
  proceder. Ces exemples ne sont fournis que pour vous aider a demarrer.
  D'autres exemples peuvent etre trouves dans les paquetages autoterm et
  JoeltermStuff.

  1100..  PPoorrttaaggee ddee llooggiicciieellss ppoouurr uunnee uuttiilliissaattiioonn aavveecc tteerrmm

  En principe, tout programme pouvant etre utilise avec un  reseau  peut
  egalement  l'etre avec term. Certains d'entre eux peuvent etre obtenus
  avec un support term integre. En  font  partie    :  telnet,  (nc)ftp,
  Mosaic  et  nombre  d'autres.  La  plupart  de  ces programmes ont ete
  compiles pour les versions de term 1.17 et anterieures; ils  devraient
  cependant  continuer  a  fonctionner  avec  les  versions de term plus
  recentes.

  Une autre facon de faire fonctionner des programmes avec term est d'en
  assurer vous-meme le portage. C'est le sujet dont traite cette partie.

  Le dernier moyen de modifier vos  programmes  pour  term  est  de  les
  termifier.

  1100..11..  PPoorrttaaggee eett ccoommppiillaattiioonn ddeess ssoouurrcceess

  Le   portage   pour   term  peut  etre  realise  selon  une  procedure
  relativement simple :

  Si le programme doit etre installe dans '/usr/local' par _r_o_o_t :

  1. Ajoutez     le     parametre      de      compilation      -include
     /usr/local/include/termnet.h

  2. et ajoutez -ltermnet a la liste de bibliotheques.

  S'il doit etre installe dans votre repertoire utilisateur :

  1. Ajoutez le parametre de compilation -include $HOME/term/termnet.h

  2. et ajoutez -L$HOME/term -ltermnet a la liste de bibliotheques.

  Compilez  maintenant le logiciel comme l'indique le document 'INSTALL'
  ou 'README' fourni avec. Cela devrait suffire !

  Les commandes devraient alors fonctionner a la fois avec et sans term.

    telnet localhost

  n'utilise pas term pour effectuer la connexion, mais :

    telnet bohr.physics.purdue.edu

  utilisera  term,  uniquement  si  vous  n'avez  pas  d'autre  type  de
  connexion reseau.

  Certaines commandes telles que rlogin ne peuvent etre lancees que  par
  _r_o_o_t  et  par  le  proprietaire  de  la  connexion  term (utilisateurs
  privilegies).

  Certaines commandes term seront transparentes  et  n'utiliseront  term
  que s'il n'y a pas d'autre possibilite. C'est en particulier le cas de
  telnet et ftp.

  D'autres ont besoin d'un parametre qui leur indique  qu'elles  peuvent
  utiliser term. C'est le cas de xarchie, fsp et ytalk.

  Vous  pouvez  parametrer  ces programmes pour qu'ils utilisent term en
  positionnant  la   variable   d'environnement   termMODE   selon   les
  indications  du  fichier  'README.security', ou bien en utilisant make
  installnet. En fin de compte, le fichier 'termnet' cree contiendra des
  instructions  speciales  pour  le  reseau.   Pour l'instant, seule son
  existence est controlee.

  Si vous ajoutez une connexion _e_t_h_e_r_n_e_t a vote systeme, il vous  suffit
  d'effacer le fichier

  NOTE  :  Les  programmes  dont  le portage a ete realise a l'epoque de
  client.a peuvent etre recompiles pour etre utilises avec des  versions
  plus  recentes de term en changeant simplement la reference a client.a
  en libtermnet.a.

  1100..22..  tteerrmmiiffyy

  Ce paquetage permet de  convertir  des  executables  _l_i_n_k_e_s  de  facon
  dynamique, en vue d'une utilisation avec term.

  Avant  de  pouvoir utiliser termify il vous faut vous assurer que vous
  avez bien a votre disposition la  version  2.2i  de  term  (est-ce  la
  version  2.2.8  ?)  ou  une version plus recente, ainsi que la version
  4.5.26 ou une version plus recente de  libc.so.  Il  vous  faut  alors
  creer le fichier 'libt.so.4' dans le repertoire

  A l'heure actuelle, il vous faut reconstruire le fichier 'libt.so.4' a
  chaque fois que vous changez de version de term.

  Une fois cette bibliotheque creee, vous pouvez laisser termify digerer
  le  programme  que vous voulez rendre utilisable avec term, grace a la
  commande :

    termify <nom du programme>

  Si le resultat ne vous plait pas, l'operation inverse est possible :

    termify -u <nom du programme>

  Le paquetage contient egalement  un  _s_c_r_i_p_t  permettant  de  _t_e_r_m_i_f_i_e_r
  completement  smail,  de telle facon qu'aucune definition de transport
  particuliere ne soit necessaire. La seule modification que vous  aurez
  eventuellement a apporter est le champ 'From: '.

  1111..  CClliieennttss tteerrmm

  1111..11..  CClliieennttss tteerrmm disponibles sur les sites ftp

  Voici  une  liste  des applications capables de fonctionner avec term.
  Elle  n'est  pas  certainement  pas  exhaustive;   toute   information
  complementaire  est donc la bienvenue. Autant que possible, le site et
  le repertoire dans lequel l'application peut etre trouvee (autant  que
  le   sache  l'auteur)  sont  fournis.  Lorsque  le  site  indique  est
  sunsite.unc.edu,  l'application  peut  etre  trouvee  dans  l'un   des
  repertoires suivants :

  1. /pub/Linux/apps/comm/term/apps

  2. /pub/Linux/apps/comm/term/extra

  LLee ppaaqquueettaaggee tteerrmm :

       tupload
       tdownload           (versions 2.1.0 et plus recentes)
       trsh
       tmon
       tredir
       tudpredir           (versions 2.0.0 et plus recentes)
       txconn
       trdate(d)
       tshutdown
       libtermnet

  TTrraannssffeerrtt ddee ffiicchhiieerrss ::

       ftpd                sunsite.unc.edu
       termncftp           sunsite.unc.edu
       ncftp185            sunsite.unc.edu:/pub/Linux/system/Network/file-transfer
       fsp                 sunsite.unc.edu:/pub/Linux/system/Network/file-transfer

  SSyysstteemmeess dd''iinnffoorrmmaattiioonn ::

       lynx
       Mosaic              sunsite.unc.edu:/pub/Linux/system/Network/info-systems/Mosaic
       chimera
       netscape            sunsite.unc.edu:/pub/Linux/system/Network/info-systems
       httpd
       xgopher
       gopher              sunsite.unc.edu

  CCoonnnneexxiioonn aa ddiissttaannccee ::

       termtelnet          sunsite.unc.edu
       rlogin              physics.purdue.edu:/pub/bcr/term/extra
       rsh                 physics.purdue.edu:/pub/bcr/term/extra

  NNeettnneewwss ::

       tin 1.3             sunsite.unc.edu:/pub/Linux/system/Mail/news
       news2               sunsite.unc.edu

  CCoouurrrriieerr eelleeccttrroonniiqquuee ::

       slurp               sunsite.unc.edu
       smail               sunsite.unc.edu
       term.mailerd+smail  sunsite.unc.edu
       BCRMailHandlerXXX   physics.purdue.edu:/pub/bcr/term

  SSccrriippttss dd''aauuttoommaattiissaattiioonn ::

  JoeltermStuff       sunsite.unc.edu
  autoterm            sunsite.unc.edu
  fet                 sunsite.unc.edu

  AAuuttrreess pprrooggrraammmmeess ::

       inetd               sunsite.unc.edu
       rdate               sunsite.unc.edu
       xgospel             sunsite.unc.edu:/pub/Linux/games/x11/networked
       termify             physics.purdue.edu:/pub/bcr/term/extra
       xboard              sunsite.unc.edu
       ircII               sunsite.unc.edu:/pub/Linux/system/Network/chat
       whois
       xwebster            sunsite.unc.edu
       sxpc                ftp.x.org:/R5contrib
       xztalk              sunsite.unc.edu:/pub/Linux/apps/sound/talk

  1111..22..  LLee ppaaqquueettaaggee tteerrmmnneett

  Le               paquetage              termnet-2.0.4-Linux-bin.tar.gz
  (sunsite.unc.edu:/pub/Linux/apps/comm/term) contient  un  ensemble  de
  clients  term precompiles ainsi qu'un ensemble de _s_c_r_i_p_t_s, de pages de
  manuel et libtermnet 2.00.04. Les clients ont ete compiles avec  cette
  version de libtermnet.so. Le paquetage contient les clients suivants :

       fet         perl        sperl4.036  tmon        tshutdown   xgopher
       finger      perl4.036   suidperl    trdate      tudpredir   ytalk
       ftp         rcp         taintperl   trdated     tupload
       fwhois      rlogin      telnet      tredir      txconn
       ncftp       rsh         term        trsh        xarchie

  ATTENTION : Le paquetage contient l'ensemble  precompile  complet  des
  clients  de  term  2.0.4,  ainsi que term lui-meme. N'installez pas ce
  paquetage avant d'etre  sur  de  ce  que  vous  faites.  Lorsque  vous
  commencerez a deplacer les executables, vous allez detruire les autres
  versions de term et de ses clients.

  1111..33..  AApppplliiccaattiioonnss nnee ffoonnccttiioonnnnaanntt ppaass eennccoorree aavveecc tteerrmm

  1. DOOM : Le probleme avec ce jeu semble etre le fait qu'il utilise le
     port 5039 a la fois en tant que client et en tant que serveur.

  2. NFS  : Le serveur NFS est suppose n'accepter des requetes que si la
     socket demandant la connexion est attachee a un  port  inferieur  a
     1024.  Ceci  semble poser probleme. Cepedant, certains serveurs NFS
     possedent une option  'insecure'.  Dans  ce  cas,  il  se  pourrait
     finalement  que NFS fonctionne, si la gestion des RPC est ajoutee a
     term.
  1122..  tteerrmm eett llaa sseeccuurriittee

  Dans cette partie sont evoques certains des aspects de la securite  de
  term.  Les  problemes  y  sont  evoques  et  des moyens d'accroitre la
  securite sont donnes.

  1122..11..  ttrrsshh

  trsh pose des problemes de securite lorsqu'il est utilise pour acceder
  a  la  machine  locale depuis le systeme distant. Le probleme pose par
  term de ses clients est qu'en plus du  proprietaire  de  la  connexion
  term,  _r_o_o_t  peut  lancer,  par  l'intermediaire  de  la connexion des
  programmes modifies pour term.

  Ceci implique en particulier que  le  _r_o_o_t  du  systeme  distant  peut
  lancer  trsh  et  donc  se  faire  passer  pour  le proprietaire de la
  connexion term assez facilement. Si cet  utilisateur  sur  la  machine
  locale est _r_o_o_t, les risques encourus sont considerables.

  La  solution  a  ce  probleme est simple : il vous suffit d'ajouter la
  ligne suivante dans le fichier

    denyrsh on

  Cette ligne indique que personne ne peut  lancer  de  trsh  sur  votre
  machine  depuis  le  systeme  distant.  L'acces  a  votre  machine est
  cependant encore possible par l'intermediaire de la connexion term, en
  utilisant telnet et les ports rediriges.

  1122..22..  ttxxccoonnnn et xauth

  txconn n'est pas particulierement sur. N'importe qui peut se connecter
  a votre serveur local par l'intermediaire  de  term  et  se  livrer  a
  toutes  sortes d'exactions. Si ce genre de problemes vous inquiete, il
  est conseille d'utiliser  xauth  pour  autoriser  vos  connexions.  Un
  exemple  de  l'utilisation  de xauth pour securiser vos connexions est
  donne dans la partie suivante.

  1122..33..  ssxxppcc, xhost et xauth

  L'utilisation de xauth est tres importante pour  assurer  la  securite
  lorsque   vous   utilisez  sxpc.  Si  vous  n'utilisez  pas  xauth  en
  conjonction avec sxpc, tous les risques  d'un  xhost  +  s'appliquent.
  Entre autres, ils sont les suivants :

  +o  Quelqu'un peut regarder ce qui est affiche a votre ecran.

  +o  Quelqu'un peut savoir ce que vous tapez.

  +o  Quelqu'un  peut entrer des commandes dans vos fenetres (par exemple
     une commande pour effacer tous vos fichiers :().

  xauth est fourni avec X depuis la R4. Nous decrivons  ici  comment  en
  mettre   en   place   une   utilisation   de  base.  Attention,  cette
  configuration est vulnerable au _s_n_o_o_p_i_n_g.
  NNOOTTEE :: lorsque vous utilisez  xauth,  votre  variable  d'environnement
  $DISPLAY   ne   doit   PAS   etre   positionnee   sur   localhost  (ou
  localhost:quelquechose). Si votre  variable  d'environnement  $DISPLAY
  utilise  localhost,  les  clients  seront  incapables  de  trouver les
  informations d'autorisation adequates. La solution est  d'utiliser  le
  nom reel de la machine. Si vous suivez les instructions de compilation
  contenues  dans  le  fichier  'README'  et  compilez   sans   l'option
  -DNOGETHOSTNAME, tout devrait fonctionner correctement.

  Appelons  C la machine sur laquelle vous allez lancer les clients et D
  celle sur laquelle ils seront affiches.

  Tout d'abord, choisissez une _c_l_e composee  d'au  plus  16  couples  de
  chiffres  hexadecimaux  (c'est-a-dire  un  nombre  pair  de caracteres
  compris entre 0 et 9 et a et f). Dans  l'exemple  qui  suit,  il  vous
  faudra remplacer <cle> par sa valeur.

  Sur C :

    % xauth
    xauth:  creating new authority file $HOME/.Xauthority
    Using authority file $HOME/.Xauthority
    xauth> add Chostname:8 MIT-MAGIC-COOKIE-1 <cle>
    xauth> exit

  Sur D :

    % xauth
    xauth:  creating new authority file $HOME/.Xauthority
    Using authority file $HOME/.Xauthority
    xauth> add Dhostname/unix:0 MIT-MAGIC-COOKIE-1 <cle>
    xauth> add Dhostname:0 MIT-MAGIC-COOKIE-1 <cle>
    xauth> exit

  Lorsque  vous  lancez  le serveur X sur D, il faut alors lui passer le
  parametre -auth $HOME/.Xauthority. Peut-etre vous faudra-t-il creer ou
  modifier le fichier exemple :

    #!/bin/sh
    exec X -auth $HOME/.Xauthority $*

  Assurez-vous  que  votre  fichier  '.Xauthority'  n'est  accessible en
  lecture que par vous, a la fois sur C et sur D.

  1133..  SSoouurrcceess dd''iinnffoorrmmaattiioonn

  Dans cette partie sont indiquees un certain nombres d'adresses ftp  et
  d'URL   utiles   auxquelles   vous  trouverez  des  logiciels  et  des
  informations sur term.

  ffttpp ::

  sunsite.unc.edu:/pub/Linux/apps/comm/term/<toute l'arborescence>
  sunsite.unc.edu:/pub/Linux/docs/HOWTO
  physics.purdue.edu:/pub/bcr/term/<toute l'arborescence>

  UURRLL ::

  http://sunsite.unc.edu/mdw/HOWTO/term-HOWTO.html
  http://zeus.cs.kun.nl:4080/term-howto/term-HOWTO.html
  http://physics.purdue.edu/~bcr/homepage.html

  nneettnneewwss ::

  comp.os.linux.announce           annonces des nouvelles versions de term et du term-HOWTO
  comp.os.linux.help               voici ou poser vos questions sur term
  comp.os.linux.misc               un autre endroit pour les questions
  comp.protocols.misc              on peut trouver ici des reponses aux questions sur term

  Lorsque vous posez  des  questions  dans  les  _n_e_w_s,  assurez-vous  de
  fournir  toutes  les  informations  utiles pour y repondre (version de
  term, comment vous avez installe votre connexion, etc.). Actuellement,
  de  nombreuses versions de term sont utilisees et elles ont toutes des
  problemes  specifiques  ou  communs.  Ainsi,  si  vous  souhaitez  des
  reponses  utiles,  precisez  au  moins  la  version  de  term que vous
  utilisez. Dans le cas contraire,  certaines  suppositions  hasardeuses
  devront etre faites pour vous aider a resoudre votre probleme.

  1144..  SSttaabbiilliittee ddeess vveerrssiioonnss ddee tteerrmm

  A  l'heure actuelle, de nombreuses versions de term ont ete repandues.
  Bill Riemers, qui s'occupe de la maintenance de term, nous  confie  la
  liste  suivante,  qui  indique quelles en sont les versions stables et
  celles qu'il est plus prudent d'eviter.

               term110          --> stabilite inconnue
               term111          --> stabilite inconnue
               term112          --> stabilite inconnue
               term113          --> stabilite inconnue
               term114          --> version BETA relativement stable
               term115          --> version BETA instable
               term116          --> version BETA instable
               term117          --> version BETA instable
               term118          --> version BETA moyennement stable
               term119          --> version GAMMA stable
               term-2.0.X       --> versions BETA relativement stables
               term-2.1.X       --> versions BETA plus stables
               term-2.2.X       --> nouvelles versions BETA
               term-2.3.X       -->

  1155..  PPeerrffoorrmmaanncceess ddee tteerrmm

  Grace a Bill McCarthy, nous avons maintenant a  notre  disposition  un
  tableau  indiquant  les  performances de term obtenues avec differents
  modems et differents types de connexions. Son but est  de  donner  aux
  utilisateurs  debutants comme experimentes une idee des configurations
  utilisees par leurs collegues et des resultats qu'ils obtiennent.

                                  LINUX term CHART 8/14/94

       |__type/vitesse modem__|_vitesse_ligne_|_cps moyen_|__maxi__|__version__|
       | 1)  USR SP 14.4      |   9600        |  950      |  963   | 1.17      |
       | 2)  USR SP 14.4      |  14400        | 1376      |  n/a   | 1.18p06   |
       | 3)  Zoom 2400        |   2400        |  220      |  230   | 1.19      |
       | 4)  Boca V.32bis 14  |  57600        | 1400      |  n/a   | 1.01/09?  |
       | 5)  Viva 14.4        |  14400        | 1300      |  n/a   | 1.16      |
       | 6)  USR SP 14.4      |  14400+       | 1550      | 1680   | 1.19      |
       | 7)  Intel 14.4 Fax   |  14400        | 1400      | 1650   | 2.0.4     |
       | 8)  cable tv hookup  |  57600        | 1500      | 1800   | 1.18p06   |
       | 9)  Twincom 144/DFi  |  57600        | 1500      | 4000?  | 2.0.4     |
       | 10) USR SP 14.4      |  14400        | 1200      | 1500   | 1.08      |
       | 11) cable tv hookup  |  19200        | 1300      | 1800   | 1.19      |
       |-----------------------------------------------------------------------|

       + options/parametres du termrc :

       1) default escapes   2) window 5       3) baudrate 2400    4) n/a
          baudrate 9600        timeout 200       window 3
          window 10                              noise on
          timeout 150

       5) compress off      6) baudrate 19200  7) ignore 19+17    8) compress off
          window 10            compress on        window 4           escape 0, 13,
          timeout 150                             timeout 90         16-19, 255
          baudrate 38400                                             baudrate 0
                                                                     shift 224
                                                                     flowcrtl 500
                                                                     window 10
                                                                     timeout 70
                                                                     retrain on
                                                                     breakout 24
       9) compress off     10) compress off      11) baudrate 19200
          baudrate 57600       baudrate 38400        compress on
          window 10            escape 17, 19         shift 224
          timeout 200          remote                escape 0, 13 16-17
          noise on                                   19, 255
          share on                                   window 10
          remote                                     timeout 40

       Eviter des caracteres a une extremite implique qu'il faut les ignorer a l'autre.

  1166..  TTrruuccss eett aassttuucceess ttrroouuvveess ssuurr llee NNeett

  Dans les _n_e_w_s_g_r_o_u_p_s traitant de Linux,  de  nombreuses  questions  sur
  term  reviennent  reguliement,  suivies  de  leurs   reponses. Afin de
  reduire l'encombrement des _n_e_w_s_g_r_o_u_p_s, certaines  sont  traitees  ici,
  que  l'auteur  ait  ou  non  personnellement experimente les solutions
  proposees.

  +o  Nombreux sont ceux qui se plaignent d'ennuis avec vi, lequel refuse
     d'afficher 24 lignes dans une fenetre qui en comporte pourtant bien
     24. C'est en particulier le cas  des  utilisateurs  d'Ultrix.  Pour
     resoudre ce probleme, trois methodes sont envisageables :

     1. Se connecter au systeme distant par la commande :

          trsh -s telnet <hostname>

     2. Ajouter resize; clear dans votre fichier '.login'.

     3. La  meilleure  solution  semble  etre  d'entrer  sur  le systeme
        distant :

          stty 38400

  +o  Nombreux sont ceux qui ont des problemes avec  des  connexion  term
     qui   s'interrompent,  quelles  qu'en  soient  les  raisons.  C'est
     pourquoi ils souhaitent connaitre l'etat de la connexion  avant  de
     lancer  des  applications.  Cet  etat peut etre determine grace aux
     petits _s_c_r_i_p_t_s _s_h_e_l_l donnes en exemple ici :

     Pour ceux qui utilisent tcsh :

       if ( { trsh -s true } ) then
         ...
       endif

  et pour ceux qui utilisent bash :

    if trsh -s true; then
      ...
    fi

  +o  Netscape, le nouveau client WWW semble poser des problemes  a  ceux
     qui  souhaitent  le  faire  fonctionner  avec term. Voici comment y
     parvenir :

             1. Termifiez netscape.
             2. Lancez termnetscape.
                   Dans le menu Options | Preferences | Mail/Proxys,
                   laissez vides _toutes_ les boites 'proxy'.
                   Mettez 'remotehost' et 80 dans les boites SOCKS.
             3. Ne tenez pas compte de l'erreur qui survient lorsque vous
                   quittez le menu Options.
             4. Si termnetscape ne fonctionne pas correctement :
                   dans le menu Options | Preferences | Mail/Proxys,
                   laissez vides _toutes_ les boites 'proxy'.
                   Mettez 'none' et 80 dans les boites SOCKS.
             5. Ne tenez pas compte de l'erreur qui survient lorsque vous
                   quittez le menu Options.

  1177..  DDiivveerrss

  Complements souhaitables a ce document :

  +o  Detailler le traitement des problemes.

  +o  Detailler les considerations de securite.

  +o  termwrap.

  +o  Suggestions.

  En tout etat de cause, si vous avez des suggestions, des critiques  ou
  quelque  remarque  que ce soit a propos de ce document, n'hesitez pas.
  Patrick Reijnen est l'auteur actuel du term-HOWTO et peut  etre  joint
  aux adresses suivantes : patrickr@cs.kun.nl ou patrickr@sci.kun.nl.

  Cette  remarque  s'applique  egalement  au  traducteur, dont l'adresse
  est : ruch@labri.u-bordeaux.fr.

  1188..  RReemmeerrcciieemmeennttss

  Nombreux sont ceux a qui l'auteur souhaite adresser ses remerciements.
  Avant  tout, merci a Michael O'Reilly et a l'ensemble des developpeurs
  de term, qui ont mis a notre disposition un  si  bel  outil.  L'auteur
  remercie egalement tout ceux qui ont fait part de leurs experiences et
  ont contribue  a  ce  document.  En  font  partie  Bill  Reynolds,  le
  precedent  auteur  de  ce HOWTO, Ronald Florence, Tom Payerle, Bill C.
  Riemers, Hugh Secker-Walker, Matt Welsh, Bill McCarthy, Sergio, Weyman
  Martin et bien d'autres dont il oublie de mentionner les noms.

  Le  traducteur  tient  a  adresser  a  Xavier  Cazin  (xc@itp.itp.fr),
  coordinateur des traductions francaises de la documentation Linux, ses
  plus vifs remerciements pour le travail qu'il accomplit et reste a son
  entiere disposition. Il tient egalement a remercier  Olivier  Belhomme
  (le  premier  cyber-S.D.F.,  sans domaine fixe :)) pour son travail de
  relecture, qui a permis a ce document de ne pas arriver  jusqu'a  vous
  truffe d'erreurs.

