  TERM Como
  Patrick Reijnen, patrickr@bart.nl
  Traduccin de Alfonso Belloso, alfon@bipv02.bi.ehu.es
  v1.0, 1 Enero de 1995

  Lo que sigue es una gua detallada de configuracin del programa de
  comunicaciones term en Linux.
  ______________________________________________________________________

  ndice General:

  1.      Informacin

  1.1.    Copyright statement

  1.2.    DISCLAIMER

  2.      Introduccin

  2.1.    Sobre este Documento

  2.2.    Qu es el TERM?

  3.      Cmo funciona el TERM

  3.1.    Nomenclatura

  4.      Poniendo a punto las cosas.

  4.1.    Qu necesitas tener de antemano.

  4.2.    Explicacin de conceptos.

  4.2.1.  ``Sharing''  (comparticin).

  4.2.2.  `` Full TERM networking '' (conexin de red completamente
  TERM)

  4.3.    Compilacin del TERM

  4.3.1.  Construir el term  hasta la versin 1.15

  4.3.2.  Construir el term , versiones 1.16 hasta 1.19

  4.3.3.  Construir el TERM , versiones 2.0.0  y superiores

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

  4.5.    Estableciendo variables de entorno.

  4.6.    Probar el TERM

  4.7.    TERM  y los programas de comunicaciones.

  4.7.1.  kermit

  4.7.2.  seyon

  4.8.    Hacer un enlace transparente.

  4.9.    Ejecutar linecheck

  4.10.   Prueba a correr el TERM

  4.11.   Terminar tu conexin term

  4.12.   Cmo eliminar TERM  de tus particiones.

  4.13.   Optimizacin de la conexin

  4.14.   Resolucin de problemas

  5.      Clientes TERM

  6.      X y TERM

  7.      tredir

  7.1.     tredir  puede morder!

  7.2.    Trucos tontos de tredir

  7.2.1.  X window

  7.2.2.  Correo con TERM

  8.      tudpredir

  9.      Automatizando las cosas.

  10.     Portando software para usarlo con term .

  10.1.   Portar y compilar los fuentes.

  10.2.   Termificar  ( termify ).

  11.     Clientes term .

  11.1.   Clientes term  disponibles en los servidores ftp .

  11.2.   El paquete termnet .

  11.3.   Solicitado, pero an no soportado:

  12.     Term  y la seguridad

  12.1.   trsh .

  12.2.   txconn  y xauth

  12.3.   sxpc , xhost  y xauth

  13.     Cosas a recordar

  14.     Estabilidad de las versiones de term

  15.     Tabla de velocidad de term .

  16.     Pistas y trucos encontrados en la red

  17.     Otras Cosas

  18.     Reconocimientos

  19.     Anexo: El INSFLUG
  ______________________________________________________________________

  1.  Informacin

  1.1.  Copyright statement

  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.

  1.2.  DISCLAIMER

  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 NO WARRANTY 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.

  2.  Introduccin

  2.1.  Sobre este Documento

  Este COMO intenta aclarar algunas de las confusiones al usar term, el
  gran programa de Michael O'Reilly que permite multiplexar tu lnea
  serie y establecer una conexin de red. De principio a fin, los
  documentos que vienen con el term son bastante buenos, y este COMO no
  pretende reemplazarlos.  La intencin de este documento es dar una
  idea de fondo de cmo trabaja el term y detallar los pasos para
  conseguir algunos de los servicios de red ms comunes trabajando bajo
  term. Se debe hacer hincapi en que este documento no cubre todo lo
  que se debe saber sobre el term.  Despus de leerlo, deberan leerse
  las manpages sobre term, ya que stas incluyen informacin que no se
  encuentra aqu.

  2.2.  Qu es el TERM?

  term es un programa, escrito por Michael O'Reilly,
  michael@iinet.com.au , que corre sobre una lnea serie para permitir a
  conexiones mltiples operar de forma concurrente --es decir, puedes
  estar recibiendo un fichero con tu mdem mientras trabajas en un
  sistema remoto (distinto)-- a travs de la misma conexin mdem. El
  term tambin se puede usar para abrir ventanas de cliente X sobre una
  conexin serie.  Por medio de las utilidades tredir y tupredir de las
  versiones 2.0.x y superiores del term, ste puede proporcionar muchos
  de los servicios de red ``tradicionales'':  mail, news, ftp, telnet,
  xarchie, etc. En esencia, term es muy parecido a otros protocolos
  serie como SLIP o PPP. La ventaja de term es que puede correr
  enteramente desde el espacio de usuario, sin requerir soporte del
  kernel ni del sistema o administradores de red.

  A diferencia de SLIP o PPP, tu mquina no llega a tener su propia
  direccin IP. Todo el trfico deber ir dirigido al host remoto, y
  ser redirigido a tu mquina mediante TERM.

  3.  Cmo funciona el TERM

  Antes de experimentar con term es altamente aconsejable leer primero
  este captulo completo y el fichero INSTALLATION que viene con el
  paquete. Tambin conviene echar una ojeada a las pginas de manual de
  linecheck, (term)test y term. Esto te ayudar a trabajar ms fcil y
  ms rpido.

  3.1.  Nomenclatura

  Asumo que ests llamando a un sistema a travs de algn tipo de
  servidor de terminal. Utilizo los trminos ``local'' y ``remoto'' para
  referirme a los sistemas conectados en casa y en la red
  respectivamente (a no ser que los use para referirme a alguna otra
  cosa :-).

  term proporciona a la mquina local, que no tiene conexin de red,
  pero que est conectada por una lnea serie a una mquina remota, la
  cual a su vez est conectada a una red, servicios de red. Observemos
  cmo una mquina con una conexin de red ``tradicional'' proporciona
  estos servicios.

  Primero el usuario invoca un programa, como telnet o ftp, que requiere
  un servicio de red. Lo que estos programas hacen es hacer una llamada
  del sistema solicitando servicios de red. El sistema operativo obtiene
  entonces estos servicios a travs de su interface de red (por ejemplo,
  manda y recibe paquetes sobre la ethernet).

  SLIP y PPP hacen exactamente esto, convirtiendo la lnea mdem en un
  interface de red, lo cual en principio no es diferente de una
  ethernet. La pega est en que estos protocolos hacen de la mquina
  conectada por mdem parte de la red, justo como cualquier otra
  mquina.  Esto exige toda la tarea administrativa asociada al hecho de
  ser un nodo de la red (ms an, ya que el enlace mdem tambin hay que
  administrarlo).

  En ausencia de una conexin de red como SLIP o PPP, qu es lo que se
  hace tpicamente?. Bien, llamas a tu mquina conectada a la red, lees
  tu correo, tus news, etc, si necesitas un fichero, primero te lo
  transfieres a la mquina remota y entonces te lo envas a la mquina
  local usando el kermit o algn otro programa de comunicaciones.

  Esto es una pena, especialmente porque en realidad slo puedes hacer
  que una cosa use el enlace mdem a la vez. La idea que hay detrs del
  term es bsicamente automatizar y multiplexar este proceso.  El term
  se invoca en ambas mquinas, local y remota, y los dos procesos se
  comunican entre s por la lnea mdem.  Cuando necesitas un servicio
  de red, haces una solicitud al daemon del term local, el cual
  transmite la peticin al daemon del term en la mquina remota
  (conectada a la red). El resultado se devuelve a travs de la lnea
  mdem.

  Para ser ms precisos, pongamos que quieres conseguir un fichero por
  ftp. Primero necesitas una versin de ftp que pueda hablar con term.
  Invocas termftp como lo haces con un ftp normal, pongamos 'termftp
  nethost.gov', pero esta versin especial hace su solicitud de red al
  daemon del term local en vez de al kernel. El term local transfiere
  esta peticin, a travs de la lnea del mdem, al term remoto, el cual
  establece una conexin con nethost.gov, y transmite los datos de
  vuelta sobre el enlace mdem.

  term es lo suficientemente listo como para tener muchas cosas
  diferentes funcionando a la vez, por lo que puedes tener varias
  sesiones de red distintas usando el mismo enlace mdem; por ejemplo
  puedes estar dentro de otra mquina lejana va termtelnet mientras
  contina la transferencia del termftp.

  Si esto es demasiado abstracto (o engorroso) no te preocupes; la
  informacin importante que hay que extraer de esta seccin es que hay
  dos copias del term corriendo, una a cada lado del enlace mdem.

  4.  Poniendo a punto las cosas.

  4.1.  Qu necesitas tener de antemano.

  Antes de comenzar a construir y usar el TERM debes asegurarte de que
  tienes incluido el soporte TCP/IP en el kernel. Adems, asegrate de
  que est activo el interface loopback de TCP/IP. Si ste es tu caso,
  puedes seguir con el resto de esta seccin.

  4.2.  Explicacin de conceptos.

  En las versiones nuevas del term han aparecido dos conceptos nuevos.
  Estos dos conceptos se explican en los siguientes apartados.

  4.2.1.  ``Sharing''  (comparticin).

  A partir de la versin 1.16 aparece el concepto de compartir la
  conexin TERM con otros usuarios. Esto significa que cuando habilitas
  la caracterstica ``shared'' (compartida), ms gente podr usar la
  misma conexin TERM que t ests usando, es decir, cuando ests
  trabajando en tu mquina remota a travs de tu conexin TERM (has
  usado trsh en tu mquina local para acceder, por ejemplo) otra persona
  en tu mquina local podr usar la misma conexin TERM al mismo tiempo
  para transmitir un fichero con ftp a su cuenta en tu mquina local
  desde un ftp site de cualquier lugar del mundo.

  Cuando deshabilitas la caracterstica ``shared'' (compartida) (o sea,
  ejecutas TERM en modo privado) t y solo t (sin contar a root :-)
  puede usar la conexin TERM.

  Por supuesto, slo necesitas instalar el ``shared'' TERM en el extremo
  en el que quieres permitir a la gente usar la misma conexin TERM que
  t ests usando. As que, si otra gente tiene cuenta en tu mquina
  local y quieren usarlo desde algn lugar de tu red remota habilitas la
  caracterstica shared en el extremo remoto de tu conexin TERM. De
  esta forma toda esta gente puede acceder a tu mquina a la vez
  compartiendo la misma conexin TERM entre s y contigo mismo. (NOTA:
  el primer ejemplo necesitaba habilitar la caracterstica shared en el
  extremo local de la conexin TERM).

  NOTA para la instalacin como root:

  Cuando instalas TERM como root, primero debes crear un grupo TERM
  (antes de compilar) sin miembros, aadiendo la siguiente lnea en
  /etc/group:

       term::16:root

  o cualquier otro GID no usado en lugar del 16 si ste ya est en uso.

  Despus de compilar e instalar coloca al TERM y sus clientes el SGID
  term:

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

  Tambin cualquier programa que hagas utilizable con TERM debe tener
  SGID TERM.

  4.2.2.  `` Full TERM networking '' (conexin de red completamente
  TERM)

  A partir de la versin 2.0.0 de TERM se usa el concepto full TERM
  networking (conexin de red totalmente TERM). Cuando tu nica conexin
  con el mundo exterior es una conexin TERM, tienes una red full TERM
  (completamente TERM) y deberas compilar el TERM con full TERM
  networking.  En este caso se ha puesto un fichero llamado termnet en
  el directorio compartido.  Esto dice a TERM que tu nica conexin con
  el exterior es a travs del TERM.

  Cuando tambin tienes algn otro tipo de conexin de red adems de los
  programas (pasados a TERM) de la conexin TERM, primero intenta que
  realicen su trabajo usando esta otra conexin. Si sta falla entonces
  se invoca el TERM y se intenta realizar el trabajo a travs de la
  conexin TERM. Para aclarar esto, ahora se da un ejemplo en el que el
  se usa telnet hecho utilizable en TERM.  Este telnet debera funcionar
  con y sin TERM.

       telnet localhost

  no usa el TERM para conectar, pero

       telnet zeus.cs.kun.nl

  usar el TERM slo si no tienes otro tipo de conexin de red.

  El full TERM networking tambin implica el mentir sobre el nombre del
  host local, diciendo que es el host remoto en su lugar. Adems,
  provoca que bind (0) acte siempre en el host remoto. En esencia hace
  que muchos programas puedan usarse sin ir a travs del TERM mientras
  el TERM est corriendo. Desafortunadamente, la mayora de programas y
  demonios UDP no funcionarn con TERM sin estos incmodos trucos.

  4.3.  Compilacin del TERM

  Si tienes suerte esto slo debe implicar un make. Sin embargo, lo ms
  probable es que necesites hacer ms. Debido a nuevas opciones en las
  versiones nuevas del TERM (sharing, configure) ahora es un poco ms
  complicado crear el ejecutable del TERM. Hoy en da pueden seguirse un
  par de caminos para obtener el ejecutable.

  Para cubrir todos los caminos a seguir con los que puede construirse
  el TERM vamos a dividir esta seccin en tres partes:

  1. Construir el TERM hasta la versin 1.15

  2. Construir el TERM, versiones 1.16 hasta 1.19

  3. Construir el TERM, versiones 2.0.0 y superiores

  4.3.1.  Construir el term  hasta la versin 1.15

  Para estas versiones del term, la compilacin no debera implicar
  ejecutar ms que estos comandos

       make DO=install OS-type
       make installman

  Encontrars el term, sus clientes y las pginas de manual (man)
  cmodamente construidas e instaladas y listas para usar despus de
  esto.

  Adems, necesitars crear un directorio $HOME/term. Este directorio lo
  usar el term para buscar su fichero termrc.

  La nica cosa que puedes querer hacer es cambiar algunos de los paths
  en el Makefile, o cambiar alguna opcin del compilador.

  4.3.2.  Construir el term , versiones 1.16 hasta 1.19

  Para construir el term ahora puedes elegir una de las siguientes
  formas:

  1. Como un usuario normal, construir el term en modo privado

  2. Como un usuario normal, construir el term en modo shared

  3. Como root, construir el term en modo privado

  4. Como root, construir el term en modo shared

  Abajo se explicar cmo habilitar/deshabilitar la opcin shared
  durante la compilacin del term

  1. Eres un usuario normal (sin acceso de root) y NO quieres COMPARTIR
     (SHARE) la conexin term con otros usuarios.

     Como usuario que no quiere compartir la conexin term con otros
     usuarios deberas hacer lo siguiente para construir el term:

          make DO=install OS-type
          make installman

  Despus de esto, el term, sus clientes y las pginas de manual estn
  generados e instalados.

  Adems, necesitars crear un directorio $HOME/term. Este directorio lo
  usar el term para buscar su fichero termrc.

  La nica cosa que puedes querer hacer es cambiar algunos de los paths
  en el Makefile o cambiar algn parmetro del compilador.

  2. Eres un usuario normal (sin acceso de root) y SI quieres COMPARTIR
     (SHARE) la conexin term con otros usuarios.

     Como usuario que quiere compartir la conexin term con otros
     usuarios deberas hacer lo siguiente para construir el term:

          make DO=installshare USERSHARE=$HOME/term OS-type
          make installman

  Despus de esto, el term, sus clientes y las pginas de manual estarn
  compiladas e instaladas.

  Adems, tendrs un directorio $HOME/term (por defecto) con permisos
  drwxrwxr-x. En este directorio encontrars al menos el socket usado
  por el term para sus conexiones (tmp/private/socket=).

  3. Eres root y NO quieres COMPARTIR (SHARE) la conexin term con otros
     usuarios.

     Como root que no quiere compartir la conexin term con otros
     usuarios deberas hacer lo siguiente para construir el term:

          make DO=install OS-type
          make installman

  Despus de esto, el term, sus clientes y las pginas de manual estarn
  compiladas e instaladas.

  Adems, tendrs un directorio llamado /usr/local/lib/term (por
  defecto) con permisos drwxr-xr-x. En este directorio encontrars al
  menos el socket usado por el term para sus conexiones (tmp/pri
  vate/socket=).

  4. Eres root y quieres COMPARTIR (SHARE) la conexin term.

     Primero, asegrate de haber ledo la seccin sobre ``sharing''
     anterior.

     Como root que quiere compartir la conexin term deberas hacer lo
     siguiente:

          make DO=installshare OS-type
          make installman

  Despus de esto, el term, sus clientes y las pginas de manual estarn
  compiladas e instaladas.

  Adems, tendrs un directorio llamado /usr/local/lib/term (por
  defecto) con permisos drwxrwxr-x. En este directorio encontrars al
  menos el socket usado por el term para sus conexiones (tmp/pri
  vate/socket=).

  4.3.3.  Construir el TERM , versiones 2.0.0  y superiores

  Primero asegrate de haber ledo la seccin sobre ``full term
  networking'' de arriba.

  Para las versiones de term 2.0.0 y superiores hay muchas formas de
  generar el binario del term y los clientes. Todo esto puede hacerse
  tanto por root como por un usuario cualquiera:

  1. Generar el term en modo privado sin full term networking

  2. Generar el term en modo privado con full term networking

  3. Generar el term en modo shared sin full term networking

  4. Generar el term en modo shared con full term networking

  En estas versiones de term ha aparecido una nueva forma de compilar,
  usando el script configure. Cuando se ejecuta configure ste chequea
  en que sistema operativo ests tratando de instalar el term, si el
  directorio origen est disponible o no, y si hay puesta alguna opcin
  runtime.  De acuerdo con las cosas encontradas configure crea entonces
  un Makefile usando Makefile.in que se entrega con el paquete del term.

  Dos de las opciones ms importantes para configure son --root y --user
  que establecen si el term ser instalado por root o por un usuario
  cualquiera. Se pueden usar otras opciones para instalar el term de la
  forma que quieras (con paths no estndar, por ejemplo).

  1. Generar el term en modo privado sin full term networking

     Para generar el term de este modo necesitas ejecutar los siguientes
     comandos (tanto para root como para cualquiera):

          make install installman

  Esto genera los binarios, instalndolos junto con las pginas de man
  ual.

  2. Generar el term en modo privado con full term networking

     Para generar el term de este modo necesitas ejecutar los siguientes
     comandos (tanto para el root como para cualquiera):

          make installnet installman

  Esto genera los binarios, instalndolos junto con las pginas de man
  ual.

  3. Generar el term en modo shared sin full term networking

     Para generar el term de este modo necesitas ejecutar los siguientes
     comandos (tanto para el root como para cualquiera):

          make share installman

  Esto genera los binarios e instala estos binarios y las pginas de
  manual.

  4. Generar el term en modo shared con full term networking

     Para generar el term de este modo necesitas ejecutar los siguientes
     comandos (tanto para el root como para cualquiera):

          make share installnet installman

  Esto genera los binarios e instala estos binarios y las pginas de
  manual.

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

  Con el term se suministra una librera con funciones para clientes
  term.

  Hasta la versin 1.16 esta libreria se llamaba client.a. Durante la
  compilacin de term se generaba esta librera, que despus se usaba en
  la compilacin de los clientes term. No se instalaba en otro
  directorio.

  A partir de la versin 1.16 se cambi el nombre de la librera por
  libtermnet.a. Hasta la versin 1.19 esta librera se crea en el
  directorio term y despus se usa durante la compilacin de los
  clientes term. No se instala en otro directorio.

  A partir de la versin 2.0.0, adems de libtermnet.a tambin se crean
  libtermnet.so y libtermnet.sa (libreria shared y librera exported
  initialized) durante la instalacin del paquete term. Durante la
  instalacin de todas las partes del paquete, estos tres ficheros de
  libreras se instalan en el directorio /usr/local/lib (por defecto).
  Y despus se hace un enlace desde libtermnet.so.2 a
  libtermnet.so.2.x.x.

  Finalmente se ejecuta ldconfig para crear los enlaces necesarios y el
  cach (para uso del enlazador dinmico, ld.so) para las libreras
  compartidas ms recientes que se encuentran en los directorios
  especificados en la lnea de comandos, en el fichero /etc/ld.so.conf,
  y en los directorios permitidos (/usr/lib y /lib).

  Si la instalacin se hace correctamente, los tres ficheros de librera
  podrn ser usados por los clientes de term que son generados con
  libreras dinmicas en lugar de estticas. Estas libreras tambin se
  pueden usar ahora para portar tu software propio a fin de poderlo usar
  con el term (ver ms adelante).

  4.5.  Estableciendo variables de entorno.

  term reconoce un par de variables de entorno que pueden definir los
  usuarios. Las tres primeras de stas que se explicarn son:

    TERMDIR

    TERMSHARE

    TERMMODE

  Definiendo estas variables puedes controlar el modo en que se ejecuta
  el term.

  Para versiones del term hasta la 1.15 slo es importante la variable
  TERMDIR (estas versiones no reconocen el modo shared).  Para estas
  versiones TERMDIR se debera definir como sigue:

       setenv TERMDIR $HOME     # csh o tcsh
       export TERMDIR=$HOME     # bash

  A partir de la versin 1.16 term tambin reconoce las variables
  TERMSHARE y TERMMODE. Con estas variables se le puede indicar al term
  que funcione en modo privado o en modo compartido.  Explicaremos como
  definir las variables para ambos modos.

  1. Ejecutar term en modo privado puede hacerse definiendo las
     variables TERMDIR y TERMMODE de la siguiente forma:

     Para csh o tcsh:

          setenv TERMDIR $HOME
          setenv TERMMODE 0

  Para bash:

       export TERMDIR=$HOME export TERMMODE=0

  2. Si quieres usar el term en modo compartido hay dos formas de
     definir las variables:

     a. Si term se instala como un programa SUID slo se debe definir
        TERMMODE. (README en el paquete del term).

                setenv TERMMODE 'numero'    # csh o tcsh
                export TERMMODE='numero'    # bash

     En 'numero' debe ponerse 1 si se est usando una versin del term
     entre la 1.16 y la 1.19 (README.share en el paquete del term) y 2
     si se est usando la versin de term 2.0.0 o superior (README.secu
     rity en el paquete del term).

     b. Si term se instala como un programa SGID las variables se deben
        definir del siguiente modo:

        Para csh o tcsh:

                setenv TERMMODE 1
                setenv TERMDIR /usr/local/lib/term
                setenv TERMSHARE $TERMDIR

     Para bash:

             export TERMMODE=1
             export TERMDIR=/usr/local/lib/term
             export TERMSHARE=$TERMDIR

     Poniendo las variables de esta forma har posible que se ejecuten
     clientes viejos (linkados con una versin antigua del client.a) en
     modo compartido (shared).

  A partir de la versin 2.0.0, term tambin reconoce la variable
  TERMSERVER.  Se necesita definir esta variable cuando se tienen varios
  mdems y mas de una conexin a la vez. Para especificar que conexin
  usar, se debe ejecutar el term con un nombre de servidor:

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

  Los usuarios deberan definir la variable TERMSERVER con el nombre de
  conexin que quieran usar:

       setenv TERMSERVER Connection1           # csh o tcsh
       export TERMSERVER=Connection2           # bash

  4.6.  Probar el TERM

  Haz un make test (o make termtest para versiones nuevas del term) para
  generar el demonio de prueba del term.  (term)test funciona ejecutando
  dos copias del term en tu sistema, una ``local'' y una ``remota''.
  Ambas leern tu termrc; de modo que puedas ajustar su comportamiento.
  Ahora ejecuta (term)test. Deberas poder hacer un trsh y un tupload.
  Prueba con:

        tupload ./term /usr/tmp

  deberas de conseguir tener una copia del binario term en /usr/tmp ).
  La salida del term local debera aparecer en local.log y la remota en
  remote.log. Puedes ejecutar term con el parmetro -d255 para poder
  registrar lo que ocurra en estos ficheros, o habilitar el debugging en
  tu termrc.

  NOTA: Ejecuta el test como ./test para evitar el test del sistema.

  4.7.  TERM  y los programas de comunicaciones.

  Antes de poder usar term, tienes que establecer una conexin va mdem
  usando un programa de comunicaciones como kermit o seyon.  En la
  documentacin del programa encontrars qu tienes que hacer para
  conectarte con la mquina remota.

  Cuando hayas establecido la conexin y quieras ejecutar term,
  necesitas suspender o salir del programa de comunicaciones sin cerrar
  la conexin.

  A continuacin explicar cmo hacer esto con algunos programas de
  comunicaciones.

  4.7.1.  kermit

  Iniciar term cuando se usa kermit es fcil. En el prompt local de
  kermit se teclea ``suspend'', de modo que volvers al prompt de Linux.
  Desde este prompt puedes ya establecer la conexin term.

  4.7.2.  seyon

  Una forma de iniciar chequeo de lnea o TERM cuando usas seyon es
  poner linecheck y TERM en el men Transfer (controlado por el fichero
  $HOME/.seyon/protocols).

  Aade al fichero $HOME/.seyon/protocols lo siguiente:

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

  Ahora, cuando inicies linecheck o term en la mquina local, selecciona
  en el men Transfer el tem ``Line Check'' o ``Term''.

  Por supuesto, tambin podras usar el botn de comando de shell y
  teclear en el cuadro de dilogo que se te abrir los comandos
  linecheck o term. Esto mismo hace redireccin automtica al comando.

  4.8.  Hacer un enlace transparente.

  Presumiblemente, puedes establecer una conexin mdem entre tus hosts
  local y remoto. Tpicamente lo que haces es, llamar a algn tipo de
  servidor de terminales y conectas con tu host remoto a travs de l.

  Tambin sueles usar para ello software de terminal, como kermit o
  seyon para comunicar con tu mdem (los ejemplos de este documento usan
  el kermit, ya que es el que usa el autor). Si ests teniendo problemas
  con el mdem, o con el software de terminal, echa una ojeada al Serial
  HOWTO; esto debera ayudarte.
  Una vez establecido el enlace, querrs hacerlo lo ms transparente
  posible.  Comprueba los comandos en el servidor de terminal (help o ?
  suele ser un buen comienzo). Busca la opcin 8 bits siempre que sea
  posible. Esto puede implicar cambiar la forma en que accedes a tu
  sistema, por ejemplo, si el servidor usa rlogin, tendrs que usarlo
  poniendo el parmetro -8 para hacerlo transparente.

  Especialmente vigila el control de flujo por xon/xoff. No lo
  necesitas. Intenta habilitar el control de flujo por hardware,
  rts/cts. Puede que tengas que mirar la documentacin de tu mdem para
  saber cmo configurarlo para hacer comunicaciones rts/cts de 8 bits.

  4.9.  Ejecutar linecheck

  ATENCIN: En algunos documentos las opciones de lnea de comandos para
  linecheck se citan en orden incorrecto. He comprobado esto y he
  hallado que el orden de las opciones que menciono aqu abajo es el
  correcto.

  NOTA: a partir de la versin de term 2.3.0 linecheck ya no necesitar
  tener el nombre del fichero de log en la lnea de comandos.  Escribir
  su salida al fichero linecheck.log en el directorio desde el que se
  ejecute linecheck.

  linecheck es un programa que se entrega con el term.  Comprueba la
  transparencia de un enlace, produciendo informacin de configuracin
  que necesita el term para funcionar correctamente.  linecheck manda
  todos los 256 caracteres de 8 bits posibles sobre el enlace y verifica
  que cada uno se transmite correctamente.

  Hay que configurar term para manejar caracteres que no pueden ser
  transmitidos por el enlace, y linecheck determina cules son estos
  caracteres. Debes usar linecheck despus de haber establecido un
  enlace mdem lo ms transparente posible. Para correr linecheck haz lo
  siguiente:

  1. En el sistema remoto, ejecuta  linecheck linecheck.log

  2. Vuelve a tu sistema local y suspende tu programa de comunicaciones
     (^Z en kermit) (si no te robar caracteres del linecheck).

  3. En el sistema local ejecuta

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

  Cuando termine linecheck encontrars un conjunto de nmeros al final
  de los ficheros linecheck.log. Estos son los que deberas poner como
  linecheck.log local deca que 'escape' era el 29 y 157. As que, mi
  termrc local escapa (evita) estos caracteres y mi termrc remoto
  ninguno. Si se escapa (evita) un carcter en un extremo, tambin debo
  ignorarlo (ignore) en el otro; as que, en este ejemplo, debera
  ignorar 29 y 157 en mi sistema remoto.

  Si linecheck se cuelga, prueba a usar

  linecheck linecheck.log 17 19

  en el sistema remoto, y

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

  en el sistema local. Esto evitar tus caracteres de xon/xoff (control
  de flujo), que colgarn tu lnea si tienes control de flujo por
  software. Si soluciona los problemas de cuelgues, tendrs que
  escapar/ignorar 17/19 en ambos termrc. Si tu servidor de terminal
  tiene otros caracteres que lo cuelguen, prueba a correr lineckeck con
  esos caracteres escapados como el ejemplo de arriba. Puedes marcar
  esos caracteres si linecheck se cuelga.  Si es este el caso, mtalo, y
  luego mira en los logs. Los ltimos caracteres transmitidos es
  probable que sean los culpables. Vuelve a intentarlo escapando estos
  caracteres.

  En resumen, mi termrc local tiene las lneas:

       escape 29
       escape 157

  y mi termrc remoto tiene las lneas:

       ignore 29
       ignore 157

  ya que mi linecheck.log remoto deca que 'escape 29 y 157'.

  4.10.  Prueba a correr el TERM

  Accede a tu sistema remoto, haciendo el enlace lo ms transparente
  posible (si no lo has hecho an).  Arranca term en el extremo remoto.
  Yo lo hago as:

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

  Vamos a desgranar las opciones una por una (ten en cuenta que con
  igual facilidad podra poner estas opciones en mi termrc. Lo hice as
  porque evitaba tener que editar un fichero mientras pona a punto el
  term).

  exec implica destruir la shell actual, corriendo en su lugar el
  programa indicado. Ejecuto las cosas con exec porque no pretendo usar
  mi shell de login de nuevo; estara desperdiciando memoria. Si ests
  depurando el enlace y eres capaz de abortar el term remoto, puede que
  no quieras hacer el exec.

  La opcin -r es necesaria slo en un extremo. term ver a este extremo
  como el remoto de la conexin (ten en cuenta que el extremo remoto del
  term puede ser tu propia mquina local). Si no usas esta opcin en un
  extremo los clientes de term se caern espontneamente.

  -l $HOME/tlog. Esto registra los errores en el fichero tlog en mi
  directorio home. Muy til para depurar. No hay razn para no ponerlo.

  -s 38400 : Tengo un mdem 14400, con compresin. Para ratios de
  compresin ptimos, necesito poder mandar bits al pipe lo ms rpido
  posible. Para un mdem ms lento, debera ser un nmero menor. Fjate
  que si tienes una UART 16450 en tu puerto serie, las velocidades altas
  pueden provocar prdida de datos por desbordamiento del chip de tu
  puerto serie.  term se recuperar de esto, pero si ves muchos mensajes
  en tu log, (o recibes ``overrun warnings'' en versiones del kernel
  0.99pl15 en adelante) necesitars reducir este nmero.

  -c off : Desactiva la compresin de datos. Tengo un mdem con
  compresin, y no necesito comprimir las cosas dos veces.

  -w 10 -t 150 : De nuevo estas son opciones para optimizar mi enlace de
  mdem rpido. Pongo mi ventana a 10 y mi timeout a 150.  Esto lo hago
  de acuerdo con la recomendacin de la pgina de manual de term_setup.

  Vuelve sobre tu mquina local y suspende tu programa de comunicaciones
  (^Z en kermit). No querrs que est corriendo a la vez que term, ya
  que luchara con el term por el puerto serie.  Si puedes convencer a
  tu mdem de que no cuelgue cuando salgas de tu programa de
  comunicaciones (cuando cambia el DTR), podras salir del programa en
  este punto.

  Ahora lanza el term local. Yo uso:

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

  Necesito decirle al term donde est el mdem; As que apunto tanto la
  entrada como la salida estndar a /dev/modem (eso es lo que hacen < y
  >).  Tambin lo hago correr en background; de modo que puedo usar esta
  consola para otra cosa si la necesito.

  term debera de funcionar ya :-). Prueba con trsh, a ver qu pasa. Si
  se cuelga, o el enlace parece lento, echa una ojeada a tu tlog en
  ambos extremos. Tienes timeouts o mensajes de error?  Si es as,
  entonces es que has configurado algo mal. Vulvelo a intentar (despus
  de que hayas terminado de leer esto :-). Observa que la conexin no
  parecer muy rpida, especialmente si usas compresin - ser un poco a
  saltos. La velocidad real aparece durante transmisiones de ficheros y
  similares.

  4.11.  Terminar tu conexin term

  Muy probablemente, una vez que hayas hecho un montn de trabajo usando
  el term, querrs terminar el trabajo y deshacer tu conexin term. Para
  poder hacer esto hay cuatro formas:

  1. Matar (kill) los programas term a ambos lados de la conexin. Esta
     es la forma menos recomendada de terminar tu conexin.

  2. Una forma mejor es ejecutar el siguiente comando localmente:

          echo '00000' > /dev/modem

  Esto terminar la conexin term correctamente. Funcionar en todas las
  versiones del term. Hay que asegurarse de que la secuencia contiene al
  menos cinco ceros.

  3. En el termrc de versiones 2.0.0 y superiores se puede incluir una
     sentencia terminate <cualquier cadena>. Esto establece una cadena
     que har que salga del term (``00000'' por defecto). Debe ser de
     una longitud de 5 caracteres por lo menos, para evitar
     terminaciones accidentales.

  4. A partir de la versin 1.14 existe el programa tshutdown (realmente
     para la versin 1.14 est disponible como patch, para versiones ms
     recientes se incluye en el paquete). Ejecutando tshutdown, la
     conexin term finalizar perfectamente.

  4.12.  Cmo eliminar TERM  de tus particiones.

  Ok, me habis preguntado por esto. As que voy a presentar los pasos a
  seguir para desinstalar term:

    Eliminar directorios con su contenido. Dependiendo de cmo hayas
     instalado term, tendrs uno o ms de los siguientes directorios:

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

  Estos directorios pueden eliminarse con su contenido, usando

  /bin/rm -rf

    El grupo term. En algn momento de la instalacin tuviste que crear
     un grupo llamado term. Busca en /etc/group una lnea con ese grupo
     y brrala.

    Los ejecutables y paquetes del term. Esta es la parte ms difcil.
     Para los ejecutables, busca en el directorio /usr/local/bin o
     $HOME/bin.

     Con otros ejecutables que hiciste compatibles con term no puedo
     ayudarte. Necesitas saber qu ejecutables modificaste para saber
     cules borrar. No olvides ficheros de configuracin y otros que
     vengan con esos ejecutables.

    Ficheros de librera. Lo mejor es teclear lo siguiente:

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

  Esto encontrar y borrar todos los ficheros de librera relacionados
  por todo tu disco duro.

    Ficheros include. De nuevo, lo mejor es que teclees esto:

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

    Manuales en lnea. Cuando instalaste term los manuales se colocaron
     en uno de los directorios siguientes:

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

  Debes buscar por lo menos las siguientes pginas de manual:  term,
  term_clients, term_setup, tdownload, linecheck, trdate, trdated,
  termrc, termtest, tmon, tredir, trsh, tshutdown, tudpredir, tupload,
  txconnand y por ltimo, tiptest.

    Directorio temporal del usuario. Borra el directorio
     /usr/tmp/private y sus contenidos.

  Despus de todo este ejercicio, podrs estar bastante seguro de que
  has borrado todo lo relacionado con term.

  4.13.  Optimizacin de la conexin

  Una vez que consigues ejecutar el term, puede que quieras intentar
  optimizar las cosas. Una buena forma de medir la velocidad de tu
  enlace es corriendo tmon en una ventana mientras transfieres un
  fichero en otra. Intenta con ficheros de texto y ficheros comprimidos
  suficientemente grandes; el texto a secas debera dar un factor del
  doble de rpido que el comprimido. Los parmetros que querrs ajustar
  son baudrate [velocidad del puerto]  (-s), compression (-c), windows
  [tamao de ventana]  (-w), timeout [tiempo de espera] (-t) y retrain
  (-A).

  Cuidado con el parmetro retrain. Con la versin 1.19 del term obtengo
  peor rendimiento, que va de un 80% a un 90% comparado con la ejecucin
  del term sin el parmetro retrain. No est claro si se trata de un bug
  en la versin 1.19 y si este problema existe slo en la versin 1.19
  del term.

  Baudrate: el nmero mximo de bits por segundo que el term intentar
  enviar a travs del enlace serie. term evitar enviar caracteres a una
  velocidad superior a sta. Por defecto se usa la velocidad del puerto
  serie del ordenador, pero hay que avisar que sta puede ser demasiado
  alta si el mdem funciona a una velocidad menor sobre la lnea
  telefnica. La opcin baudrate est indicada para sistemas que
  almacenan en buffer la salida al mdem. Durante la configuracin y el
  ajuste es mejor usar un baudrate pequeo que uno que sea demasiado
  grande. Para enlaces de alta velocidad (> 38400), ponerlo sin lmite
  ser probablemente ventajoso. Esto se consigue usando el valor off.
  term confiar entonces solamente en el kernel para controlar el flujo.

  Compression: necesitars poner en on si no tienes un mdem con
  compresin. Si tienes un mdem de stos, pon compression off, de lo
  contrario estars comprimiendo las cosas dos veces, lo que
  habitualmente incrementa la cantidad de datos transmitidos. Los mdems
  con compresin son aquellos que usan los protocolos MNP-5 o V42.bis.
  Observa la documentacin del mdem y el mensaje del mdem cuando
  conecta.

  Windows: este es el nmero de unidades de datos, o paquetes, que el
  term enviar por la lnea antes de obtener reconocimiento (ack) desde
  el term remoto. Para mdems rpidos, aumentar esto puede ser una
  mejora; para enlaces ms lentos esto puede saturar el extremo remoto.

  Timeout: el tiempo que el term esperar a un ack.  Si has aumentado
  windows y ests teniendo timeouts en el fichero de log, prueba a
  aumentar este valor.

  Para un 14400/V42.bis, yo uso -c off -w 10 -t 150. Consigo unos 1700
  cps en ficheros comprimidos y 3500 cps en ficheros ASCII usando
  tupload.

  4.14.  Resolucin de problemas

  En esta seccin se dan algunas opiniones sobre qu comprobar cuando se
  tienen problemas ejecutando el term o alguno de sus clientes.

    Has borrado la estructura de directorios del term? En las nuevas
     versiones del term ha cambiado un par de veces la estructura del
     rbol de directorios bajo /usr/local/lib/term. Si no te has dado
     cuenta de ello, puedes haber causado todo tipo de mensajes de
     error.  Lo mejor es borrar el rbol de directorios bajo
     /usr/local/lib/term (salvando tu termrc) y entonces instalar la
     nueva versin. De esta forma evitas pelearte con un rbol de
     directorios lioso.

    Borraste los sockets antiguos? Cuando pongas al da tu versin del
     term borra todos los sockets (llamados socket=) creados por el
     term. El no hacer esto puede causar extraos problemas.  Para
     averiguar qu socket est atendiendo el term, puedes usar el
     programa netstat.

    El term no compila correctamente en SunOS 4.1.3? Has configurado
     el term con ./configure --user. Durante la compilacin ests
     teniendo un error de ensamblador, relacionado con que el parmetro
     -k no es reconocido.  La razn de este error es desconocida. La
     solucin es configurar el term con libreras estticas. Es decir,
     tendrs que hacer ./configure --user --static y entonces seguir con
     el proceso de compilacin como sueles hacerlo normalmente. Ahora el
     term debera compilar correctamente.

    El termtest te est presentando el error:

       Term: failed to connect to term socket '/root/.term/sockettest'

  (Term: falla la conexin al socket de term '/root/.term/sockettest')

  Cuando termtest corre espera que el ejecutable term est en el mismo
  sitio que ste. Cuando haces un make install antes de ejecutar
  termtest, el binario de TERM es movido a /usr/local/bin (u otro simi
  lar).

  Para ello hay que hacer algo parecido a esto:

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

    Ests usando el binario adecuado? El term se ha modificado
     bastante, y muchos sistemas tienen versiones diferentes de los
     programas rondando por ellos. Asegrate de que ests usando la
     versin correcta.  Esto tambin se aplica al linecheck. Puede
     usarse una orden del tipo bash -a, o el comando whereis para saber
     qu programa se est ejecutando. Las versiones de term posteriores
     a 1.11 deberan mostrar su nmero de versin al comenzar. (Aunque
     la versin 1.14 dice ser la 1.12. Sigh.)

    Tienes el termrc correcto en el lugar adecuado? Dependiendo de la
     versin de term que ests corriendo y el modo en que instalaste el
     term (siendo root o usuario) este fichero debe estar en uno de los
     siguientes directorios:

     /usr/local/lib/term/termrc
     /usr/local/lib/term/termrc.<servidor>
     /etc/termrc
     /etc/termrc.<servidor>

  Algunos sistemas tienen termrc's preinstalados; asegrate de que no
  estn antes de instalar. Si ests ejecutando cosas como root, busca en
  /.term.

  El term crea ficheros (sockets en realidad) mientras se ejecuta;  de
  modo que tiene su propio directorio, ~/.term, donde est el fichero
  termrc (ntese, no hay un punto precediendo a termrc!).

    Encuentra el term su fichero termrc? Cuando inicias term a ambos
     lados, deberas ver mensajes como este de abajo:

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

  Cuando falta la segunda lnea el term no puede encontrar su fichero
  termrc y sabes que algo ha ido mal durante la instalacin (a no ser
  que no ests usando el fichero termrc y ests introduciendo todas las
  opciones en lnea de comandos :-). Comprueba la localizacin y los
  permisos del fichero termrc en el lugar donde term no puede encontrar
  su fichero termrc.

    Es correcta la sintaxis de las entradas en el termrc? Un problema
     comn es que la gente que necesite usar el escape e ignorar ciertos
     caracteres, los introduzca as en el fichero termrc:

       escape 1,4,30,255
       ignore 1,4,30,255

  Aunque si term no reconoce lo anterior tampoco avisar de ello. Sim
  plemente lo ignorar.

  Cuando tienes que ignorar o ``escapar'' caracteres, tendrs que poner
  los en diferentes lneas del fichero termrc, cada lnea comenzando por
  la palabra escape o ignore. Slo cuando haya que hacerlo con varios
  caracteres deber hacerse de la siguiente forma:

  escape 16-19      # escapar caracteres 16, 17, 18, 19
  escape 23         # 23
  escape 255        # ...y 255
  ignore 16-19      # ignorar caracteres 16, 17, 18, 19
  ignore 23         # 23
  ignore 255        # ...y 255

    Est montado tu directorio term o .term con NFS? Si tu directorio
     term o .term est montado con NFS necesitas poner el parmetro
     -DTERM_NFS_DIR en la lnea CFLAGS del Makefile. Aunque, al autor el
     usar este parmetro le produce un error de compilacin al compilar
     term 1.19 en una mquina con SunOS 4.*.

    Pertenecen los ficheros y directorios al usuario y grupo correcto
     y tienen los permisos adecuados? Esto no debera ser problema ya
     que estos permisos se ponen durante la fase de instalacin. Sin
     embargo, cuando portas tus propios programas a term debes
     prevenirte de ello.  Tambin cuando se cambia el modo en que esta
     trabajando term (por ejemplo de modo privado a modo shared) deben
     adaptarse las propiedades y permisos de ficheros y directorios.

    Ests obteniendo el error gethostbyname: <hostname>: Non-
     authoritative `host not found', o `server failed'?

     Para resolver esto tienes que chequear las siguientes cosas:

     1. Est configurado correctamente el fichero /etc/hosts?
        <hostname> no es el nombre de tu host (las versiones viejas de
        SLS y algunas viejas y nuevas versiones Slackware se entregan
        con el hostname darkstar, por ejemplo). Cambia esto en el
        fichero. Debe contener al menos una lnea como la que sigue (el
        formato se describe encima de ella):

          # Formato del fichero:
          #  IP_NUMBER            HOSTNAME        ALIASES
          #
          # Este es el nombre de tu maquina, en primer lugar, seguido de aliases
          #
          127.0.0.1       localhost       linuxpc.dominio  linuxpc

     Cuando tu nica conexin con el exterior se hace mediante term, la
     lnea anterior es la nica que debe aparecer en /etc/hosts. No pon
     gas otros nodos de Internet en ese fichero, pues term no trabajar
     con ellos.

     2. Puede leer todo el mundo tus ficheros /etc/rc* y
        /etc/resolv.conf?

          chmod ugo+r

     3. Por ltimo, asegrate de haber instalado el loopback-interface
        de TCP/IP en tu mquina. Puedes comprobarlo ejecutando el
        comando ifconfig. Cuando est instalado dicho interface, se ver
        lo siguiente en pantalla:

          lo        Link encap:Local Loopback
                    inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.255.255.0
                    UP BROADCAST LOOPBACK RUNNING  MTU:2000  Metric:1
                    RX packets:0 errors:0 dropped:0 overruns:0
                    TX packets:4984 errors:0 dropped:0 overruns:0

     Durante el arranque tambin puedes ver qu protocolos se utilizan.
     En mi mquina aparece lo siguiente:

          IP Protocols: ICMP, UDP, TCP

     Para ms informacin sobre cmo instalar el loopback-interface,
     lete el NET-HOWTO.

    Ests obteniendo todo tipo de mensajes timed out en tus ficheros
     log de term? Esto significa que tu conexin de term no est
     optimizada. Un pequeo nmero de esos mensajes nunca es problema.
     Estos son debidos muy posiblemente a que los factores temporales
     influyen en la conexin fsica entre tus hosts remoto y local.

     Cuando tienes un montn de estos mensajes todo el tiempo, tu
     conexin se ralentizar considerablemente. Tienes que ajustar los
     parmetros mencionados en la anterior seccin ``''. Adems, esta
     parte de la instalacin es un proceso de prueba y error. No se
     pueden dar unas reglas fijas sobre los valores a colocar en los
     variados parmetros ya que son muchos los factores que influyen en
     la conexin.  Estos factores difieren entre las conexiones e
     incluso en el tiempo.

    No te funcionan los ftp con puertos redirigidos? Es un problema
     habitual con ftp, que necesita trabajar con los puertos 20 y 21. La
     nica solucin es usar una versin TERMificada de ftp o ncftp. Sin
     embargo, algunas de estas aplicaciones adaptadas tampoco
     funcionarn.

  5.  Clientes TERM

  Term proporciona varios clientes por defecto. Esto incluye trsh, tmon,
  tupload, tredir, txconn y en nuevas versiones trdate, trdated.
  Adems, a partir de la versin 2.0.0 est disponible tudpredir y desde
  la versin 2.1.0 tambin tdownload.  Esta seccin har referencia a
  trsh, tmon, tupload, tdownload, trdate y trdated. El resto tiene su
  propia seccin cada uno.  No funcionar ningn cliente de term hasta
  que se haya establecido un enlace term.
  tmon es una utilidad simple para monitorizar las estadsticas del
  enlace. Imprime un diagrama de tiempo de caracteres transmitidos y
  recibidos. Se invoca simplemente como tmon. Desde la versin 1.11,
  tmon ha tenido un bug que provoca que alguna informacin se trunque
  (??).

  trsh es similar a rsh. Sin argumentos, genera una shell interactiva en
  el sistema remoto (esto es, te introduce directamente en el sistema
  remoto). trsh es uno de las principales maneras de acceder al extremo
  remoto del enlace a travs de term. Si se le pasa un argumento, trsh
  ejecuta ese argumento como un comando en el sistema remoto. Por
  ejemplo, con trsh ls se obtendra una lista de ficheros del directorio
  home del sistema remoto.

  tupload transfiere un fichero, si se indica como primer argumento,
  desde el sistema local al remoto. Por defecto los ficheros se pondrn
  en el mismo directorio desde el que se invoc term en el otro extremo.
  Para colocar los ficheros en otro directorio se deben poner sus
  nombres como segundo argumento a tupload. Por ejemplo, si se desea
  poner una copia del fichero term114.tar.gz en /usr/tmp en el sistema
  remoto, se escribira tupload term114.tar.gz /usr/tmp.

  Cuando se usa tupload es posible utilizar comodines como en tupload
  a.*.  La shell expande los comodines y llama a tupload como tupload
  a.1 a.2 ......

  tdownload transferir un fichero, si se indica como primer argumento,
  desde el sistema remoto al local. Por defecto, los ficheros se
  colocarn en el mismo directorio desde el que se invoc al term en el
  lado local. Para colocar los ficheros en otro directorio, hay que
  indicar sus nombres como segundo argumento a tdownload. Por ejemplo si
  se quiere poner una copia del fichero term114.tar.gz en /usr/tmp del
  sistema local, escribira tdownload term114.tar.gz /usr/tmp.

  Cuando se usa tdownload no es posible utilizar comodines como
  tdownload a.*. La razn es que el directorio remoto no est disponible
  para la shell local cuando se usa tdownload; de modo que la shell
  local no puede expandir los comodines.

  trdate es una utilidad de puesta en hora. Lee la hora en la mquina
  remota y pone el reloj local con la hora del remoto. Se debe ejecutar
  como root.

  trdated es la versin demonio de trdate. Cuando se pone en marcha en
  rc.local se ejecuta como un demonio en cuyo caso ajusta el tiempo cada
  5 minutos (por defecto). Incluso si no existe conexin term, este
  demonio se pondr en marcha si se coloca en rc.local. Una vez que se
  cree una conexin term, comenzar a ajustar la hora.

  6.  X y TERM

  term permite a los usuarios abrir ventanas X en la mquina local desde
  clientes que estn corriendo en una mquina de la red. Esto se hace
  usando el cliente txconn. txconn se ejecuta en el remoto, la mquina
  conectada en red; se invoca simplemente como txconn. Se coloca en
  background y devuelve un nmero a la salida estndard; este nmero es
  el nmero de display que los clientes deben usar para acceder al
  servidor X de la mquina local. Un ejemplo aclarar sto. Estoy
  accediendo a mi cuenta, va trsh, en mi host remoto, llamado ``foo''.
  En foo realizo lo siguiente:

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

  Ahora, para cualquier host en el que quiera correr un cliente X, o
  sea, verlo en el servidor X de mi mquina local, har:

       setenv DISPLAY foo:10

  (para bash debera usarse export DISPLAY=foo:10). En algunos casos
  adems de eso puede ser necesario hacer un xhost + foo en la mquina
  local. Ahora, cuando arranque el cliente, intentar conectar con la
  pantalla 10 de la mquina foo, pero txconn estar escuchando en esa
  pantalla, y pasar todos los paquetes con protocolo X va term al
  servidor X en el host local; es decir, la ventana se abrir en la
  mquina local.

  Es posible trabajar en el otro sentido - correr un cliente en la
  mquina local y tener abierta la ventana en una mquina remota de la
  red; sin embargo, retrasaremos esta explicacin hasta despus de haber
  comentado tredir.

  txconn no es terriblemente seguro; cualquiera puede conectar con el
  servidor local va term y provocar todo tipo de daos. Si este tipo de
  cosas son preocupantes, podra ser una buena idea considerar el uso de
  xauth para autorizar las conexiones. Consulte la pgina de manual
  sobre xauth.

  El protocolo X no es muy eficiente; desperdicia algo de ancho de
  banda.  Esto no suele ser un problema en una ethernet, pero puede ser
  un crimen va mdem. Se supone que X11R6 presenta una versin de bajo
  ancho de banda del protocolo X, LBX. Si, por el contrario, se est
  usando X11R5 puede recurrirse a una utilidad llamada sxpc que comprime
  el protocolo X, mejorando la respuesta sobre lneas serie. sxpc
  incluye un texto sobre cmo hacerlo funcionar con term, y est
  recomendado. El paquete sxpc tambin explica como usar xauth; por lo
  que est doblemente recomendado.

  7.  tredir

  tredir es una de las utilidades ms potentes de term, permitiendo que
  la mayora de los servicios de red importantes puedan obtenerse en un
  enlace term. Antes de explicar cmo se usa tredir, es necesario dar
  algunas nociones sobre los servicios de red.

  Ya se ha hablado antes sobre los servicios de red, pero no se ha dicho
  exactamente qu son. Los servicios son justo eso - servicios que
  proporciona la red. Ejemplos de servicios incluyen telnet, que
  proporciona logins entre mquinas, el ftp (File Transfer Protocol), o
  Protocolo de Transferencia de Ficheros, que transfiere ficheros entre
  mquinas, y smtp, el protocolo de transmisin de correo, que se usa
  siempre que se enva un correo electrnico.

  Cada servicio de red tiene un nmero de puerto asociado a l. El mapeo
  de nmeros de puerto con los servicios correspondientes se da en el
  fichero /etc/services. Este fichero debera ser el mismo en todas las
  mquinas conectadas a Internet.

  Como se accede a estos servicios? Cada mquina en red corre un
  demonio llamado inetd, el cual escucha los intentos de conexin a los
  puertos de red. Estas peticiones pueden llegar tanto desde la red,
  como desde la propia mquina. Un servicio de red se obtiene conectando
  con un puerto inetd en particular. Cuando se hace una solicitud de
  red, inetd conoce exactamente qu servicio est implicado, por el
  nmero de puerto al que se hizo la solicitud. Si se configura inetd
  para hacerlo, proporcionar el servicio adecuado a la conexin que lo
  solicita. La configuracin de inetd es la que se da en el fichero
  /etc/inetd.conf, que contiene una lista de los servicios que
  proporciona inetd. Para ms informacin vea las pginas de manual de
  inetd e inetd.conf.

  Se puede comunicar directamente con los servicios de red usando telnet
  (ntese bien, no termtelnet). Por ejemplo, para hablar con el demonio
  de sendmail (o smtp) en la mquina nombre_de_mquina;, se puede hacer
  un telnet nombre_de_mquina smtp , o telnet nombre_de_mquina 25, (ya
  que 25 es el puerto asignado a smtp en /etc/services). Debera obtener
  una agradable bienvenida del demonio de la mquina remota. Este es un
  truco muy til para depurar problemas de red y chequear puertos
  redirigidos con tredir (ver abajo).

  tredir funciona de modo similar a inetd. Funciona en background como
  un demonio, escuchando los puertos de red, esperando a una peticin.
  Cuando se hace una solicitud de un servicio, en vez de proporcionar
  ese servicio, como hace inetd, tredir traslada la solicitud a travs
  del enlace term hasta el term remoto, quien hace la solicitud a la
  red, devolviendo el resultado de nuevo por el enlace hasta el cliente
  local. tredir puede trasladar la solicitud a cualquier mquina de la
  red, pero por defecto la enva a la mquina al otro extremo del enlace
  term.  tredir ``redirige'' los servicios TCP (Transmision Control
  Protocol) a travs del enlace term.

  Un ejemplo lo aclarar. Vamos a redirigir un puerto local al puerto
  telnet de la mquina remota. Para hacer esto pondramos tredir 2023
  23.  Ahora, cualquiera que conecte al puerto 2023 de la mquina local
  ser redirigido al puerto 23 (telnet) de la mquina remota. Aqu va
  una sesin de ejemplo; la mquina local es mimaquina.modem.casa y la
  remota es netsun.

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

       SunOS UNIX (netsun)
       login:

  Este ejemplo es realmente muy til. Si en su lugar hiciera el tredir
  sobre netsun, entonces podra hacer telnet a mimaquina desde la red
  simplemente conectndome al puerto redirigido de la mquina en red
  (usando telnet) - esto es, telnet netsun 2023.

  El principio general de uso del tredir es redirigir el servicio
  deseado a una mquina de la red. El siguiente ejemplo nos permitir
  leer las News en la mquina local a travs del enlace term desde un
  servidor de News de la red. Las News las proporciona el servicio nntp,
  puerto 119. Todos los lectores de News decentes permiten especificar
  qu puerto van a utilizar, ya sea en un fichero de configuracin o en
  una variable de entorno. Vamos a especificar que el puerto local sea
  el 2119.  Ahora supongamos que el servidor de News es news.domain.org;
  entonces le diremos al software de lectura de News que el servidor
  nntp se encuentra en el puerto 2119 del host local. Como esto
  depender del lector de News que se use, probaremos el enlace con
  telnet en lugar de ejecutar un lector de News:

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

  Si ha podido llegar tan lejos, todo lo que tiene que hacer es
  configurar su lector de News para poder leer las News desde casa va
  term.  (ntese bien, si lee las News de este modo, asegrese de que en
  todos los mensajes que deje ponga una cabecera Reply-To: a una
  direccin de correo en la que pueda ser localizado, o de lo contrario
  la gente que quiera ponerse en contacto con Ud. mandar el correo a
  cualquier dato que su lector de News ponga en la cabecera From:).

  7.1.   tredir  puede morder!

  El astuto lector, tras leer el ltimo ejemplo se preguntar porqu se
  redirigi en puerto 2119 al puerto 119 --ya que el puerto por defecto
  de los lectores de News es el 119--, porqu no podra hacer un tredir
  119 news.domain.org:119 y evitar la configuracin del lector de News?
  La respuesta es que todos los puertos con nmeros inferiores a 1024
  son ``puertos reservados'', y nicamente el superusuario puede
  escucharlos. Si se desea tomar un riesgo en seguridad y hacer de
  tredir un programa suid, o ejecutar tredir como root, entonces se
  pueden redirigir puertos reservados y evitar as la molestia de
  renombrar servicios.

  Otro problema de usar los puertos reservados es que inetd a menudo ya
  est escuchando en esos puertos, y solamente un programa puede
  escuchar un puerto a la vez. Si se quiere usar tal puerto, se debe
  cambiar inetd.conf de modo que inetd ya no escuche en ese puerto que
  se quiere redirigir.  Esto se hace fcilmente comentando la lnea
  correspondiente al servicio poniendo el carcter # al comienzo de la
  misma. El superusuario tiene que mandar una seal HUP a inetd (kill -1
  <inetd-pid>) para hacer que vuelva a leer su configuracin.

  7.2.  Trucos tontos de tredir

  En esta seccin describiremos algunos de los usos ms comunes de
  tredir. Ya hemos descrito como redirigir los servicios nntp y telnet;
  Ahora daremos algunos ejemplos ms complicados.
  7.2.1.  X window

  En una seccin previa, se describi como hacer que un cliente X que
  corre en la red abra una ventana en la mquina de casa usando txconn.
  La misma tcnica se podra usar en la mquina de casa para mostrar un
  cliente en la mquina del lado remoto del enlace term. Pero cmo
  puede uno ver un cliente X en una mquina de red que no es el extremo
  remoto? La respuesta se basa en conocer que X usa un servicio de red
  concreto igual que los otros programas que hemos explicado. Un
  servidor X escucha peticiones de red en un puerto cuyo nmero viene
  dado por la frmula: puerto = 6000 + nmero de display, p.ej. un
  servidor X manejando la pantalla 0 en una mquina escuchara el puerto
  6000, si estuviramos manejando la pantalla 2, escuchara el puerto
  6002. Si se pone la variable de entorno DISPLAY en maquinaX:n, los
  clientes X tratarn de conectar con el puerto 6000+n de maquinaX.

  Podemos usar esto para trucar los clientes X de la mquina local y
  abrir ventanas en displays remotos. Supongamos que quiero abrir un
  xterm, corriendo en mi mquina local, en el display 0 de la mquina
  maquinaX, que esta corriendo en algn lugar de la red. Primero
  escoger un nmero de display local, digamos que el 2 (no se usa el 0,
  ya que es el que estar usando el servidor X local). Mapear este
  display al display 0 de maquinaX.  En trmino de puertos, esto
  significa que quiero redirigir el puerto local 6002 al puerto remoto
  6000. Har lo siguiente:

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

  Esto debera abrir un xterm en la mquina maquinaX. Observe que he
  puesto el DISPLAY a localhost:2. Esto es porque los clientes X usan a
  veces sockets de dominio unix en lugar de sockets de dominio Internet,
  a su propio criterio, cuando conectan con un display local, si DISPLAY
  se pone a :2.  localhost:2 indica que use una conexin TCP.

  Observe que en lo que concierne a maquinaX, la solicitud X viene de la
  mquina del extremo remoto del enlace term (mquinaremota) - de modo
  que si necesita autorizar la conexin, debera hacer bien xhost +
  mquinaremota en maquinaX, o bien usar xauth para actualizar el
  fichero .Xauthority en su mquina local para el display nmero 2,
  usando la clave de maquinaX.

  De nuevo, para acelerar las conexiones X, se puede usar el programa
  sxpc, que incluye una explicacin sobre cmo usar tredir para
  establecer el enlace y autorizarlo usando xauth.

  7.2.2.  Correo con TERM

  Est bien, vosotros lo pedsteis. El correo electrnico tiene la
  justificada reputacin de ser una de las cosas ms dificiles de hacer
  funcionar bien en un sistema UNIX. Para conseguir que el term funcione
  correctamente con el correo es preciso entender cmo funciona el
  correo, lo cual va ms all del objetivo de este documento.

  Para aprender ms sobre correo, debera consultar un libro de
  administracin de sistemas UNIX y/o la FAQ de la conferencia
  comp.mail.misc, disponible en el ftp annimo de
  ftp://rtfm.mit.edu/pub/usenet/comp.mail.misc.

  Tambin tiene a su disposicin 2 paquetes en el ftp annimo de
  sunsite.unc.edu que le ayudarn a poner en marcha el correo bajo term
  - son term.mailerd+smail de Byron A. Jeff y BCRMailHandlerXXX de Bill
  C. Riemers.

  Como se ha dicho, haremos una breve descripcin de como funciona el
  correo electrnico. Hay dos partes que hacen funcionar el correo, el
  envo de mensajes y la recepcin de los mismos. Comenzaremos con el
  envo de mensajes desde su ordenador local a la red.

  Hay dos clases de programas de correo. El primero es el Agente de
  Correo de Usuario (MUA - Mail User Agent). Los MUAs ayudan a leer,
  componer y mandar mensajes. Ejemplos de MUAs son el elm, pine, mail y
  vm. Los MUAs no usan para nada la red; solamente agrupan los mensajes
  - el trabajo duro de envo de correo se hace a travs de la segunda
  clase de programas, los agentes de transferencia de correo (MTA - Mail
  Transfer Agent). Estos son invocados desde los MUAs. Toman el mensaje,
  deciden dnde enviarlo observando la direccin, y finalmente lo envan
  a travs de la red.

  Los dos MTAs mas comunes en sistemas Linux son sendmail y smail. La
  idea bsica es hacer que su MTA se conecte a otro MTA que est
  corriendo en otra mquina de la red que sepa qu hacer con su mensaje.
  Esto se consigue redirigiendo un puerto local hacia el puerto smtp de
  la mquina en red.  Entonces debe indicar a su MTA que tome todos los
  mensajes con los que no sepa que hacer, y los enve fuera a travs del
  puerto redirigido de su mquina local al MTA de la mquina remota, la
  cual encaminar los mensajes hacia su destino correcto.

  Cmo hacemos esto usando smail? Primero redirigiremos un puerto al
  puerto smtp de la mquina de correo de la red (mailhost):

       tredir XXXX mailhost:25

  donde XXXX es el nmero de puerto al que se conecta smail en el host
  local (tenga en cuenta que hay que dar un nombre al puerto en
  /etc/services para hacer que smail lo reconozca). smail tiene varios
  ficheros de configuracin que generalmente estn en
  /usr/local/lib/smail.  Los que nos interesan son config, routers y
  transports.  Observar que presumimos que ya ha configurado smail
  correctamente para el correo local - envo a ficheros y tuberas y
  dems cosas. De nuevo, consulte la documentacin si no lo ha hecho.

  En el fichero config, ponemos la siguiente definicin:

       smart_path=localhost

  localhost es la mquina a la que se conecta smail cuando no sabe que
  hacer con un mensaje.

  En routers ponemos:

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

  En transports ponemos:

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

  En el de arriba, las lneas header cambian la cabecera From en todo
  correo saliente por la direccin SU_DIRECCION_DE_RED, que ser la
  direccin de red a la que quiere que le enven el correo. Si su enlace
  term va a ser usado por ms de una persona, tendr que hacer algo ms
  laborioso, como mantener una base de datos de direcciones de red de
  usuarios locales e insertar las mismas en las cabeceras From:.

  La lnea service es el nombre del nmero de puerto local que ha
  redirigido al puerto smtp de la mquina conectada a la red. En mi
  versin de smail no es posible ponerlo como un nmero, asi que tengo
  que ponerlo como un nombre, como ``foo'', y entonces definir ``foo''
  en /etc/services de modo que sea el nmero del puerto redirigido. Si
  usa un suid de tredir y se redirige el puerto smtp (25), no es
  necesario definir esto.

  Esto debera ser suficiente para hacerlo funcionar. Si decide usar
  sendmail la base es la misma pero difiere en los detalles. Ronald
  Florence (ron@mlfarm.com) me dijo que el sendmail de Sun no mandar
  mensajes mltiples encolados a travs de un puerto redirigido; el
  sendmail 8.6.9 de BSD funciona bien. l hizo los siguientes cambios al
  sendmail.cf para que funcionase con term.  En este caso se usa el
  puerto por defecto de sendmail (25) para el trfico sobre una ethernet
  local de forma que el correo Internet se pasa al puerto TCP
  redirigido.

       #
       # Crear el mailer termsmtp, el cual envia el correo via el puerto TCP
       # redirigido
       #
       Mtermsmtp,P=[TCP], F=mDFMuCXe, S=22, R=22, A=TCP $h PORTNUMBER

  Aqu, PORTNUMBER es el nmero del puerto redirigido en la mquina
  local. Este debera ser un puerto sin usar por encima del 2000.
  Seguidamente le decimos a sendmail a que mquina conectarse, y ponemos
  a termsmtp como mailer por defecto.

       #
       # relevo de correo principal
       #
       DMtermsmtp
       #
       # maquina del relevo principal: usa el mailer $M para enviar el
       # correo de otros dominios
       #
       DR HOSTNAME
       CR HOSTNAME

  Aqu HOSTNAME es el nombre de tu host local (funcionar localhost?).
  La ltima entrada va debajo de Rule 0 para pasar el correo Internet.

       # Pass other valid names up the ladder to our forwarder
       R$*<@$*.$+>$*           $#$M    $@$R $:$1<@$2.$3>$4     user@any.domain

  Cuando la conexin term se haya establecido con el host Internet,
  ejecute los siguientes comandos en la mquina local.

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

  Pasamos ahora a la recepcin de correo electrnico usando term.
  Asumiremos que el correo se enva a su cuenta en el servidor de correo
  (mailhost) de la red. La solucin ms simple es usar trsh o termtelnet
  para acceder al servidor y leer su correo all.

  Sin embargo, tambin es posible hacer pasar el correo automticamente
  a su mquina local. Una forma de hacer esto es usar el Post Office
  Protocol, (POP). POP fue diseado precisamente para este propsito:
  enviar correo a mquinas que tienen conexiones de red espordicas.

  Para usar POP ha de tener instalado un servidor POP en mailhost.
  Suponiendo que lo tiene, puede usar entonces un cliente POP para
  recoger su correo cada poco tiempo. Esto se hace, como podra esperar,
  usando tredir. El servicio POP es el 110 (Observe que hay un protocolo
  ms antiguo, POP-2, que usa el puerto 109; en este documento
  describiremos POP-3, que es la ltima versin de POP). Hay varios
  clientes POP disponibles. Uno, escrito en el lenguaje de scripts perl,
  es pop-perl-1.X, escrito por William Perry y mantenido por m mismo -
  puede encontrarse en sunsite en /pub/Linux/system/Mail.

  Para usar POP se redirige un puerto local al puerto 110 de mailhost y
  se configura el cliente para recoger su correo de localhost usando el
  puerto local. Como ejemplo, supongamos que hay un servidor POP
  corriendo en mailhost. Redirigiremos en puerto local 2110, y
  ejecutamos el cliente pop-perl:

  $ tredir 2110 mailhost:110
  Redirecting 2110 to mailhost:110
  $ pop
  Username: bill
  Password: <introduzca su password para mailhost>
  Pop Host: name of local
  Pop Port: 2110
  Starting popmail daemon for bill

  Si no tiene un servidor POP disponible, el paquete BCRMailHandler
  tiene un programa para capturar su correo desde un enlace term hasta
  su mquina local. No lo he usado, pero cualquier comentario de alguien
  que lo haya hecho ser bienvenido. Tambin puede usar el paquete
  term.mailerd+smail para este propsito. Sin embargo, BCRMailHandler y
  term.mailerd+smail ya no funcionan con versiones de term 2.0.0 o
  superiores.

  8.  tudpredir

  tudpredir es similar a tredir si se observa lo que estos programas
  hacen y cmo se ejecutan. La gran diferencia entre los dos es que
  tredir se usa para redirigir servicios de red TCP, mientras tudpredir
  redirige servicios de red UDP (User Datagram Protocol) a travs de un
  enlace term. Una diferencia ms importante entre los dos programas es
  que tredir se convierte en un demonio en segundo plano una vez que se
  ha establecido el puerto local, mientras los comandos tudpredir hay
  que ponerlos en segundo plano manualmente.

  El formato de una llamada a tupredir es:

       tudpredir [esta_maquina:]puerto [la_otra_maquina:]puerto

  9.  Automatizando las cosas.

  Ahora que ya sabe cmo conseguir todos los servicios de red sobre
  term, sera bonito colocar las cosas de tal modo que su enlace se
  establezca y configure automticamente. Bsicamente hay infinitas
  formas de hacerlo, dependiendo de que programa de comunicacin utilice
  y cmo acceda a su sistema remoto.

  Un programa que yo no he usado, pero que he odo que es bastante
  agradable, es fet: un front-end para term. Est diseado para
  introducirle en un sistema remoto y poner en marcha term y todos sus
  tredirs. Cualquier comentario sobre fet ser bienvenido.

  Le dar un ejemplo de una serie de comandos que usa kermit para
  introducirse en el sistema remoto y que efecta todas las
  inicializaciones de term. Obviamente, si usa estos ejemplos, tendr
  que modificarlos para sus propios procedimientos de acceso.

  El comando que se invoca en este caso es la shell script knet, dada
  por:

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

  La script .kerm_term viene dada por:

       pause 2
       # El numero al que llamar
       output atdtXXXXXXX \13
       # Acceso al servidor de terminal
       input 145 {name: }
       output MYNAME \13
       input 3 {word: }
       output MYPASSWORD \13
       input 5 {xyplex>}
       # Hacer la linea transparente
       output term telnet-t \13
       output term stopb 1 \13
       # Conectar al host remoto
       output telnet remotehost.somedomain.org \13
       input 10 {ogin: }
       output MYOTHERNAME \13
       input 3 word:
       output MYOTHERPASSWORD \13
       pause 5
       # Lanzar term en el host remoto
       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 &
       # Abrir otros clientes aqui
       suspend
       !killall -KILL term

  y finalmente, el script tstart que lanza los clientes term es:

  #!/bin/sh
  #
  # Esto hace que salga el correo, pueda leer news, y pueda recoger correo.
  #
  /usr/local/bin/tredir 2025 25 2119 newshost:119 2110 pophost:110
  #
  # Puedo abrir una Xwindow aqui
  #
  /usr/local/bin/trsh -s txconn
  #
  # Ahora recibire el correo....
  #
  /usr/local/bin/pop
  #
  # Limpiar la cola, en caso de boo-boos
  #
  /usr/bin/runq
  #
  # Acabado
  #
  echo ^G^G > /dev/console

  Cuando por fin quiera cerrar la conexin, retoma y termina el kermit.
  La ltima lnea del script mata el term local y al sistema a su estado
  inicial. (--  Nota del autor: en lugar de hacer !killall -KILL term,
  creo que sera posible hacer solamente !tshutdown. Funcionar esto
  tambin?  --)

  Como ya dije, hay zillones de formas de hacerlo; estas slo se han
  citado como ejemplos para que pueda comenzar. Otros ejemplos pueden
  encontrarse en los paquetes autoterm y JoelTermStuff.

  10.  Portando software para usarlo con term .

  En principio, todos los programas que se puedan usar sobre una red
  pueden usarse en combinacin con term. Algunos de ellos podr
  encontrarlos ya como binarios con soporte para term. Esto incluye
  telnet, (nc)ftp, mosaic y muchos otros. La mayora de estos programas
  se han compilado para term 1.17 o anteriores. A pesar de eso, an
  deberan funcionar con versiones ms nuevas de term.

  Otra forma de hacer que los programas funcionen con term es portarlos
  usted mismo. Este proceso es el que se describe en la siguiente
  subseccin.

  El ltimo modo de compatibilizar sus programas con term es
  termificndolos.

  10.1.  Portar y compilar los fuentes.

  Portar software a term se puede hacer usando un procedimiento bastante
  sencillo:

  Si est instalado en /usr/local por root:

  1. Aada a los flags de compilacin -include
     /usr/local/include/termnet.h

  2. y aada a la lista de libreras -ltermnet

  Si est instalado en su directorio home:

  1. Aada a los parmetros de compilacin -include $HOME/term/termnet.h

  2. y aada a la lista de libreras -L$HOME/term -ltermnet

  Ahora compile el software como se describe en el documento INSTALL o
  README que venga con el software. Ya estara todo!

  En este momento los comandos deberan funcionar con y sin term.

       telnet localhost

  no usa term para conectar, pero

       telnet bohr.physics.purdue.edu

  usar term slo si no hay otro tipo de conexin de red.

  Algunos comandos, como rlogin, slo pueden ser usados por root y por
  el propietario de la conexin term (personas privilegiadas).

  Algunos comandos term sern transparentes a term y slo usarn term
  cuando no haya otra opcin. Algunos ejemplos tpicos son telnet y ftp.

  Otros requieren un parmetro externo para indicarles que les es
  posible usar term. En estos programas se incluyen xarchie, fsp e
  ytalk.

  Se puede poner el parmetro a estos programas para que usen term, bien
  colocando la variable de entorno TERMMODE como se especifica en
  README.security, o bien, ejecutando make installnet.  Eventualmente,
  el fichero termnet creado contendr instrucciones de red especficas,
  pero por ahora slo est probada su existencia.

  Si se aade una conexin ethernet, puede simplemente quitar el fichero
  termnet y continuar usando los mismos binarios!

  NOTA: Aquellos programas que fueron portados en los tiempos del
  client.a, an pueden ser recompilados para usarlos con versiones
  nuevas de term cambiando simplemente la referencia a client.a por
  libtermnet.a.

  10.2.  Termificar  ( termify ).

  Este paquete convertir los binarios enlazados dinmicamente para usar
  term.

  Antes de poder termificar deber asegurarse de que tiene una versin
  2.2i (en esta versin 2.2.8?) de term o posterior y libc.so.4.5.26 o
  posterior.  Entonces hay que crear el fichero libt.so.4 en el
  directorio /lib (ver el fichero README del paquete).

  El problema en este momento es que hay que rehacer el fichero
  libt.so.4 cada vez que renueve la versin de term.

  Despus de crear la librera podr dejar que termify ``digiera'' al
  programa que se quiere hacer term-compatible, usando el comando:

       termify <programa>

  Si no le gusta el resultado puede des-termificar el programa que acaba
  de termificar, usando el comando:

       termify -u <programa>

  Por fin, el paquete tambin contiene un script para termificar
  completamente smail; de modo que no son necesarias definiciones
  especiales de transporte. La nica cosa que quiz quiera cambiar es la
  direccin del From:.

  11.  Clientes term .

  11.1.  Clientes term  disponibles en los servidores ftp .

  A continuacin se da una lista de aplicaciones que corren con term. Yo
  no digo que esta lista est completa; as que cualquier aadido ser
  bienvenido. Siempre que sea posible indicar el site y directorio
  donde se pueda encontrar la aplicacin. Si indico sunsite.unc.edu (--
  En Espaa contamos con un magnfico y veloz mirror de SunSite,
  localizable en sunsite.rediris.es--) como el lugar donde encontrar la
  aplicacin, quiero decir que puede encontrarla en uno de los dos
  directorios siguientes:

  1. ftp://sunsite.unc.edu/pub/Linux/apps/comm/term/apps

  2. ftp://sunsite.unc.edu/pub/Linux/apps/comm/term/extra

  All vamos! :-)

  paquete TERM:

  tupload
  tdownload           (versiones 2.1.0 y posteriores)
  trsh
  tmon
  tredir
  tudpredir           (versiones 2.0.0 y posteriores)
  txconn
  trdate(d)
  tshutdown
  libtermnet

  Transferencia de ficheros:

       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

  Sistemas de Informacin:

       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

  Acceso remoto:

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

  Noticias (news):

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

  Correo:

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

  Scripts automatizadores:

       JoelTermStuff       sunsite.unc.edu
       autoterm            sunsite.unc.edu
       fet                 sunsite.unc.edu

  Otros programas:

       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

  11.2.  El paquete termnet .

  El paquete termnet-2.0.4-Linux-bin.tar.gz
  (ftp://sunsite.unc.edu/pub/Linux/apps/comm/term) contiene un par de
  clientes precompilados, un par de scripts, pginas de manual y
  libtermnet.so.2.00.04.  Los clientes se han compilado usando esta
  versin de libtermnet.so. El paquete contiene los siguientes clientes:

       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

  AVISO: El paquete tambin contiene el conjunto completo de clientes
  compilados de term 2.0.4 incluyendo el mismo term. No instale este
  paquete hasta que est seguro de lo que quiere. Destruir otras
  versiones de term y sus clientes si empieza a enredar con los
  ejecutables.

  11.3.  Solicitado, pero an no soportado:

  1. DOOM: El problema con este juego parece ser el hecho de que usa el
     puerto 5029 ya sea como cliente o como servidor.

  2. NFS: El servidor NFS se supone que slo acepta llamadas si el
     socket que solicita la conexin est ligado a un puerto por debajo
     del 1024. Esto parece ser problemtico. Sin embargo, algunos
     servidores NFS tienen una opcin insegura. En este caso NFS podra
     funcionar ocasionalmente, si se le aade al term soporte RPC.

  12.  Term  y la seguridad

  En esta seccin puntualizar algunos aspectos sobre la seguridad
  usando TERM. Los problemas sern expuestos junto a un mecanismo para
  aumentar su seguridad.

  12.1.  trsh .

  trsh es inseguro si se usa para acceder al Linux local desde el
  sistema remoto. El problema con TERM y sus clientes es que en el otro
  extremo de la comunicacin el superusuario puede ejecutar programas de
  TERM.

  Esto tambin indica que el ``root'' del otro sistema puede ejecutar
  trsh y entrar con los privilegios del propietario de la conexin
  fcilmente. Si este propietario es ``root'' la habremos liado.

  La solucin es simple: poner la siguiente lnea en el fichero termrc
  de la mquina local:

       denyrsh on

  Con esto, nadie podr usar trsh desde el sistema remoto para entrar en
  el local. Cuando t mismo quieras entrar, podrs hacerlo an usando
  telnet y puertos redirigidos.

  12.2.  txconn  y xauth

  txconn no es terriblemente seguro; cualquiera puede conectar al
  servidor local con term y hacer de todo. Si te preocupa, puedes usar
  xauth para establecer las autorizaciones de acceso. Mira el ejemplo de
  la siguiente seccin.

  12.3.  sxpc , xhost  y xauth

  sxpc en combinacin con xhost + es muy peligroso si no usas xauth.

  Usar xauth es muy importante para mantener la seguridad cuando se usa
  sxpc. Si no usas xauth al usar sxpc, ser muy peligroso tener xhost +.
  Algunos peligros son:
    Alguien puede saber lo que hay en tu pantalla

    Alguien puede saber lo que tecleas

    Alguien puede teclear sobre alguna de tus ventanas (por ejemplo, un
     comando que borre tus ficheros :-( )

  xauth forma parte de las versiones R4 y posteriores de X. Aqu
  describiremos cmo usar bsicamente el xauth. Esta configuracin es
  vulnerable al husmeo de la red, pero puede convivir con ella
  fcilmente.

  NOTA: cuando uses xauth asegrate que la variable $DISPLAY no tiene el
  valor localhost (o localhost:loquesea). Si tu variable $DISPLAY vale
  localhost, los clientes no podrn encontrar la informacin de
  autorizacin. Lo mejor es usar el nombre real de la mquina. Si sigues
  las instrucciones de compilacin del README, y compilas sin la
  variable -DNOGETHOSTNAME puede que todo funcione.

  Sea C la mquina que ejecuta clientes, y D la mquina que pone la
  pantalla.

  Primero, elige una ``clave'', de hasta 16 pares de dgitos
  hexadecimales (nmeros del rango 0-9 y a-f). Necesitars proporcionar
  esta clave en el lugar de <clave> en este ejemplo:

  En C:

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

  En D:

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

  Cuando inicies el servidor X en D deberas poner el parmetro -auth
  $HOME/.Xauthority. Puede que necesites crear o editar el fichero
  $HOME/.xserverrc para controlar el inicio del servidor X. Por ejemplo:

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

  Asegrate que el fichero .Xauthority es legible slo por C y por D.

  13.  Cosas a recordar

  En esta seccin intento obsequiarle con una lista de direcciones ftp
  de utilidad, URL's, etc. donde puede encontrar software e informacin
  sobre term.

  Ftp:

    ftp://sunsite.unc.edu:/pub/Linux/apps/comm/term/

    ftp://sunsite.unc.edu:/pub/Linux/docs/HOWTO/

    ftp://physics.purdue.edu:/pub/bcr/term/

  URL:

    http://sunsite.unc.edu/mdw/HOWTO/Term-HOWTO.html

    http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html (siempre
     tiene la ltima versin)

    http://physics.purdue.edu/~bcr/homepage.html

  Netnews:

       comp.os.linux.announce           aqui se anuncian nuevas versiones de term
       comp.os.linux.help               aqui puede poner sus dudas sobre term
       comp.os.linux.misc               o aqui
       comp.protocols.misc              las respuestas a las preguntas son enviadas aqui.

  Cuando comience a hacer preguntas en las news, por favor, asegrese de
  que da a la gente del grupo tanta informacin como necesitan para
  resolver su problema (versin de term, de qu modo establece su
  conexin, etc.).

  En este momento hay en uso muchas versiones de term y todas ellas
  tienen sus problemas comunes y especficos. Adems, cuando quiera una
  respuesta til, al menos indique qu versin de term est usando. De
  lo contrario, en algunos casos slo por adivinacin ser posible
  ayudarle a resolver sus problemas.

  Documentos relacionados:

    Using Term to Pierce an Internet Firewall HOWTO de Barak
     Pearlmutter,
     bap@learning.scr.siemens.com

    Cortafuegos-Como (-- Disponible en castellano, consulte la seccin
     ``''--) de David Rudder, drig@execpc.com

    Serial HOWTO, de Greg Hankins, gregh@cc.gatech.edu

    Net-2/Net-3 HOWTO de Terry Dawson, terryd@extro.ucc.su.oz.au

  14.  Estabilidad de las versiones de term

  Hay muchas versiones de term rondando en estos momentos. El que
  mantiene el term, Bill Riemers, ha hecho una lista de versiones de
  term indicando qu versiones son estables y qu versiones es mejor
  evitar. La lista es la siguiente:

             term110          --> no puedo decir con seguridad
             term111          --> no puedo decir con seguridad
             term112          --> no puedo decir con seguridad
             term113          --> no puedo decir con seguridad
             term114          --> version BETA bastante estable
             term115          --> version BETA inestable BETA
             term116          --> version BETA inestable BETA
             term117          --> version BETA inestable BETA
             term118          --> version BETA semiestable
             term119          --> version GAMMA estable
             term-2.0.X       --> BETA versiones BETA semiestables
             term-2.1.X       --> mas versiones BETA estables
             term-2.2.X       --> nuevas versiones BETA
             term-2.3.X       -->

  15.  Tabla de velocidad de term .

  Gracias a Bill McCarthy ahora disponemos de una tabla con informacin
  de la velocidad de term para diferentes mdems, versiones de term y
  condiciones de conexin. El propsito es dar, tanto a los usuarios
  nuevos como a los experimentados, una idea de lo que otra gente est
  usando y los resultados que consiguen.

                             LINUX TERM CHART 8/14/94

  |___velocidad/marca____|___vel. linea__|__cps med__|__max.__|__ver term_|
  | 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      |
  |-----------------------------------------------------------------------|

  +parametros en el 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

  Escapar caracteres en un extremo implica ignorarlos en el otro extremo.

  16.  Pistas y trucos encontrados en la red

  En los grupos de news relacionados con Linux surgen de nuevo muchas
  preguntas sobre term cada 15 das, junto con las respuestas a estas
  preguntas. Para reducir el trfico del grupo de news, intentar hacer
  un resumen de esas preguntas y las respuestas a las mismas. Algunas de
  las respuestas han sido probadas por m, ya que tambin tuve los
  citados problemas. Otras simplemente las he tomado sin comprobarlas.

    Mucha gente, en especial los que usan Ultrix, parecen tener
     problemas con el vi porque les muestra menos de 24 lneas en
     ventanas con 24 lneas. Hay dos formas de resolver este problema:

     1. Acceda al sistema remoto usando:

          trsh -s telnet <hostname>

     2. Ponga resize; clear en su fichero .login

     3. La mejor solucin parece ser poner lo siguiente en el remoto:

          stty 38400

    Mucha gente parece tener problemas con cadas de la conexin term,
     cualesquiera que sean los motivos de la cada. As que antes de
     poner en marcha aplicaciones, la gente quiere saber si su conexin
     term sigue viva o no. Esto se puede probar usando estos pequeos
     ejemplos de shell scripts:

     Si est usando tcsh:

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

  Si est usando bash:

       if trsh -s true; then
         ...
       fi

    El navegador de WWW netscape causa a la gente problemas para
     funcionar con term. La buena noticia es que puede funcionar. He
     aqu cmo:

     1. Termificar el netscape

     2. Lanzar termnetscape. En el men Options | Preferences |
        Mail/Proxys dejar todos los campos proxy en blanco; poner en el
        campo SOCKS: remotehost y 80

     3. Ignorar el error que saldr en el men de opciones.

     4. Si no funciona bien: en el men Options | Preferences |
        Mail/Proxys dejar todos los campos proxy en blanco, poner en el
        campo SOCKS: none y 80

     5. Ignorar el error que saldr en el men de opciones.

     Scott Blachowicz me envi un mensaje diciendo que hay una forma
     fcil de hacer que Netscape u otro navegador funcione bien con term
     si tiene instalado un servidor proxy (como el httpd del CERN) para
     ser usado en el lado remoto del enlace term. En el lado local
     tendrs que hacer esto entonces:

  

           tredir local:8080 remota:80

  Donde remota es el nombre remoto del servidor proxy.

    Ejecuta el navegador, y en las opciones o como se llame, pon los
     proxies como local, puerto 8080. En algunos navegadores esto se
     hace mediante variables de entorno como:

                       export http_proxy=http://localhost:8080/
                       export ftp_proxy=http://localhost:8080/

  17.  Otras Cosas

  Algunas cosas que se podran incluir:

    Aumento de soluciones a problemas

    Extensin del tema sobre seguridad

    termwrap

    Sugerencias

  De todos modos, si tiene sugerencias, crticas, o cualquier otra cosa
  que decir sobre este documento, por favor, hgalo!. Como Bill
  Reynolds est muy ocupado en estos momentos, yo, Patrick Reijen, me he
  hecho cargo de la autora del Term-COMO. Se me puede encontrar
  (actualmente) en patrickr@cs.kun.nl o en patrickr@sci.kun.nl.

  18.  Reconocimientos

  Hay que dar las gracias a mucha gente. Primero y principalmente a
  Michael o'Reilly y todos los desarrolladores del term, que nos han
  proporcionado esta gran herramienta. Tambin quisiera agradecer a
  todos los que dieron su experiencia y contribuyeron a este COMO. Esto
  incluye a Ronald Florence, Tom Payerle, Bill C. Riemers, Hugh Secker-
  Walker, Matt Welsh, Bill McCarthy, Sergio y todos los que me olvido de
  mencionar.
  19.  Anexo: El INSFLUG

  El INSFLUG forma parte del grupo internacional Linux Documentation
  Project, encargndose de las traducciones al castellano de los Howtos
  (Comos), as como la produccin de documentos originales en aquellos
  casos en los que no existe anlogo en ingls.

  En el INSFLUG se orienta preferentemente a la traduccin de documentos
  breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
  :) ), etc.

  Dirjase a la sede del INSFLUG para ms informacin al respecto.

  En la sede del INSFLUG encontrar siempre las ltimas versiones de las
  traducciones:  www.insflug.org. Asegrese de comprobar cul es la
  ltima versin disponible en el Insflug antes de bajar un documento de
  un servidor rplica.

  Se proporciona tambin una lista de los servidores rplica (mirror)
  del Insflug ms cercanos a Vd., e informacin relativa a otros
  recursos en castellano.

  Francisco Jos Montilla, pacopepe@insflug.org.

