<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY kppp "<application>kppp</application>">
 <!ENTITY % addindex "IGNORE">
 <![ %addindex; [ <!ENTITY docindex SYSTEM "docindex.docbook"> ]]>
]>
<book lang="es">
<bookinfo>
<title>Manual del Kppp</title>
<authorgroup>
<author>
<firstname>Bernd Johannes</firstname>
<surname>Wuebben</surname>
</author>
<author>
<firstname>Jaime</firstname>
<surname>Robles</surname>
<affiliation>
<jobtitle>Traducción al castellano</jobtitle>
<address><email><ulink url="mailto:ea4abw@amsat.org">ea4abw@amsat.org</ulink></email></address>
</affiliation>
</author>
</authorgroup>
<date>11 septiembre 1998</date>
<releaseinfo>Versión 1.4.8 (Versión traducida 0.3.1, 22 Feb 1999)</releaseinfo>
<abstract>
<para>Este manual describe la versión 1.4.8 de Kppp. Por favor haz cualquier comentario al autor.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>Spanish</keyword>
<keyword>kppp</keyword>
<keyword>ppp</keyword>
<keyword>protocolo</keyword>
<keyword>punto-a-punto</keyword>
</keywordset>
</bookinfo>

<chapter id="introduccion">
<title>Introducción</title>

<sect1 id="acerca-de-kppp">
<title>Acerca de <emphasis>Kppp</emphasis></title>

<para> <literal remap="tt">¡POR FAVOR NO OLVIDES LEER EL FAQ ("Preguntas Habituales") GRACIAS!</literal></para>

<para><emphasis>Kppp</emphasis> es un marcador telefónico y un interfaz para el pppd. Te permite hacer
scripts y configurar la red de forma interactiva. Automatizará la llamada a
tu ISP (proveedor de Internet) a la vez que te deja monitorizar todo el
proceso. Una vez conectado <emphasis>Kppp</emphasis> te dará un gran número de estadísticas y
guardará el tiempo que empleas en la conexión. El terminal y el generador de
scripts que tiene incluido te permitirá configurar tu conexión con
facilidad.
Ya no necesitarás más un programa terminal adicional como el seyon o el minicom
para probar y configurar tus conexiones. <emphasis>Kppp</emphasis> calcula el gasto telefónico lo
que te permitirá seguir fácilmente lo que llevas gastado en la conexión.</para>

<para>Esperamos que disfrutes este marcador.</para>
</sect1>

<sect1 id="autores">
<title>Autores</title>

<para>
<emphasis>kppp</emphasis> es un derivado de <emphasis>ezppp 0.6</emphasis> de Jay Painter. De todas formas,
casi todo en <emphasis>kppp</emphasis> fue reescrito por lo que <emphasis>ezppp</emphasis> y <emphasis>kppp</emphasis> no
tienen mucho en común.</para>

<para>Los autores principales son:
<itemizedlist>
<listitem>
<para><literal remap="tt">Bernd Johannes Wuebben</literal>
<ulink url="mailto:wuebben@kde.org">wuebben@kde.org</ulink></para>
</listitem>
<listitem>
<para><literal remap="tt">Mario Weilguni</literal>
<ulink url="mailto:mweilguni@sime.com">mweilguni@sime.com</ulink></para>
</listitem>
<listitem>
<para><literal remap="tt">Harri Porten</literal>
<ulink url="mailto:porten@kde.org">porten@kde.org</ulink></para>
</listitem>
</itemizedlist>
</para>

<para>Muchas gracias a las personas siguientes que han contribuido a programar
<emphasis>kppp</emphasis></para>

<para><itemizedlist>
<listitem>
<para><ulink url="mailto:jesus.fuentes@etsi.tel.uva.es">Jesus Fuentes Saaverdra</ulink> por implementar varias opciopnes y trabajo variado.
</para>
</listitem>
<listitem>
<para><ulink url="mailto:wuebben@eure.de">Markus Wuebben</ulink> por el cuadro de diálogo de ATI.
</para>
</listitem>
<listitem>
<para><ulink url="mailto:peter.silva@videotron.ca">Peter Silva</ulink> por sus menús emergentes y otras contribuciones.
</para>
</listitem>
<listitem>
<para><ulink url="mailto:MABrown@etcconnect.com">Martin A. Brown</ulink> Por revisar algunos textos en inglés del programa.</para>
</listitem>
</itemizedlist>
</para>
</sect1>

<sect1 id="licencia-y-garanta">
<title>Licencia y garantía</title>

<para><emphasis>Kppp</emphasis> es publicada bajo los términos de la <link linkend="la-licencia-publica-general-gnu">GNU-General Public License</link> (GPL).
No hay <link linkend="la-licencia-publica-general-gnu">ninguna garantía</link> de que este programa
funcione o cualquier otra cosa.</para>
</sect1>
</chapter>

<chapter id="instalacin">
<title>Instalación</title>

<para> <literal remap="tt"> ¡POR FAVOR NO OLVIDES LEER EL FAQ ("Preguntas Habituales") GRACIAS!</literal></para>

<sect1 id="cmo-conseguir-el-kppp">
<title>Cómo conseguir el <emphasis>Kppp</emphasis></title>

<para><emphasis>Kppp</emphasis> es una aplicación del proyecto KDE <ulink url="http://www.kde.org">http://www.kde.org</ulink>.
Kppp se puede encontrar en <ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>, el
servidor principal de ftp del proyecto KDE.</para>
</sect1>

<sect1 id="necesidades">
<title>Necesidades</title>

<para>Para compilar con éxito el <emphasis>Kppp</emphasis> necesitas las últimas versiones de 
<literal remap="tt"> libkdecore</literal> y <literal remap="tt"> libkdeui</literal>. Todas las librerías necesarias
así como <emphasis>Kppp</emphasis> pueden ser encontradas en <ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>.</para>
</sect1>

<sect1 id="compilacin-e-instalacin.">
<title>Compilación e instalación.</title>

<para> <literal remap="tt"> ¡POR FAVOR NO OLVIDES LEER EL FAQ ("Preguntas Habituales") GRACIAS! </literal></para>

<para>No he podido probar <emphasis>Kppp</emphasis> en nada más que Linux, pero deberías ser capaz de
hacer trabajar a pppd en un conjunto de plataformas entre las que se incluyen
pero no se limita a SVR4, Solaris 2, Linux, FreeBSD, NetBSD, SunOS 4, AIX 4, OSF/1
en tanto en cuanto tengas el pppd instalado en esos sistemas.</para>

<para>Si quieres compilar el <emphasis>Kppp</emphasis> en una plataforma distinta de Linux, por favor
revisa concienzudamente las primeras líneas de pppstats.cpp y asegúrate de
que los "defines" y los "includes" estan O.K.
Como casi siempre, la mayoría deberían estar bien. Por favor informame si es necesario hacer algún cambio.</para>

<para>Para compilar e instalar el <emphasis>Kppp</emphasis> en tu sistema, teclea lo siguiente en el
directorio de la distribución de <emphasis>Kppp</emphasis>:
<screen>% ./configure
% make
% make install
</screen>
</para>

<para>Esto instalará <emphasis>Kppp</emphasis> con el bit de <xref linkend="setuid"> activado.</para>

<para>Asegúrate de que el fichero de opciones del pppd que suele estar en
<literal remap="tt">/etc/ppp/</literal> existe, pero de que esta vacío. Pppd necesita que exista,
pero debe de estar vacío, de otra forma el pppd no tomará las opciones de
<emphasis>Kppp</emphasis>.</para>

<para><emphasis remap="bf">Otra vez:</emphasis> Si tienes problemas, por favor, avísame. </para>
</sect1>

<sect1 id="preparando-tu-sistema-linux-para-una-conexin">
<title>Preparando Tu Sistema Linux para una conexión PPP</title>

<para> <literal remap="tt">¡POR FAVOR NO OLVIDES LEER EL FAQ ("Preguntas Habituales") GRACIAS! </literal></para>

<para>Para hacer funcionar el <emphasis>Kppp</emphasis>/pppd tu núcleo (kernel) debe de tener
compilado el soporte para ppp. Si este no es tu caso, consigue la última
versión <ulink url="ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/ppp/">pppd</ulink>
de cualquier sitio habitual de Linux y recompila tu núcleo con el soporte
para ppp habilitado. No te asustes aunque esto suene más difícil de lo que
de verdad es. 
No te olvides de instalar luego el pppd. Si no estás seguro de si tu kernel
tiene la opción para ppp, introduce <literal remap="tt">dmesg</literal> en la línea de comandos y
mira si sale algo parecido a esto:</para>

<para><screen>PPP: version 2.3.0 (demand dialling)
TCP compression code copyright 1989 Regents of the University of California
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered
</screen>
</para>

<para>Hubo cambios en el kernel de PPP desde la versión 1.2.x a 2.0.x que
forzaron la programación de un nuevo demonio pppd. En la mayoría de las
distribuciones se puede encontrar en <literal remap="tt">/usr/sbin</literal>. Para versiones del
kernel 1.2.x la versión correcta del demonio pppd es la 2.1; para versiones
del kernel 2.0.x, la versión correcta es 2.2 o superior. Si no sabes que
versión de demonio pppd tiene tu sistema, puedes teclear:</para>

<para><screen>% pppd --version
</screen>
</para>

<para>Ninguno de los demonios pppd tiene en el momento la opción --version,
pero poniendo la opción causará un error de opción incorrecta en el demonio
pppd que te sacará por pantalla la lista de opciones, que incluye la versión
del demonio pppd. </para>
</sect1>

<sect1 id="ms-sobre-ppppppd">
<title>Más sobre ppp/pppd</title>

<para>El siguiente sitio puede ser de interés para más información a cerca del
protocolo ppp y pppd <ulink url="http://www.thoughtport.com:8080/PPP/index.html">http://www.thoughtport.com:8080/PPP/index.html</ulink></para>
</sect1>
</chapter>

<chapter id="configurando-kppp">
<title>Configurando <emphasis>Kppp</emphasis></title>

<para> <literal remap="tt"> ¡POR FAVOR NO OLVIDES LEER EL FAQ ("Preguntas Habituales") GRACIAS!</literal></para>

<para>Para configurar <emphasis>Kppp</emphasis>, arranca <emphasis>Kppp</emphasis> y pulsa sobre el botón <literal remap="tt">Setup</literal> en
la ventana principal de Kppp. Se abrirá un nuevo cuadro de diálogo.</para>

<sect1 id="conexiones">
<title>Conexiones</title>

<para>Este cuadro de diálogo mostrará las nuevas cuentas que has creado. Deberás
crear por lo menmos una cuenta. El ''Botón de Reset'' pondrá a cero el gasto
acumulado por la cuenta seleccionada. Típicamente querrás pulsar este botón
una vez al mes tras haber visto los gastos de teléfono.</para>
</sect1>

<sect1 id="dispositivo">
<title>Dispositivo</title>

<para><variablelist>
<varlistentry>
<term>Dispositivo del Modem</term>
<listitem>
<para>Selecciona el dispositivo apropiado para tu
sistema.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Control de Flujo</term>
<listitem>
<para>Selecciona el control por Hardware (CRTSCTS),
por Software (XON/XOFF) y sin control de flujo. La opción recomendada es
poner el control de flujo por hardware.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Terminación de Linea</term>
<listitem>
<para>Te permite elegir la secuencia correcta
de ''Enter'' para tu modem.
La mayoría de los modems usarán ''CR/LF''. Como siempre, algunos modems
necesitan una configuración diferente.
Si tienes algún problema durante la ejecución del script: Juega con este
parámetro.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Velocidad de Conexión</term>
<listitem>
<para>Te permite elegir de la lista de
velocidades de conexión soportadas por tu puerto de serie.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Fichero de bloqueo del modem</term>
<listitem>
<para>Teclea el camino hasta el fichero cerradura para el modem que quieras.
Típicamente esta en /var/lock/LCK.modem y no debes cambiarlo a ningún otro a
no ser que sepas lo que estás haciendo. Programas como mgetty dependen de la
existencia de esos ficheros cerradura y <emphasis>Kppp</emphasis> no trabajará con mgetty si el
fichero cerradura no esta configurado correctamente.
Si dejas este cuadro vacío, <emphasis>Kppp</emphasis> no tratará de crear un fichero cerradura.
Asegúrate de que no usas la opción "lock" en pppd si has puesto un fichero
cerradura y quieres que <emphasis>Kppp</emphasis> bloquee el modem, porque la opción "lock" de
pppd inducirá a pppd a tratar de bloquear el dispositivo del modem. Como
Kppp ya habra bloqueado el dispositivo, pppd fallará y Kppp mostrará "pppd
murió de forma inesperada".
Asegúrate de que tienes permiso para escribir en el directorio del fichero
cerradura o Kppp mostrará el mensaje de error "No puedo crear el fichero
cerradura".</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Tiempo de espera de Modem acabado</term>
<listitem>
<para>(Timeout del Modem) Esto es el tiempo que <emphasis>Kppp</emphasis> espera a la
respuesta "CONNECT" de tu modem después de llamar a otro modem (normalmente
la llamada a tu ISP) Te recomiendo que pongas alrededor de 30 segundos.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="modem">
<title>Modem</title>

<para><variablelist>
<varlistentry>
<term>Cadenas del Modem </term>
<listitem>
<para>Te abrirá un cuadro de diálogo que necesitarás para terminar con los
comandos apropiados para tu modem. Si tienes un modem compatible con Hayes
lo más seguro es que no necesites cambiar ninguno de los comandos por
defecto. Te recomiendo que de todas formas te leas lo que hay en el Apéndice
de esta documentación acerca de los comandos Hayes. La información
suministrada ahí puede servir también de ayuda en el caso de que tengas
problemas para configurar una conexión estable con los modems de tu ISP.</para>
<para>Las dos configuraciones "Retraso pre-comienzo" y "Retraso post-finalización"
pueden ser de especial interés si notas que tu modem se bloquea. Eso hará a
<emphasis>Kppp</emphasis> parar un poco antes y después de mandar la cadena de
inicialización. El "Retraso pre-comienzo" irá compañado del envio de CR a no
ser que se le de el intervalo de espera de 0.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Consultar el Modem</term>
<listitem>
<para>Pulsando sobre el botón Interrogar al Modem
harás que el <emphasis>Kppp</emphasis> le pida al modem que se indentifique. Si tiene éxito la
respuesta del modem será mostrada en un cuadro de diálogo. Esto puede o no
probarse para ver la información de la que depende tu modem.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Terminal</term>
<listitem>
<para>Pulsando el botón de the <literal remap="tt">Terminal</literal> aparecerá un
"mini-terminal".
Puedes usar el mini-terminal para probar tu modem y experimentar con el
protocolo de negociación para iniciar una conexión ppp con tu proveedor. No
necesitarás más un programa terminal como el minicom o el seyon.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="ppp">
<title>PPP</title>

<para><variablelist>
<varlistentry>
<term>Tiempo de espera de pppd</term>
<listitem>
<para><emphasis>Kppp</emphasis> esperará este tiempo después de
ejecutar el script y arrancar el pppd para establecer un enlace ppp con el
pppd antes de dejarlo y matar el pppd.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Rellamada automática si se pierde</term>
<listitem>
<para>Seleccionando esto <emphasis>Kppp</emphasis>
tratará de reconectar en caso de que sin darte cuenta te desconectes cuando
estas conectado.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Mostrar el reloj en la barra de Título</term>
<listitem>
<para>Esto hará que Kppp muestre el
tiempo que esras conectado en la ventana mientras estás conectado.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Desconectar al apagar Servidor X</term>
<listitem>
<para>Comprobando esta opción
hará que el <emphasis>Kppp</emphasis> corte el enlace ppp desconectando el modem en orden cuando
el servidor de X se acabe. Esto es útil si tu sueles olvidarte de quitar el
<emphasis>Kppp</emphasis> cuando sales de las X o simplemente no quieres preocuparte de tener que
desconectar.
Si no quieres que el Kppp cuelque el modem cuando salgas del servidor de X
deberás dejar sin marcar este cuadro. Ten cuidado de todas formas si tienes
la cuenta puesta y no quieres que el <emphasis>Kppp</emphasis> cuelgue a la salida del servidor
de X, tendra una entrada sin terminar en el registro de cuentas cuando
salgas del servidor de X y el <emphasis>Kppp</emphasis> termine.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Minimizar la ventana al Conectar</term>
<listitem>
<para>La ventana del <emphasis>Kppp</emphasis> se minimizará
después de que la conexión haya quedado establecida.
El tiempo transcurrido durante le conexión sera mostrado en la barra de tareas.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Fijar en el Panel al conectar</term>
<listitem>
<para>Si eliges esta opción, <emphasis>Kppp</emphasis>
se fijará en el panel donde estará representado por un icono animado pequeño.
Usa el botón derecho del ratón encima de este icono para restaurar la
ventana del <emphasis>Kppp</emphasis>. El botón derecho abrirá un menú que te ofrecerá restaurar
la ventana del <emphasis>Kppp</emphasis>, mostrar las estadísticas de transferencia o cerrar la
conexión.
Esta opción deshabilita <emphasis>Minimizar la ventana al conectar</emphasis>.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
</chapter>

<chapter id="configurando-una-conexin">
<title>Configurando una conexión</title>

<sect1 id="marcado">
<title>Marcado</title>

<para><variablelist>
<varlistentry>
<term>Nombre de la conexión</term>
<listitem>
<para>Deberás darle a la conexión un nombre.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Número de Teléfono</term>
<listitem>
<para>Especifica el número a llamar. Puedes usar un carácter como "-" para hacer el número más
intelegible.
Si concatenas series de números (separados por un punto) <emphasis>Kppp</emphasis> probará
esos números en un orden cíclico cuando reciba una señal de "comunicando".
Ejemplo: "1111111:2222222:3333333"</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Autentificación</term>
<listitem>
<para>Elige el método apropiado de autentificación que
<emphasis>Kppp</emphasis> deberá usar para entrar en el servidor. Comprueba que tu proveedor
ofrezca soporte PAP o CHAP si quieres usar un método de entrada basado en
scripts de terminal.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Almacenar contraseña</term>
<listitem>
<para>Revisa esta opción si quieres que <emphasis>Kppp</emphasis>
recierde tu contraseña para la próxima conexión.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Ejecutar programa al establecer la conexión</term>
<listitem>
<para>Kppp tratará de ejecutar el comando especificado aqui una vez que el enlace
ppp se haya establecido.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Ejecutar al finalizar la conexión</term>
<listitem>
<para>análogo al elemento anterior.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Editar opciones del pppd</term>
<listitem>
<para>Esto te
traerá los argumentos del pppd. Puedes usar este cuadro para añadir
cualquier opción que quieras que el <emphasis>Kppp</emphasis> utilice en el pppd.
Mira en la página del manual del
pppd para tener una lista de las opciones disponibles. A menos que sepas
exactamente que estás haciendo deberías contenerte de manosear las opciones
del pppd.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="direccion-ip">
<title>Dirección IP</title>

<para><variablelist>
<varlistentry>
<term>Dirección IP Dinámica</term>
<listitem>
<para>Comprueba esto si tu ISP
(Proveedor de Internet) asígna direcciones IP dinámicas. Que tu dirección
IP cambia cada vez que estableces una conexión.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Dirección IP asígnada por el Usuario</term>
<listitem>
<para>Comprueba esto si tu ISP te ha
dado una dirección IP estática.
En este caso tendrás que rellenar el cuadro con la dirección y cualquier
Máscara de Subred si es aplicable. Pregunta a tu ISP si no estás seguro.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Auto-configurar el nombre de HOST desde esta Dirección IP</term>
<listitem>
<para>Selecciona
esta opción si quieres que el <emphasis>Kppp</emphasis> fije el nombre de máquina y el dominio de
tu máquina tras una conexión.
Esto se puede hacer preguntando al Servidor de Nombres definido por la IP
asígnada al enlace ppp
Esta opción es útil para esas máquinas terminales que quieren usar
protocolos como talk que requieren de un nombre de por el que tu máquina sea
conocida en Internet.
Esto predomina sobre la Opción de Nombre de Dominio en la sección Servidor
de Nombres.
Los valores predeterminados de la máquina se restauran después de cerrar el
enlace ppp.
Ten cuidado al elegir esta opción: Puede ser útil para ti, pero puede causar
también muchos efectos secundarios no deseados. Simplemente juega con él ...</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="dns">
<title>DNS</title>

<para><variablelist>
<varlistentry>
<term>Servidor de Nombres</term>
<listitem>
<para>Expecifica el Nombre de Dominio para tu máquina.
Tal y como una dirección DNS es restaurada a la original en <literal remap="tt">/etc/resolv.conf</literal>
cuando se cierra la conexión.</para>
<para>Si dejas esto en blanco no se harán cambios en el nombre de dominio
especificado en el <literal remap="tt">/etc/resolv.conf</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Servidores de Nombres</term>
<listitem>
<para>Añade los Servidores de Nombres asígnados por
tu ISP.
Debes especificar al menos un Servidor de Nombres para que tu SO sea capaz
de resolver direcciones "humanas" a IP numéricas como ftp.kde.org.
La dirección del servidor DNS suministrada debe de estar en forma numérica
ej.: 128.231.231.233. La dirección se añadirá a <literal remap="tt">/etc/resolv.conf</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Dehabilitar Servidores de Nombres existentes durante la Conexión</term>
<listitem>
<para>Selecciona esta opción si quieres que el <emphasis>Kppp</emphasis> deshabilite las entradas ya
existentes en el <literal remap="tt">/etc/resolv.conf</literal> durante la conexión.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="gatewaypasarela">
<title>Gateway/pasarela</title>

<para><variablelist>
<varlistentry>
<term>Gateway por defecto</term>
<listitem>
<para>Revisa esto si quieres que el pppd use
el Gateway por defecto para tu máquina.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Gateway asígnada por el Usuario</term>
<listitem>
<para>Comprueba esto si quieres especificar la
Gateway a usar.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="script-de-conexin">
<title>Script de Conexión</title>

<para><variablelist>
<varlistentry>
<term>Editar Script</term>
<listitem>
<para>Usa este cuadro para construir un script de llamada a
tu ISP. Usa el mini-terminal y la información suministrada por tu ISP para
entender que secuencia de acciones se tiene que ejecutar.</para>
<para><itemizedlist>
<listitem>
<para>Expect: <emphasis>Kppp</emphasis> esperará recibir la siguiente cadena.</para>
</listitem>
<listitem>
<para>Send: <emphasis>Kppp</emphasis> envía la cadena especificada.</para>
</listitem>
<listitem>
<para>Scan: <emphasis>Kppp</emphasis> buscará en la cadena entrante la buscada y guardará
cualquier caracter después de la cadena hasta el comienzo de una nueva linea
en el buffer interno. Los  espacios en blanco se quitarán.</para>
</listitem>
<listitem>
<para>Save: guarda permanentemente las cadenas encontradas en el registro
especificado. Así, la el único registro válido es 'password'.</para>
</listitem>
<listitem>
<para>Pause: pausa de un determinado número de segundos.</para>
</listitem>
<listitem>
<para>Hangup: Kppp enviará el comando de colgar al modem.</para>
</listitem>
<listitem>
<para>Answer: Kppp hará entrar al modem en el modo de respuesta.</para>
</listitem>
<listitem>
<para>Timeout: cambia el "timeout" por defecto por el número de segundos
especificado dinámicamente durante la ejecución del script. Puedes cambiar
el timeout varias veces durante la conexión si es necesario.
</para>
</listitem>
<listitem>
<para>Prompt: Pide al usuario del <emphasis>Kppp</emphasis> que introduzca una cadena, se da una
cadena como pista. El usuario verá lo que se teclea.
Si la cadena incluye la marca &num;&num;, la marca será reemplazada por el contenido
actual del buffer interno.
</para>
</listitem>
<listitem>
<para>PWPrompt: Pide al usuario del <emphasis>Kppp</emphasis> que introduzca una cadena, se da
una como pista. Se verá un asterisco por cada carácter tecleado.
</para>
</listitem>
<listitem>
<para>ID: Si el campo ID en el menú principal del <emphasis>Kppp</emphasis> se rellena envia ese
ID.
Si el campo ID no esta relleno pedirá al usuario que teclee un ID, dando uno
como pista. El usuario vera lo que se teclea. 
En un segundo pase, como en bucle, en la segunda iteración, se mostrará
una pregunta, dando la cadena especificada como pista.
</para>
</listitem>
<listitem>
<para>Password: Si el campo de contraseña en el menú principal del <emphasis>Kppp</emphasis> no
está vacía enviará esta contraseña. Si el campo está vacío, pedirá al
usuario del <emphasis>Kppp</emphasis> que introduzca una contraseña, se da una como pista.
Se verá un asterisco por cada carácter pulsado y se pedirá la contraseña dos
veces.
En un segundo pase, como en bucle, en la segunda iteración, se mostrará
una pregunta, dando la cadena especificada como pista.
</para>
</listitem>
<listitem>
<para>LoopStart: <emphasis>Kppp</emphasis> esperará a que se reciba la cadena especificada.
Guardará la cadena para ser usada por "LoopEnd".
</para>
</listitem>
<listitem>
<para>LoopEnd: <emphasis>Kppp</emphasis> esperará recibir la cadena especificada para salir del
bucle. Si la cadena dada por el correspondiente LoopStart es recibida
primero, desencadenará un salto a la línea siguiente a LoopStart,
habilitando la repetición de los cuadros del estilo de Nombre de usuario /
contraseña.</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<sect2 id="scripts-de-ejemplo">
<title>Scripts de ejemplo</title>

<para>Aquí hay un script simple que podría usar para conectar con mi ISP:</para>

<para><screen>Expect      ID:                        # espera por el ID:
Send        myid                       # tienes que sustituir myid por tu ID
Expect      word:                      # espera a 'password'
Send        4u3fjkl                    # envía mi contraseña '4u3fjkl'
Expect      granted                    # Mi ISP envía 'Permission granted' cuando la conexión tiene éxito.
Send        ppp                        # Esto comienza la conexión por mi en
				       # el lado del ISP
</screen>

Aqui el script de la misma conexión con petición de ID y contraseña: Este
script pedirá el ID y la contraseña cada vez, no importa que esté escrito en
los campos ID y contraseña del menú principal del <emphasis>Kppp</emphasis>. Este script también
muestra la estructura de LoopStart/LoopEnd. Si algo va mal durante la
conexión. por ejemplo que me equivoque al introducir la contraseña, mi ISP
imprimirá un mensaje de error y recomenzará el bucle /id/contraseña
mostrando la cadena "ID:" otra vez. Si la cadena "ID" es recibida antes de
la palabra de LoopEnd, <emphasis>Kppp</emphasis> recomenzará el script después de la palabra de
LoopStart.
<screen>Prompt      Enter ID:                  # me pide mi ID y lo envía.
Expect      word:                      # espera 'password'
PWPrompt    Enter Password:            # Me pide mi contraseña y la envía.
LoopEnd     granted                    # Mi ISP envía 'Permission granted'
				       # si la conexión tiene éxito.
Send        ppp                        # Empieza la conexión ppp por mi.
</screen>
</para>

<para>Aquí el script que actualmente uso para conectar con mi ISP: Este script
pedirá el ID y la contraseña solo si no has rellenado los campos respectivos
en el menú principal de <emphasis>Kppp</emphasis></para>

<para><screen>LoopStart   ID:                        # espera ID:
ID          Enter ID:                  # Me pide el ID y lo envía.
Expect      word:                      # espera 'password'
Password    Enter Password             # Me pide la contraseña y la envía.
LoopEnd     granted                    # Mi ISP envía 'Permission granted'
				       # si la conexión tiene éxito.
Send        ppp                        # Empieza la conexión ppp por mi.
                                       # en el ISP.
</screen>
</para>

<para>El log siguiente muestra el procedimiento de entrada a un ISP ficticio que
proporciona una contraseña nueva para cada conexión.
La nueva contraseña ha de ser verificada y guardada para la próxima sesión.</para>

<para><screen>University of Lummerland

Login:mylogin
Password:
La contraseña para tu próxima conexión es YLeLfkZb
Por favor guardela y tecleela para su verificación.
Verificación:YLeLfkZb

1 = telnet
2 = SLIP
3 = PPP

Tu elección:
</screen>
</para>

<para><emphasis>Kppp</emphasis> puede ser usado para ese tipo de tareas (eliminando el riesgo)
<screen>Expect      Login:                     # espera la petición de login
ID                                     # envía ID
Expect      Password:                  # espera la petición de contraseña
Password                               # envía contraseña
Scan        is:                        # espera '... next session is:' y
                                       # recoge la clave siguiente
Save        password                   # guarda la contraseña para la próxima.
login
Expect      Verification:              # espera 'Verification:'
Password                               # envía nueva clave
Expect      choice:                    # espera la petición para elegir

                                       # entre diferentes opciones (telnet,
SLI
Send        3                          # elige 3, Ej. PPP
</screen>
</para>
</sect2>
</sect1>

<sect1 id="coste">
<title>Coste</title>

<para><variablelist>
<varlistentry>
<term>Configuración Coste</term>
<listitem>
<para>Usa el botón "Activar Seguimiento de Costes"
para habilitar/deshabilitar el cálculo del gasto telefónico.
Selecciona una regla apropiada para tu región. Si ni puedes encontrar una
regla para tu región tendrás que escribir una siguiendo la el<literal remap="tt">"TEMPLATE"</literal>
suministrado en <literal remap="tt">&dollar;&lcub;KDEDIR&rcub;/share/doc/HTML/en/kppp/</literal>. 
No tengas miedo porque es realmente sencillo. No olvides enviarme la nueva regla
que crees. La sintaxis de las nuevas reglas puede comprobarse con el comando
-r en la line de comandos de opciones del <emphasis>Kppp</emphasis> y debe de ser instalada en <literal remap="tt">&dollar;(KDEDIR)/share/apps/kppp/Rules</literal> 
o en <literal remap="tt">&dollar;&lcub;HOME&rcub;/.kde/share/apps/kppp/Rules</literal> antes de que puedas selecionarla en este cuadro.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="calculo-de-volumen">
<title>Cálculo de volumen</title>

<sect2 id="qu-es-clculo-de-volumen">
<title>¿Qué es Cálculo de volumen?</title>

<para>Significa, básicamente, el contar el número de bytes transmitidos de o a
internet. <emphasis>Kppp</emphasis> puede contar los bytes llegados, enviados o ambos.
Depende de ti lo que quieras (o debas) usar.</para>
</sect2>

<sect2 id="por-qu-debo-usar-el-clculo-de-volumen">
<title>¿Por qué debo usar el cálculo de volumen?</title>

<para>Porque los Proveedores de Internet (ISP) empiezan a cobrar a sus clientes
dependiendo del número de bytes transmitidos. O muy a menudo esos ISP te dan
un límite arbitrario de transferencia, y te cargan por cada megabyte por
encima de ese límite. <emphasis>Kppp</emphasis> te muestra tu volumen actual y te puede
ayudar a mantener tus facturas al mínimo. Por supuesto, si no tienes
límites de volumen y eres curioso.... también puedes usarlo.</para>
</sect2>

<sect2 id="qu-tipo-de-clculo-de-volumen-debo-selecciona">
<title>¿Qué tipo de cálculo de volumen debo seleccionar?</title>

<para>Eso depende de tu proveedor. Muchos de ellos solo cuentan cuantos megabytes
te llegan de internet e ignoran los que envias. En ese caso deberías
seleccionar "Bytes in". Si tienes que pagar por ambos, debes seleccionar
"Bytes in and out". "Bytes out" no se usa mucho, y solo esta aqui por
completar.</para>
</sect2>

<sect2 id="inconvenientes">
<title>Inconvenientes</title>

<para>Desafortunadamente hay un inconveniente en el cálculo de volumen. <emphasis>Kppp</emphasis>
contará sólo el número de bytes sin tener en cuenta su origen.
Muchos proveedores fijan el límite solo para acceso a internet, no para su
propia red. Así que si navegas un poco por la web y usas un "cache-proxy",
el proxi estará dentro de la red de tu proveedor y tu proveedor no te
cobrará por los bytes transferidos desde este cache-proxi. Aun así,
<emphasis>Kppp</emphasis> no sabrá que esos paquetes IP vienen desde el proxi y los contará.
Por lo que si usas proxi, o tu proveedor utiliza un servidor de news (como
nntpcached), el volumen contabilizado por <emphasis>Kppp</emphasis> será más alto</para>

<para><itemizedlist>
<listitem>
<para> -h te describirá las opciones en la línea de comandos.</para>
</listitem>
<listitem>
<para> -c tratará de conectar con la conexión dad sin entrar en el cuadro
principal del <emphasis>Kppp</emphasis>. Esta opción puede ser interesante para el impaciente.</para>
</listitem>
<listitem>
<para> -r tratará de comprobar la sintaxis del fichero de normas
especificado. Puede ser útil cuando escribas un nuevo fichero de normas</para>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>

<sect1 id="uso-normal">
<title>Uso Normal</title>

<para>Por escribir... (Asegúrate de rellenar toda la información necesaria en los
cuadros del <emphasis>Kppp</emphasis> y de crear una conexión antes de tratar de usar el <emphasis>Kppp</emphasis>)</para>
</sect1>
</chapter>

<chapter id="trucos-y-pistas-para-el-modem">
<title>Trucos y pistas para el modem</title>

<para>Esta sección te introducirá al (no tanto) arcano arte de la configuración de
modems. Estos comandos son todos comandos AT del estandar Hayes, pero no
todos los modems son iguales.</para>

<sect1 id="sesiones-de-modem">
<title>Sesiones de Modem</title>

<para>Una sesión de modem te permitirá interactuar con el modem directamente.
Escribiendo comandos el modem te responderá. Para conseguir una sesión de
modem, cuando la conexión no este activa ve al cuadro
Configuración/Modem/Terminal. Esto abrirá una ventana donde podrás
configurar de forma interactiva tu modem. Prueba a teclear <emphasis remap="bf">ATZ</emphasis> que
reinicia tu modem) Deberías conseguir una respuesta como <emphasis remap="bf">OK</emphasis> usa
Archivo/Cerrar para terminar con la sesión.</para>
</sect1>

<sect1 id="perfiles-del-modem">
<title>Perfiles del Modem</title>

<para>Una razón por la que puedes querer enviar los comandos directamente es
porque tienes una serie de configuraciones que quieres guardar y esto no
puedes expecificarlo en cada conexión. Una buena forma de hacer esto es a
traves de los perfiles del modem. Los modem pueden tener varios perfiles
numerados 0,1,...  <emphasis remap="bf">AT&amp;V</emphasis> puede usarse para verlos todos. El
perfil por defecto es habitualmente el 0 (esto puede cambiarse a con <emphasis remap="bf">AT&amp;Y</emphasis>.)
El perfil que en cada momento se usa es el perfil "activo".</para>

<para>Cuando cambias una configuración. el perfil activo se modifica. 
El comando <emphasis remap="bf">ATZ</emphasis> cargará el perfil por defecto, borrando cualquier
cambio que hayas hecho. Para salvar los cambios, carga el perfil que quieres
cambiar con <emphasis remap="bf">ATZ</emphasis><emphasis>n</emphasis> (donde <emphasis>n</emphasis> es el número de perfil). 
Haz los cambios que quieras y sálvalos con <emphasis remap="bf">AT&amp;W<emphasis>n</emphasis></emphasis>.
Para que el <emphasis>Kppp</emphasis> use el perfil que tú quieras cambia la cadena de
inicialización (Configuración/Modem/Cadenas del Modem) Por ejemplo
<emphasis remap="bf">ATZ1</emphasis> hará que el <emphasis>Kppp</emphasis> resetee el modem y use el perfil &num;1</para>

<para>Si quieres resetear el modem y volver al punto de comienzo, usa <emphasis remap="bf">AT&amp;F&amp;W</emphasis> 
para fijar el perfil por defecto que trajo de fábrica y guarda esa
configuración como perfil por defecto.</para>

<para>Ejemplo de cambios en el perfil en la siguiente sección.</para>
</sect1>

<sect1 id="haciendo-que-el-modem-cuelgue">
<title>Haciendo que el modem cuelgue</title>

<para>A veces puedes encontrarte con el el <emphasis>Kppp</emphasis> tiene dificultades en hacer que el
modem cuelgue. Esto suele ser resultado de un error entre la configuración
del <emphasis>Kppp</emphasis> y el modem.
Un modem estandar usa dos métodos a decidir para colgar. Comando y DTR.
El método de comando implica el enviar una secuencia de escape al modem que
pone el modem en modo de comandos, entonces se teclea el comando de colgar
(ATH).</para>

<para>Fuera de <emphasis>Kppp</emphasis>, cuando configuras el paquete pppd de forma manual, es a
menudo de ayuda el usar el método de comandos, de tal forma que uno puede
salir de una sesión de terminal y entonces comenzar un pppd sin haber
colgado el modem. En la mayoría de las situaciones el método DTR se prefiere
porque es más simple.</para>

<sect2 id="mtodo-dtr-atdn-">
<title>Método DTR (AT&amp;Dn) </title>

<para>El método DTR hará que el modem cuelgue cuando el <emphasis>Kppp</emphasis> termine de usar el
modem. Su tu tienes una sesión de modem, y pides el estado a través deAT&amp;V,
y las configuraciones que se muestran para el perfil activo sone &amp;D0,
entonces la posibilidad de colga por el método DTR esta deshabilitada.
Para habilitar el método DTR usa Configuración/Modem/Terminal para llegar a
una sesión de modem. Entonces:</para>

<para><screen>ATZ		# pasa al perfil por defecto.
AT&amp;D2		# habilita el método DTR.
AT&amp;W		# Guarda como perfil por defecto.
</screen>
</para>

<sect3 id="cmo-funciona-el-mtodo-dtr">
<title>¿Cómo funciona el método DTR?</title>

<para>Cada vez que la línea "Terminal de Datos Listo" en una línea serie entre el
ordenador y el modem se pone alta, el modem cuelga. Cuando <emphasis>Kppp</emphasis> abre el
puerto de serie, la línea DTR se lleva a un nivel bajo, en un modem externo
puedes ver la luz del DTR (o TR) que se enciende cuando esto ocurre. Cuando
la luz TR se apaga (porque el <emphasis>Kppp</emphasis> ha cerrado el puerto serie, o algo peor!)
el modem cuelga.</para>
</sect3>
</sect2>

<sect2 id="mtodo-de-comando">
<title>Método de comando</title>

<para>La otra forma de hacer que el modem cuelgue cuando esta conectado (usado
cuando AT&amp;Dn donde n no es 2) es hacer que el modem acepte comandos
cuando una sesión se esta llevando a cabo.
Para que se cuelgue correctamente, entra en usa sesión de modem y configura
el tiempo de guarda en u nintervalo pequeño así:</para>

<para><screen>ATZ
ATS12=5
AT&amp;W
</screen>
</para>

<para>Entonces usa Configuración/Modem/Cadenas del Modem/Tiempo entre cadenas para
ajustar el registro (S12) al valor para ajustar (5) El modem debería colgar
adecuadamente.</para>

<sect3 id="cmo-funciona-el-mtodo-de-comandos">
<title>¿Cómo funciona el Método de comandos?</title>

<para>Cuando el modem local está conectado a un modem remoto, está en estado
"conectado", donde transmite todos los carácteres que le llegan del modem
remoto sin interpretación.
Para hacer que el modem acepte carácteres como comandos por si mismo,
debemos pasar el modem a modo de comandos. El código de escape hace esto.</para>

<para>El código de escape esta definido por ser tres intervalos de tiempo cuya
longitud es definida por S12 (en medios segundos)</para>

<para><itemizedlist>
<listitem>
<para>Tranquilo (debe de ser más de  S12/50 segundos)</para>
</listitem>
<listitem>
<para>Carácter de escape (definido por el registro S2, por defecto es "+") 
repetido tres veces (con menos de S12/50 segundos entre cada uno)</para>
</listitem>
<listitem>
<para>Tranquilo (debe de durar más de S12/50 segundos)
</para>
</listitem>
</itemizedlist>
</para>

<para>Una vez que el modem está en modo de comandos, puedes enviarle comandos.
Para colgar, envía ATH. Los códigos de escape y la cadena para colgar usada
por <emphasis>Kppp</emphasis> se muestran en Configuración/Modem/Cadenas del Modem. Esas deberían
funcionar con tu modem.</para>
</sect3>
</sect2>
</sect1>

<sect1 id="hacer-la-llamada-por-tonos-ms-rpida">
<title>Hacer la llamada por tonos más rápida</title>

<para>Si puedes usar la llamada por tonos, la cantidad de tiempo que necesitas
para llamar se puede cambiar usando el registro S11. Él da la duración (en
centésimas de segundo) del tono a enviar cuando llamas. El valor por defecto
es de 95 (casí un segundo).
Lo rápido que puedas marcar depende del equipo de conmutación de la compañía
telefónica que mantiene tu línea. La duración mínima es de 50, casí dos
veces más rápido y esa velocidad a veces funciona.</para>

<para><screen>ATZ		# resetear al perfil por defecto
ATS11=50	# acelera lo más posible el marcado, usando un número más alto si no funciona
AT&amp;W		# Guardar el perfil por defecto.
</screen>
</para>
</sect1>
</chapter>

<chapter id="pap-y-chap">
<title>PAP y CHAP</title>

<para><emphasis>Kppp</emphasis> empezó con la versión 0.9.1 a dar soporte a la autentificación de forma
PAP que era la mayormente usada. La sección "PAP y CHAP con <emphasis>Kppp</emphasis>" te
describirá como hacer funcionar el PAP y el CHAP con <emphasis>Kppp</emphasis> en general,
mientras que la sección "PAP con <emphasis>Kppp</emphasis>" te describirá en detalle como
aprovecharse del soporte interno para la mayoría de las versiones
encontradas de PAP que es ampliamente usado por los Proveedores de Internet
comerciales (ISP).</para>

<sect1 id="pap-con-kppp">
<title>PAP con <emphasis>Kppp</emphasis></title>

<para>Hay dos formas diferentes de usar PAP:</para>

<sect2 id="autentificacin-en-el-lado-del-cliente.">
<title>Autentificación en el lado del cliente.</title>

<para>Esta variante es usada por muchos ISPs comerciales.
Básicamente significa que tú (o tu ordenador) deberás identificarte tu mismo
al servidor PPP del ISP.
El servidor PPP no debe idenntificarse a tu ordenador, pero típicamente no
es necesario porque tú sabes a que máquina estas conectado (porque la
conexión la hiciste tú mismo). Así que no hay más problemas de seguridad.
<emphasis>Kppp</emphasis> soporta esta variante directamente. Mira más abajo para ver las
instrucciones para ello.</para>

<para>Si tu proveedor solo te da un nombre de usuario y una contraseña y te
dice que uses autentificación PAP, deberás usar esta variante.</para>
</sect2>

<sect2 id="autentificacin-en-los-dos-sentidos">
<title>Autentificación en los dos sentidos</title>

<para>Lo mismo que arriba, pero tuordenador requerirá al servidor PPP del ISP que
se identifique. Para establecer una conexión, deberás elegir el método de
autentificacion "<emphasis remap="it">basado en script</emphasis>, no <emphasis remap="it">PAP</emphasis>, y deberás
editar manualmente el <literal remap="tt">/etc/ppp/pap-secrets</literal> porque <emphasis>Kppp</emphasis> no
proporciona soporte para esta variante -- es fácil establecer una conexión
usando esta variante de PAP con <emphasis>Kppp</emphasis>. Los detalles se desscriben en la
sección previa 'Usando PAP y CHAP con <emphasis>Kppp</emphasis>'.</para>
</sect2>

<sect2 id="preparando-kppp-para-pap">
<title>Preparando <emphasis>Kppp</emphasis> para PAP</title>

<para><orderedlist><listitem>
<para>Asegúrate de que los ficheros <literal remap="tt">/etc/ppp/options</literal> (y
<literal remap="tt">/.ppprc</literal>
si tienes ese fichero <emphasis remap="bf">no</emphasis> contienen uno de estos argumentos:
<itemizedlist>
<listitem>
<para>+pap</para>
</listitem>
<listitem>
<para>-pap</para>
</listitem>
<listitem>
<para>papcrypt</para>
</listitem>
<listitem>
<para>+chap</para>
</listitem>
<listitem>
<para>+ua</para>
</listitem>
<listitem>
<para>remotename</para>
</listitem>
</itemizedlist>
</para>

<para>Es difícil que uno de estos argumentos estén ya allí, pero solo por estar
seguros.</para>
</listitem>
<listitem>
<para>Arranca <emphasis>Kppp</emphasis></para>
</listitem>
<listitem>
<para>Pulsa en <emphasis remap="it">Configuración</emphasis></para>
</listitem>
<listitem>
<para>Elige la conexión que quieras usar con PAP y pulsa en <emphasis remap="it">Editar</emphasis></para>
</listitem>
<listitem>
<para>Click on the <emphasis remap="it">Dial</emphasis> tab.</para>
</listitem>
<listitem>
<para>Seleciona <emphasis remap="it">PAP</emphasis> en el cuadro <emphasis remap="it">Autentificación</emphasis></para>
</listitem>
<listitem>
<para>Si no quieres volver a teclear la clave cada cez que llames,
selecciona<emphasis remap="it">Almacenar contraseña</emphasis>. Esto hará que se guarde la
contraseña. Asegúrate de que nadie a demas de ti accede a tu conexión, si no
esa persona tendrá acceso a tu contraseña.</para>
</listitem>
<listitem>
<para>Eso es. Cierra los cuadros, teclea el nombre de usuario y contraseña
que tu ISP te proporcionó y llama.</para>
</listitem>
</orderedlist>
</para>
</sect2>
</sect1>

<sect1 id="pap">
<title>PAP y CHAP con <emphasis>Kppp</emphasis></title>

<para>Lo siguiente esta basado en un email de <ulink url="kbrown@pdq.net">Keith Brown</ulink>
y explica como hacer que <emphasis>Kppp</emphasis> funcione con una conexión PAP o CHAP genérica.
Si tu ISP te acaba de dar tu identificador y tu contraseña para una conexión
PAP puedes saltarte esta sección y leer la siguiente sección titulada "PAP
con <emphasis>Kppp</emphasis>".</para>

<para>PAP parece ser mucho más complicado a primera vista de lo que de verdad es.
El servidor (la máquina a la que te estás conectando) básicamente le dice al
cliente (tu máquina) que se identifique usando PAP. El cliente (pppd) busca
en el fichero específico una ebtrada que contenga el nombre del servidor y
el nombre del cliente para esta conexión y entonces envía la contraseña que
ahí encuentra. ¡Eso es lo que ocurre!
Ahora aquí está cómo ocurre. Estoy asumiendo una versión 2.2.0 del pppd y
una configuración estándar en /etc/ppp.</para>

<para>Con propósitos de ilustrar, asumiremos que tengo una cuenta en Internet en
"glob.net", con el nombre de usuario "booger" y la contraseña "foobar".
Primero necesitaré añadir todo esto al archivo <literal remap="tt">/etc/ppp/pap-secrets </literal>. 
El formato de entrada para nuestros propósitos es:</para>

<para><screen>NOMBRE_DE_USUARIO  NOMBRE_DE_SERVIDOR   CONTRASEñA
</screen>
</para>

<para>Así que añadiré la línea:</para>

<para><screen>booger  glob  foobar
</screen>
</para>

<para>al fichero y lo guardaré. Fíjate: Puedo usar cualquier nombre para el
servidor, así como use el mismo nombre para los comandos del ppp, así lo
veremos más corto.
Lo he acortado a "glob". Este nombre solo se usa para encontrar la
contraseña correcta.</para>

<para>Ahora necesito configurar mi conexión en el <emphasis>Kppp</emphasis>. Lo básico es lo mismo que
en cualquier otra conexión, y no entraré aquí en detalles, excepto decir que
posiblemente quieras asegurarte de que el fichero <literal remap="tt">/etc/ppp/options,</literal>
esté vacío, y posiblemente no querrás ningún script de conexión tampoco.
Ahora en el cuadro de configuración, al final, está el boton de argumentos
para el pppd. Esto te abre un menú similar al usado en la edición del script
de conexión. Aquí meteremos los valores que enviaremos al pppd como
parámetros de la línea de comandos,  en el caso de argumentos de valores
múltiples, necesitaremos introducir cada valor en una entrada separada de la
lista, en orden correcto.</para>

<para>Podemos poner cualquier otro argumento que queramos primero. Normalmente
querremos introducir los valores por defecto del <emphasis>Kppp</emphasis> '-detach' and 'defaultroute'.
Ahora necesitamos añadir los argumentos para manejar la autentificación
PAP.
En este ejemplo voy a añadir "user" "booger", "remotename", "glob" en ese
orden.
El argumento user le dice al pppp el nombre de usuario a buscar en
pap-secrets, y lo envía al servidor. El remotename es solo usado por el pppd
para encontrar la entrada en el fichero pap-secrets, y no es enviado al
servidor, así, una vez más, puede ser cualquier cosa que quiera con tal de
que sea consistente con la entrada en el fichero pap-secrets.</para>

<para>Esto es todo lo que hay. Ahora deberías ser capaz de configurar tu propia
conexión al servidor con autentificación PAP. CHAP no debería ser muy
diferente. Busca en la Guía de Administrador de Redes de LiNUX el formato
del fichero chap-secrets y los argumentos usados. El resto debería ser
fácil.</para>
</sect1>
</chapter>

<chapter id="preguntas-y-respuestas-habituales">
<title>Preguntas y Respuestas Habituales</title>

<sect1 id="pregutas-habituales">
<title>Pregutas Habituales</title>

<sect2 id="no-puedo-hacer-funcionar-el-kppp.-kppp-me-di">
<title>No puedo hacer funcionar el <emphasis>Kppp</emphasis>. <emphasis>Kppp</emphasis> me dice: "pppd has died or that
a timeout has expired" (pppd ha muerto o el tiempo de espera ha pasado)</title>

<para>¿Leíste el este manual con cuidado? Aquí hay una vez más el peligro
habitual.</para>

<para><itemizedlist>
<listitem>
<para> Asegúrate de que pppd es el binario de ppppd, no un script
</para>
</listitem>
<listitem>
<para> Asegúrate de que pppd tiene activado el setuid root. Debes fijar este
modo como root así: <emphasis remap="it">chmod u+s pppd</emphasis>.
</para>
</listitem>
<listitem>
<para>  Asegúrate de que tu fichero /etc/ppp/options existe, pero está
vacío!
</para>
</listitem>
<listitem>
<para> Asegúrate de que NO has usado la opción "lock" como un argumento para
el pppd (<emphasis>Kppp</emphasis> se encarga de bloquear el dispositivo)
</para>
</listitem>
<listitem>
<para> Usar el enlace simbólico <literal remap="tt">/dev/modem</literal> puede causar algunos
conflictos. Elimina esta fuente de problemas usando el dispositivo real. ej.
<literal remap="tt">/dev/cuaX</literal> o <literal remap="tt">/dev/ttySX</literal>.
NOTA: COM1 igual ttyS0, COM2 es ttyS1 y así.
</para>
</listitem>
<listitem>
<para> Asegúrate de que tienes los permisos necesarios. En caso de problemas
podrías ejecutar el programa como root primero y después, cuando todo
funcione o.k dale permisos menos restrictivos si no puedes permitirte el
ejecutar el <emphasis>Kppp</emphasis> con setuid root. El modo adecuado de proceder puede ser
crear un grupo "modem"
</para>
</listitem>
<listitem>
<para> Puedes estar lanzando el pppd demasiado pronto, por ejemplo antes de
que el servidor remoto haya negociado una conexión PPP. SI estas usando un
script para conectar debes usar el terminal incluido para verificar tu
proceso de conexión. Algunos proveedores te requerirán que envíes un simple
"Send" o "Send ppp" para lanzar PPP. Algunos usuarios han avisado de que han
tenido que añadir "Pause 1" o "Pause 2" a sus scripts para resolver
problemas de tiempo.
</para>
</listitem>
</itemizedlist>
</para>

<para>Si nada ayuda, puedes conseguir alguna información para depurar de los
registros de tu sistema tecleando:
<screen># tail /var/log/messages
</screen>
</para>
</sect2>

<sect2 id="kppp-me-dice-sorry-cant-open-the-modem.perdn">
<title><emphasis>Kppp</emphasis> me dice ``Sorry, can't open the modem''.(Perdón, no puedo abrir
el modem)</title>

<para>Esto significa que <emphasis>Kppp</emphasis> no tiene permisos para abrir el dispositivo del
modem o que has seleccionado un dispositivo no valido en el cuadro de Modem.
Primero asegúrate de que has seleccionado el dispositivo correcto. Una vez
que te has asegurado de que has seleccionado el dispositivo correcto debes
de darle los permisos necesarios para poder acceder al modem y ser capaz de
modificar el fichero /etc/resolv.conf en el caso de que quieras que <emphasis>Kppp</emphasis>
configure el DNS correctamente por ti. Si puedes permitirte el ejecutar <emphasis>Kppp</emphasis>
con setuid root podrás resolver todos los problemas de acceso, si no,
tendras que hallar cuales son los permisos necesarios para tus propósitos.
Para darle a <emphasis>Kppp</emphasis> permisos del setuid root haz lo siguiente:</para>

<para><screen>% su root
% chown root:root &dollar;(KDEDIR)/bin/kppp
% chmod +s &dollar;(KDEDIR)/bin/kppp
% exit
</screen>
</para>
</sect2>

<sect2 id="setuid">
<title><emphasis>Kppp</emphasis> me dice "I can't create a modem lock file" (que no puede crear
el fichero cerradura).</title>

<para>En la mayoría de los casos significa que has instalado pppd sin el bit de
SETUID, la persona que esta ejecutando <emphasis>Kppp</emphasis> no tiene permisos para acceder
al directorio de ficheros cerradura que por defecto es /var/lock. Para este
ejemplo, en el caso de sistemas RedHat. Busca en el cuadro de Modem la
localización exacta que has elegido. La solución es sencilla -- o ejecutas
<emphasis>Kppp</emphasis> con SETUID si puedes permitírtelo, o das acceso al fichero /var/lock a
los usuarios normales.</para>
</sect2>

<sect2 id="por-qu-kppp-est-instalado-con-el-bit-setuid">
<title>¿Por qué <emphasis>Kppp</emphasis> está instalado con el bit SETUID?</title>

<para>No es necesario que el bit de SETUID esté activado, si conoces un poco de
administración de sistemas Unix. Simplemente crea un grupo "modem", incluye
a todos los usuarios que quieres que tengan acceso al modem y dale permisos
al dispositivo de lectura/escritura al grupo. Lo mismo si quieres que
funcione la configuración de DNS con <emphasis>Kppp</emphasis>, debes de darle permisos de
lectura/escritura al fichero /etc/resolv.conf mediante el grupo.
Lo mismo ocurre con los ficheros <literal remap="tt">/etc/ppp/pap-secrets</literal> y <literal remap="tt">/etc/ppp/chap-secrets</literal> 
si quieres usar el soporte PAP o CHAP, respectivamente.</para>

<para>Por favor, no me critiques por instalar <emphasis>Kppp</emphasis> con el bit de setuid habilitado,
simplemente no puedo con todo el correo que me llega de los usuarios
desesperados que tienen problemas para hacer funcionar el <emphasis>Kppp</emphasis> porque no
entendían lo suficiente de Unix y permisos de dispositivos.</para>

<para>El equipo <emphasis>Kppp</emphasis> ha hecho mucho trabajo últimamente para hacer al
<emphasis>Kppp</emphasis> seguro en el tema del setuid. Pero depende de ti el que decidas
instalarlo y como instalarlo.</para>
</sect2>

<sect2 id="kppp-simplemente-se-sienta-y-espera-expectin">
<title><emphasis>Kppp</emphasis> simplemente se sienta y espera: Expecting OK</title>

<para><itemizedlist>
<listitem>
<para> ¿Has jugado con la configuración de CR/LF?
</para>
</listitem>
<listitem>
<para> Tu modem puede necesitar algún tiempo para responder a su
inicialización. Abre el cuadro "Comandos del Modem" en el apartado "Modem" y
ajusta los retardos de "Pre-Inicio" y "Post-Inicio". Mira si funciona cuando
los incrementas drásticamente para hacer el ajuste fino más tarde.</para>
</listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="autohostname">
<title>La conexión va bien, pero no puedo arrancar ninguna aplicación. </title>

<para>Probablemente has activado la opción <xref linkend="direccion-ip">
y el servidor de X tiene problemas para conectar con tu nuevo servidor.
Si de verdad necesitas esta opción (hay posibilidades de que no lo
necesites) dependes de ti mismo para configurar los permisos adecuados.
Tecleando <emphasis remap="it">xhost +</emphasis> antes de comenzar la conexión, hará el trabajo
pero <emphasis remap="bf">ten cuidado</emphasis> de que cualquier riesgo en seguridad que implique
porque cualquier otra persona tendrá acceso a tu servidor de X.</para>
</sect2>

<sect2 id="kppp-muestra-una-conexin-segura-pero-netscap">
<title><emphasis>kppp</emphasis> muestra una conexión segura, pero Netscape simplemente dice
"El servidor no tiene una entrada DNS"</title>

<para>Prueba a hacer un ping a otro servidor, pero a su número IP, ej.
<literal remap="tt">ping</literal>. Si eso funciona debes</para>

<para><itemizedlist>
<listitem>
<para> Comprobar si le diste a <emphasis>Kppp</emphasis> al menos una dirección DNS.</para>
</listitem>
<listitem>
<para> Comprobar el contenido de <literal remap="tt">/etc/host.conf</literal>. Debe de haber una
linea diciendo algo similar a <literal remap="tt">order hosts, bind</literal>. El <literal remap="tt">bind</literal>
Sugiere a la libreria del "resolver" el incluir una consulta al servidor de
nombres cuando busca una dirección.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="cmo-puedo-hacer-que-kppp-enve-n-o-r">
<title>¿Cómo puedo hacer que <emphasis>Kppp</emphasis> envíe \n o \r?</title>

<para>Simplemente envía una cadena vacía como en el siguiente script:
<screen>Send                                   # envía una cadena vacía
Expect      ID:                        
Send        itsme                     
Expect      word:                      
Send        forgot                    
Expect      granted                    
Send        ppp                        
                                       
</screen>
</para>
</sect2>

<sect2 id="kppp-se-queja-cant-create-lock-file-no-puedo">
<title><emphasis>Kppp</emphasis> se queja: "Can't create lock file" (no puedo crear el fichero
cerradura)</title>

<para>Esto significa que no tienes permisos para crear el fichero cerradura. Si
por ejemplo has especificado  '/var/lock/LCK..modem" en la configuración del
modem, deberás tener permisos de escritura para escribir en /var/lock
Este por supuesto no es el problema si le has dado permisos de setuid a
<emphasis>Kppp</emphasis>. Por favor lee la sección de <link linkend="dispositivo">Ficheros cerradura</link>.</para>
</sect2>

<sect2 id="mi-modem-hace-mucho-ruido-cuando-marca">
<title>¡Mi modem hace mucho ruido cuando marca!</title>

<para>Pulsa en "Configuración", "Modem". Puedes controlar el volumen del modem
aqui en tres pasos: apagado, medio y alto. Para la mayoria de los modems
"medio" y "alto" son el mismo volumen. Si eso no funciona asegúrate de que
tienes los valores de configuración correctos para tu modem en
"Configuración"/"Modem"/"Comandos del Modem"!</para>
</sect2>

<sect2 id="apagu-el-volumen-del-modem-off-y-verifiqu-lo">
<title>¡Apagué el volumen del modem "off" y verifiqué los comandos del modem,
pero sigo oyendo ese ruido cuando marca!</title>

<para>La cadena de inicialización del volumen puede perderse si tu modem no puede
recibir los comandos desde <emphasis>Kppp</emphasis> a mucha velocidad. Incrementa el valor
de "Retraso Post-Inicialización" en "Configuración"/"Modem"/"Comandos del
Modem"!</para>
</sect2>

<sect2 id="kppp-habla-de-una-velocidad-de-modem-anormal">
<title><emphasis>Kppp</emphasis> habla de una velocidad de modem anormal 115200, 57600 o
similar</title>

<para>Muchos modems solo avisan de la velocidad de la linea de serie, no de la
velocidad sobre la linea telefónica por defecto. Debes configurar esos
modems para que avisen de la verdadera velocidad sobre la linea (añade al
modem o teclea la cadena). Para muchos modems eso se hace con el comando
"ATW2". Si quieres añadirlo a la cadena de marcado (típicamente "ATD"), la
nueva cadena sería "ATW2D".</para>
</sect2>

<sect2 id="kppp-dice-velocidad-desconocida">
<title><emphasis>Kppp</emphasis> dice "Velocidad desconocida"</title>

<para>Los nuevos modems a menudo tienen mensajes de conexión  muy complejos como
"CONNECT LAP.M/V42.bis/115000:RX/31200:TX", y <emphasis>Kppp</emphasis> no puedeentender el
mensaje de forma adecuada. Enciende "Mostrar registro" y verás la velocidad
de conexión. Actualmente estoy trabajando en una solución para ello, el
programa es ahora mucho mejor, pero aun no es perfecto.</para>
</sect2>

<sect2 id="baja-velocidad-de-conexin">
<title>Baja velocidad de conexión</title>

<para>Si no estás satisfecho con la velocidad del modem, asegúrate de que tienes
la velocidad de conexión ("Configuración" / "Dispositivo" / "Velocidad")
puesta con 57600 o mayor. Asegúrate de que tus puertos de serie soportan
velocidades mas altas. Muchos sistemas basados en i486 no hacen el trabajo
de forma adecuada cuando fijas la velocidad a 115200. Si tienes una UART
8250 no funcionara. Si tienes una 16550 o 16550A debería funcionar sin
fallar.</para>
</sect2>

<sect2 id="mi-linea-de-telefono-necesita-marcar-con-pul">
<title>Mi linea de telefono necesita marcar con pulsos en vez de con tonos
(o vice-versa)</title>

<para>Debes modificar tu cadena del modem. Casi todos los modems soportan los
comandos AT:
<itemizedlist>
<listitem>
<para>ATDT - selecciona marcar con tonos</para>
</listitem>
<listitem>
<para>ATDP - selecciona marcar con pulsos</para>
</listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="kppp-hace-cosas-realmente-extraas-lo-que-sea">
<title><emphasis>Kppp</emphasis> hace cosas realmente extrañas (lo que sea)</title>

<para>¿Lo compilaste tú el programa o las librerías con gcc-2.8? Esta versión de
gcc tiene algo estropeado y no ejecutará como se espera.</para>
</sect2>

<sect2 id="cmo-puedo-escribir-un-fichero-de-reglas-para">
<title>¿Cómo puedo escribir un fichero de reglas para el coste telefónico?</title>

<para>Unicamente sigue los ficheros de plantilla (TEMPLATE) que se proporcionan
con <emphasis>Kppp</emphasis>. Puedes encontrar una copia en <literal remap="tt">&dollar;(KDEDIR)/doc/HTML/kppp</literal>.
Usa el comando -r en la línea de comandos para comprobar la sintaxis de tu
fichero de normas propuesto.</para>
</sect2>

<sect2 id="he-escrito-un-fichero-de-reglas-de-coste-tel">
<title>He escrito un fichero de reglas de coste telefónico para mi región.
¿Dónde puedo enviarlo para que otros puedan usarlo?</title>

<para>Me encantaría recibir cualquier fichero de reglas que sea escrito. Los
añadiré a mi <emphasis>Kppp</emphasis>
<ulink url="http://math.cornell.edu/~wuebben/kppp/kppp.html">web page</ulink>.
Antes de enviarme un nuevo fichero de reglas asegúrate de que no está ya
disponible en la página web de <emphasis>Kppp</emphasis>. Después enviame el fichero de
reglas
por email a:<ulink url="mailto:wuebben@math.cornell.edu">mi</ulink>.</para>
</sect2>

<sect2 id="puede-mi-fichero-de-reglas-de-costes-co-tene">
<title>¿Puede mi fichero de reglas de costes co tener unidades fraccionales
de tiempo, ej. "(0.17, 45.5)"?</title>

<para>Si es posible. Pero no deberás usar unidades de tiempo unusualmente pequeñas
(por debajo de la decena de segundo), porque eso implica una mayor carga de
CPU (aunque dudo que lo notes con una CPU moderna :-)</para>
</sect2>

<sect2 id="mi-pas-tiene-otras-vacaciones-adems-de-seman">
<title>Mi país tiene otras vacaciones además de Semana Santa.</title>

<para>En ese caso nenesitarás escribir un nuevo código que te permita el cálculo
de esas vacaciones. Por favor échale un vistazo al ruleset.cpp y emula el
ejemplo "easter".
Luego, envíame los parches a <ulink url="mailto:wuebben@math.cornell.edu">mi</ulink>.</para>
</sect2>
</sect1>
</chapter>

<chapter id="apndice">
<title>Apéndice</title>

<sect1 id="los-comandos-hayes-del-modem">
<title>Los comandos Hayes del Modem</title>

<para><ulink url="hayes.html">Los comandos Hayes</ulink> deben de estar a mano si
necesitas poner a punto tu modem</para>
</sect1>

<sect1 id="ficheros-relacionados-con-kppp">
<title>Ficheros relacionados con <emphasis>Kppp</emphasis></title>

<para>Por defecto <emphasis>Kppp</emphasis> hace uso de los siguientes ficheros y directorios. La
localización de algunos puede variar a la hora de compilar.</para>

<para><screen>&dollar;{KDEDIR}/bin/kppp
&dollar;{KDEDIR}/share/doc/HTML/.../kppp/*
&dollar;{KDEDIR}/share/apps/kppp
&dollar;{KDEDIR}/share/apps/kppp/Rules/*/*.rst
&dollar;{KDEDIR}/share/apps/kppp/pics/*
&dollar;{HOMEDIR}/.kde/share/apps/kppp
&dollar;{HOMEDIR}/.kde/share/apps/kppp/kppp.pid
&dollar;{HOMEDIR}/.kde/share/apps/kppp/Log/*
&dollar;{HOMEDIR}/.kde/share/config/kppprc
</screen>
</para>
</sect1>

<sect1 id="reportando-problemas-con-kppp">
<title>Reportando problemas con <emphasis>Kppp</emphasis></title>

<para>Antes de avisar de un problema o un error potencial (bug) a 
<ulink url="mailto:wuebben@kde.org">encargado</ulink> de <emphasis>Kppp</emphasis>, 
por favor asegúrate de que te has leído la sección<link linkend="preguntas-y-respuestas-habituales">Preguntas Habituales</link> detenidamente.</para>

<para>Si de todas formas tienes problemas, necesitarás incluir la siguiente
información en tu reporte:
<itemizedlist>
<listitem>
<para>Versión del <emphasis>Kppp</emphasis> que estas usando.<emphasis remap="it">kppp -v</emphasis> te mostrará el
número de versión.</para>
</listitem>
<listitem>
<para>Versión del pppd que usas <emphasis remap="it">/usr/sbin/pppd -h</emphasis> te mostrará el
número.</para>
</listitem>
<listitem>
<para>Qué sistema operativo y versión estás usando. <emphasis remap="it">uname -a</emphasis> te
dará esta información en la mayoría de los sistemas UNIX.</para>
</listitem>
<listitem>
<para>Si <emphasis>Kppp</emphasis> te dice "pppd died unexpectly", añade la opción <emphasis remap="it">debug</emphasis>
a los  <link linkend="marcado">opciones del pppd</link>. Llama otra vez
para reproducir el error.</para>
<para>Ahora el fichero <literal remap="tt">/var/log/messages</literal> (este depende de tu sistema y de
la configuración, pero un sistema LiNUX típico lo tendrá) mostrará mucha
información de depurado al final. <emphasis remap="bf">No nos envíes todo el fichero</emphasis>. 
Habitualmente tiene varios miles de líneas y no tenemos tiempo para procesar
todo ese  fichero. En vez de eso, envianos solo las últimas líneas que
contengan <emphasis remap="it">pppd</emphasis>. Asegúrate de que el fichero  <emphasis remap="bf">no</emphasis> contiene
información comprometida como contraseñas o nombres de usuario. Reemplaza
esa información por algo como "minombre" y  "micontraseña"</para>
</listitem>
</itemizedlist>
</para>
</sect1>
</chapter>

<chapter id="licencia">
<title>Licencia</title>

<sect1 id="la-licencia-publica-general-gnu">
<title>La Licencia Pública General GNU</title>

<para>
<literal remap="tt">Nota del Traductor:</literal>Por cuestiones de interpretación he decidido no
traducir el texto de la licencia GNU-GPL. 
<programlisting>                    GNU GENERAL PUBLIC LICENSE
                       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                          675 Mass Ave, Cambridge, MA 02139, USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
free or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

                    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
</programlisting>


<programlisting>                            NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

                     END OF TERMS AND CONDITIONS</programlisting>
</para>
</sect1>

<sect1 id="sobre-la-traduccin.">
<title>Sobre la traducción.</title>

<para>Esta traducción se distribuye bajo los términos de la Licencia Pública
General - GPL - GNU.</para>

<para>Jaime Robles - <literal remap="tt">ea4abw@amsat.org</literal></para>
</sect1>
</chapter>
<![ %addindex; [ &docindex; ]]>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-general-insert-case: lower
End:
-->
