<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&ktalkd;">
  <!ENTITY % addindex "IGNORE"
> 
  <!ENTITY % Spanish "INCLUDE"
> <!-- change language only here -->   
]>

<book lang="&language;">

<bookinfo>
<title
>El manual de &ktalkd;</title>
<authorgroup>
<author
><firstname
>David</firstname
> <surname
>Faure</surname
> <affiliation
> <address
><email
>faure@kde.org</email
></address>
</affiliation>
</author>

<othercredit role="translator"
><firstname
></firstname
><surname
></surname
><affiliation
><address
><email
>mcc3@alu.um.es</email
></address
></affiliation
><contrib
></contrib
></othercredit
> 
</authorgroup>

<legalnotice>
&FDLNotice;
</legalnotice>

<copyright>
<year
>2001</year>
<holder
>David Faure</holder>
</copyright>

<date
>2001-05-02</date>
<releaseinfo
>1.05.02</releaseinfo>

<abstract>
<para
>&ktalkd; es un demonio <command
>talk</command
> mejorado - un progama para manejar peticiones <command
>talk</command
> entrantes, anunciarlas y permitirle responderlas usando un cliente talk. </para
> 

</abstract>
<keywordset>
<keyword
>KTALKD</keyword>
<keyword
>talk</keyword>
<keyword
>talkd</keyword>
<keyword
>otalk</keyword>
<keyword
>ntalk</keyword>
<keyword
>ktalkdlg</keyword>
<keyword
>kcmktalkd</keyword>
</keywordset>
</bookinfo>

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

<para
>&ktalkd; es un demonio <command
>talk</command
> mejorado - un progama para manejar peticiones <command
>talk</command
> entrantes, anunciarlas y permitirle responderlas usando un cliente talk. </para>

<important>
<para
>Note que &ktalkd; esta diseñado para ser ejecutado en un sistema de trabajo de un solo usuario, y no debería ser ejecutado en un sistema multi-usuario. Ya que lee los archivos de configuración de los usuarios, estos pueden conseguir que el demonio <command
> talk</command
> ejecute cualquier orden, lo cual es particularmente peligroso. No use &ktalkd; si ha creado cuentas en su sistema de gente en las que no confía completamente. </para>
</important>

<para
>En este documento, si alguien quiere hablarle, usted es designado como el «llamado». </para>

<para
>&ktalkd; tiene las siguientes características:</para>

<variablelist>
<varlistentry>
<term
>Contestador automático</term>
<listitem>
<para
>Si el llamado no esta en el sistema, o no responde despues del segundo anuncio, un contestador automatico es ejecutado, recoge el mensaje, y lo envía por correo-e al llamado. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Sonido</term>
<listitem>
<para
>Si lo desea, se reproduce un sonido con el anuncio. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Anuncio X </term>
<listitem>
<para
>Si se compila con &kde; instalado, &ktalkd; usara <command
>ktalkdlg</command
>, un dialogo &kde;, para anunciarse. Si &ktalk; se esta ejecutando, se le informara para que haga el anuncio el mismo (nuevo desde 0.8.8). </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Anuncio en múltiples pantallas</term>
<listitem>
<para
>Si esta en el sistema de manera remota (&eg; con una orden <userinput
><command
>export</command
> <envar
>DISPLAY</envar
>=<replaceable
>...</replaceable
></userinput
> ), el anuncio X se hará en esta pantalla también. Responda en la que usted quiera. Si esta también en una terminal de texto, y <emphasis
>no </emphasis
> esta usando xterm (restricción interna), entonces también vera un anuncio de texto también, en el caso de que este usando la terminal de texto en el momento del anuncio. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Reenvío <emphasis
>(nuevo desde 0.8.0)</emphasis
></term>
<listitem>
<para
>Puede configurar un reenvío a otro usuario aun en otra sistema si esta ausente. Hay tres métodos de reenvío. Vea la sección <link linkend="usage"
>Uso</link
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Configuración</term>
<listitem>
<para
>Si &ktalkd; se compila para &kde;, lee la configuración de los archivos de &kde;, el lugar global (<filename
>$<envar
>KDEDIR</envar
>/share/config/ktalkdrc</filename
>) y el de usuario, en su carpeta personal. El global debe ser editado manualmente por el administrador, pero hay un dialogo de configuración para el usuario. Se llama <command
>kcmktalkd</command
> y se puede encontrar en &kcontrol; despues de instalar &ktalkd;. En sistemas no-&kde;, &ktalkd; leerá <filename
>/etc/talkd.conf</filename
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Internacionalización</term>
<listitem>
<para
>Bajo &kde; los anuncios serán en su lenguaje si lo ha especificado en &kde; y que alguien halla traducido <command
>ktalkdlg</command
>. Lo mismo se aplica al dialogo de configuración, <command
>kcmktalkd</command
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Soporte de <command
>otalk</command
> y <command
>ntalk</command
> <emphasis
>(nuevo desde 0.8.1)</emphasis
></term>
<listitem>
<para
>&ktalkd; ahora entiende ambos protocolos, aun cuando reenvía. </para>
</listitem>
</varlistentry>
</variablelist>

<para
>Espero que disfrute este demonio talk,</para>

<para
>David Faure <email
>faure@kde.org</email
></para>

</chapter>

<chapter id="usage">
<title
>Uso</title>

<para
>Para usar &ktalkd; necesita un cliente <command
>talk</command
>. El<command
>talk</command
> en modo texto está disponible en la mayoría de sistemas &UNIX;. Intente<userinput
><command
>talk</command
> <replaceable
>su&lowbar;nombre</replaceable
></userinput
> para ver quepasa cuando recibe una petición <command
>talk</command
>. </para>

<para
>También puede probar el contestador automático de la misma manera: inicie <command
>talk</command
> a usted mismo, ignore el anuncio dos veces, y verá el contestador automatico. </para>

<para
>Aquí hay un cliente <command
>talk</command
> con una interfaz gráfica para &kde;, &ktalk;. No se distribuye aún con los paquetes de &kde;, pero puede encontrarlo en ftp://ftp.kde.org. Debería estar en <ulink url="ftp://ftp.kde.org/pub/kde/stable/latest/apps/network"
>ftp://ftp.kde.org/pub/kde/stable/latest/apps/network</ulink
> </para>

<para
>El dialogo de anuncio es trivial: <guibutton
>responder</guibutton
> o <guibutton
>ignorar</guibutton
>. </para>

<para
>El dialogo de configuración debería ser fácil, excepto para configurar reenvío a otro usuario (o a otro sistema). </para>

<sect1 id="choosing-a-forwarding-method">
<title
>Eligiendo un método de reenvío</title>

<para
>Nada es perfecto, todos tienen pros (+) y contras (-). </para>

<variablelist>
<varlistentry>
<term
><acronym
>FWA</acronym
> - Solo reenviar anuncio.</term>
<listitem>
<para
>Conexión directa. No recomendada. </para>
<itemizedlist>
<listitem>
<para
>(+) Sabe quien es el llamado, pero </para>
</listitem>
<listitem>
<para
>(-) El llamador tendar que responder a un anuncio de usted. Molesto. </para>
</listitem>
<listitem>
<para
>(-) No lo use si tiene un contestador automatico en el lugar en el que esta «ausente». (El sistema del contestador no puede mostrar una ventana emergente, puede ser confuso!) </para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>

<varlistentry>
<term
><acronym
>FWR</acronym
> - Reenviar todas las peticiones, cambia la información cuando sea necesario</term>
<listitem>
<para
>Conexión directa. </para>
<itemizedlist>
<listitem>
<para
>(+) El llamador no sabrá que esta ausente, pero </para>
</listitem>
<listitem>
<para
>(-) No sabrá quien le llama realmente - solo su nombre de usuario, solo vería <computeroutput
>charla de Wintalk@my&lowbar;host </computeroutput
> </para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>

<varlistentry>
<term
><acronym
>FWT</acronym
> -  Reenviar todas las peticiones y coger la llamada.</term>
<listitem>
<para
>No hay conexión directa.</para>

<itemizedlist>
<listitem>
<para
>(+) Lo mismo de arriba, pero también funciona si el llamador no puede estar en contacto directo el uno con el otro (&eg; cortafuegos). </para>
</listitem>
<listitem>
<para
>(+) Se le dirá con quien esta realmente hablando cuando acepte la charla </para>
</listitem>
<listitem>
<para
>(-) Pero como en <acronym
>FWR</acronym
>, usted no sabrá su nombre de sistema en el anuncio </para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
</variablelist>

<para
>Hablando rápido, use <acronym
>FWT</acronym
> si quiere usarlo detrás de un cortafuegos (y si &ktalkd; puede acceder a ambas redes), y <acronym
>FWR</acronym
> en otro caso. </para>

</sect1>
</chapter>

<chapter id="questions-and-answers">
<title
>Preguntas y respuestas</title>

<qandaset>
<qandaentry>
<question>
<para
>¿Porque <systemitem class="username"
>root</systemitem
> no recibe anuncios en &kde;? </para>
</question>

<answer>
<para
>Porque seria un fallo de seguridad, con la detección de usuarios actual. Puede rodear la limitación añadiendo dos lineas en los archivos de configuración de <command
>xdm</command
> (que son los mismos de &kdm;). </para>

<note>
<para
>La distribución &Linux; S.u.S.E incluye estas lineas de manera predeterminada. </para>
</note>

<para
>Estos archivos de configuración están normalmente en una carpeta como <filename class="directory"
>/etc/X11/xdm</filename
>, o <filename class="directory"
>/usr/X11R6/lib/X11/xdm</filename
>. Lo siguiente supone que están en <filename class="directory"
> /etc/X11/xdm</filename
>, asi que tendrá que cambiar uno a otro si lo necesita.</para>

<para
>Aquí está lo que tiene que hacer:</para>

<procedure>
<step>
<para
>Edite el archivo <filename
>Xstartup</filename
>, o creelo, (en la carpeta de configuraciones de <command
>xdm</command
>) para que contenga: </para
> 
<screen
>#!/bin/sh
/etc/X11/xdm/GiveConsole
sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER</screen>
</step>
<step>
<para
>Y el archivo <filename
>Xreset</filename
> para que contenga: </para>
<screen
>#!/bin/sh
/etc/X11/xdm/TakeConsole
sessreg -d -l $DISPLAY $USER</screen>
</step>
<step>
<para
>Asegúrese que que <filename
>xdm-config</filename
> referencia a estos dos archivos: </para>
<screen
>DisplayManager._0.startup:      /etc/X11/xdm/Xstartup
DisplayManager._0.reset:        /etc/X11/xdm/Xreset </screen>
</step>
</procedure>

<para
>Esto producirá que &kdm; (o <command
>xdm</command
>) registre el usuario en utmp, que es lo correcto. No es trabajo de &konsole;, ni de<command
>xterm</command
>, registrar al usuario, sino de <command
>xdm</command
>y &kdm;, en mi opinión. Sin embargo esto no registrara el usuario como usuario de X cuando se usa <command
>startx</command
>... ¿Alguna idea sobre eso? </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>¿Porque yo, como usuario normal, no recibo anuncios en &kde;? </para>
</question>

<answer>
<para
>Si esta ejecutando un sistema &Linux; (con <filename class="directory"
>/proc</filename
> montado) este comportamiento es un fallo. Por favor envíeme una descripción para que pueda corregirlo. </para>

<para
>Si esta ejecutando &Linux; 2.0.35, esto es un fallo conocido en el núcleo, que no permite al usuario <systemitem class="username"
>root</systemitem
> leer <filename class="directory"
>/proc</filename
>. La solución es la misma que la pregunta anterior, dado que ejecuta &kdm; o <command
>xdm</command
> para ingresar en X. ¡O actualice! </para>

<para
>De otra manera, esto es normal. &ktalkd; no puede encontrar el usuario, ya que &kde; no le registro en utmp y la detección &Linux; (basada en <filename class="directory"
>/proc</filename
>) esta deshabilitada. La solución es la misma que la pregunta anterior, dado que ejecuta &kdm; o <command
>xdm</command
> para ingresar en X. Otra solución es asegurarse que siempre tiene un <application
>xterm</application
> ejecutándose. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>¿Como consigo información de depurado de &ktalkd;? </para>
</question>

<answer>
<para
>Como es un demonio, no hay salida de depurado en la salida estándar. Para conseguir información de depurado (por ejemplo antes de enviarme un informe de fallo), modifique las lineas en <filename
>inetd.conf</filename
> que ejecuta &ktalkd; y &kotalkd; a: </para>
 
<screen
>talk   dgram   udp     wait    root    /usr/sbin/tcpd  /opt/kde/bin/ktalkd -d
ntalk  dgram   udp     wait    root    /usr/sbin/tcpd  /opt/kde/bin/ktalkd -d</screen>

<para
>Note la opción <option
>-d</option
>. </para>

<para
>Entonces modifique <filename
>/etc/syslog.conf</filename
> y añada la linea siguiente: </para>

<screen
>*.*         /var/log/all_messages</screen>

<para
>Para hacer que funcione, tiene que reiniciar <command
>inetd</command
>  y <command
>syslogd</command
>:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>killall</command
> <option
>-HUP inetd</option
></userinput>
<prompt
>%</prompt
> <userinput
><command
>killall</command
> <option
>-HUP syslogd</option
></userinput
></screen>

<para
>Finalmente, ejecute una sesión <command
>talk</command
> y vea el resultado en <filename
>/var/log/all&lowbar;messages</filename
> </para>

<para
>Cuando envíe un informe de fallo, nunca olvide incluir información de depurado, pero tampoco la versión de &ktalkd; y la salida de <command
>./configure </command
>. Gracias.</para>

</answer>
</qandaentry>
</qandaset>

</chapter>

<chapter id="copyright-and-license">
<title
>Créditos y licencias</title>

<para
>&ktalkd; es mantenido y mejorado por David Faure, <email
>faure@kde.org</email
> </para>

<para
>El programa original fue escrito por Robert Cimrman, <email
>cimrman3@students.zcu.cz</email
> </para>

<para
>Matías Costa<email
>mcc3@alu.um.es</email
></para
> 
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Instalación</title>

<sect1 id="how-to-obtain-ktalkd">
<title
>Como obtener &ktalkd;</title>

<para
>&ktalkd; es ahora una aplicación base del proyecto &kde; <ulink url="http://www.kde.org"
>http://www.kde.org</ulink
>, parte del paquete kdenetwork. </para>

<para
>Siempre puede descargar el último &ktalkd; del servidor &FTP; principal del proyecto &kde; <ulink url="ftp://ftp.kde.org/pub/kde"
>ftp://ftp.kde.org/pub/kde</ulink
> y sus replicas. Normalmente podrá encontrarlo en <ulink url="ftp://ftp.kde.org/pub/kde/stable/latest/apps/network"
>ftp://ftp.kde.org/pub/kde/stable/latest/apps/network</ulink
> </para>
</sect1>

<sect1 id="requirements">
<title
>Requerimientos</title>

<para
>Para compilar con éxito &ktalkd; necesita las últimas versiones de las librerías &kde;, así como la librería C++ &Qt;. Puede encontrar todas las librerías requeridas, y &ktalkd; mismo, en <ulink url="ftp://ftp.kde.org/pub/kde/"
>ftp://ftp.kde.org/pub/kde/</ulink
>. </para>
</sect1>

<sect1 id="compilation-and-installation">
<title
>Compilación y instalación</title>

<para
>Para compilar y instalar &ktalkd; en su sistema, escriba lo siguiente en la carpeta base de su distribución de &ktalkd;: </para>

<screen
><prompt
>%</prompt
> <userinput
><command
>./configure</command
></userinput>
<prompt
>%</prompt
> <userinput
><command
>make</command
></userinput
> 
<prompt
>%</prompt
> <userinput
><command
>make</command
> <option
>install</option
></userinput
></screen>

<para
>Como &ktalkd; es un demonio, <userinput
><command
>make</command
> <option
>install</option
></userinput
> requiere privilegios de <systemitem class="username"
>root</systemitem
>.</para>

<para
>No olvide actualizar <filename
>/etc/inetd.conf</filename
>. Por ejemplo, en un sistema &Linux;, si &kde; esta en <filename class="directory"
>/opt/kde</filename
>, cambie la lineas sobre <command
>talk</command
> y <command
>ntalk</command
> a: </para>

<screen
>talk   dgram   udp     wait    root    /usr/sbin/tcpd  /opt/kde/bin/ktalkd
ntalk  dgram   udp     wait    root    /usr/sbin/tcpd  /opt/kde/bin/ktalkd</screen>

<para
>Se facilita un guión para realizar los cambios necesarios automáticamente. Actualice su archivo <filename
>inetd.conf</filename
> simplemente ejecutando</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>./post-install.sh</command
></userinput
></screen>

<para
>De cualquier manera, tendrá que <emphasis
>reiniciar inetd</emphasis
> despues de esto. En la mayoría de sistemas &Linux; haga: </para>

<screen
><prompt
>%</prompt
> <userinput
><command
>killall</command
> <option
>-HUP inetd</option
></userinput
></screen>

<para
>En sistemas más nuevos, que usan <command
>xinetd</command
>, no existe <filename
>/etc/inetd.conf</filename
>, y debería editar o crear <filename
>/etc/xinetd.d/talk</filename
> en su lugar, con estas lineas: </para>

<screen
>service talk
{
        socket_type = dgram
        wait = yes
        user = root
        server = /usr/bin/ktalkd
}

service ntalk
{
        socket_type = dgram
        wait = yes
        user = root
        server = /usr/bin/ktalkd
}</screen>

<para
>entonces reinicie <command
>xinetd</command
>. </para>

<para
>Por favor infórmeme de cualquier modificación que halla tenido que realizar para conseguir que &ktalkd; se compile o funcione en su plataforma. </para>
</sect1>

</appendix>

</book>

<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

// vim:ts=0:sw=2:tw=78:noet
-->


