<?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 % Portuguese "INCLUDE" > <!-- change language only here --> ]> <book lang="&language;"> <bookinfo> <title >O Manual do &ktalkd;</title> <authorgroup> <author ><firstname >David</firstname > <surname >Faure</surname > <affiliation > <address ><email >faure@kde.org</email ></address> </affiliation> </author> <othercredit role="translator" ><firstname >José</firstname ><surname >Pires</surname ><affiliation ><address ><email >jncp@netcabo.pt</email ></address ></affiliation ><contrib >Tradução</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 >O &ktalkd; é um servidor de <command >talk</command > melhorado - um programa para tratar dos pedidos de <command >talk</command > recebidos, anunciá-los e permitir a si responder a eles, usando um cliente de <command >talk</command >. </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 >Introdução</title> <para >O &ktalkd; é um servidor de <command >talk</command > melhorado - um programa para tratar dos pedidos de <command >talk</command > recebidos, anunciá-los e permitir a si responder a eles, usando um cliente de <command >talk</command >. </para> <important> <para >Tenha em atenção que o &ktalkd; está desenhado para correr numa estação de trabalho para um único utilizador, e não deve ser executado numa máquina multi-utilizador: dado que lê os ficheiros de configuração dos utilizadores, estes poderão fazer o servidor do <command >talk</command > executar qualquer comando, o que poderá ser particularmente perigoso. Não use o &ktalkd; se criar contas na sua máquina para pessoas em que não confie por completo. </para> </important> <para >Neste documento, se alguém quiser falar consigo, você é designado como sendo o <quote >chamado</quote >. </para> <para >O &ktalkd; tem as seguintes funcionalidades :</para> <variablelist> <varlistentry> <term >Gravador de chamadas</term> <listitem> <para >Se o chamado não estiver ligado, ou se não atender ao segundo anúncio, é invocado um atendedor de chamadas que recebe a mensagem e envia-a por e-mail para o chamado. </para> </listitem> </varlistentry> <varlistentry> <term >Som</term> <listitem> <para >Se desejado, poderá ser tocado um som com o anúncio. </para> </listitem> </varlistentry> <varlistentry> <term >Anúncio X </term> <listitem> <para >Se for compilado com o &kde; instalado, o &ktalkd; irá usar o <command >ktalkdlg</command >, uma janela do &kde;, para efectuar o anúncio. Se estiver a correr o &ktalk;, ser-lhe-á pedido para tratar ele próprio do anúncio (novo desde a versão 0.8.8). </para> </listitem> </varlistentry> <varlistentry> <term >Anúncio em vários ecrãs</term> <listitem> <para >Se você estiver ligado remotamente (⪚ com um comando <userinput ><command >export</command > <envar >DISPLAY</envar >=<replaceable >...</replaceable ></userinput >), o anúncio do X será feito também nesse ecrã. Responda no ecrã que desejar! Se você também estiver ligado num terminal de texto, e se <emphasis >não</emphasis > estiver a usar 'xterm's (restrição interna), então também verá um anúncio em texto, no caso de você estar a usar o terminal de texto na altura do anúncio. </para> </listitem> </varlistentry> <varlistentry> <term >Reencaminhamento <emphasis >(Novo desde a versão 0.8.0)</emphasis ></term> <listitem> <para >Você poderá reencaminhar a mensagem para outro utilizador e mesmo para outra máquina se estiver ausente. Existem 3 métodos diferentes de reencaminhamento. Veja a secção <link linkend="usage" >Utilização</link >. </para> </listitem> </varlistentry> <varlistentry> <term >Configuração</term> <listitem> <para >Se o &ktalkd; estiver compilado para o &kde;, ele lê as opções dos ficheiros de configuração do &kde; - o ficheiro da máquina (<filename >$<envar >KDEDIR</envar >/share/config/ktalkdrc</filename >) e o do utilizador, na sua pasta pessoal. O ficheiro da máquina tem de ser editado manualmente pelo administrador, mas existe agora uma janela de configuração para o do utilizador. Chama-se <command >kcmktalkd</command > e poderá ser encontrada no &kcontrol; depois de instalar o &ktalkd;. Nos sistemas não-&kde;, o &ktalkd; irá ler o <filename >/etc/talkd.conf</filename >. </para> </listitem> </varlistentry> <varlistentry> <term >Internacionalização</term> <listitem> <para >No &kde;, o anúncio será feito na sua língua, desde que a tenha configurado nos menus do &kde; e desde que alguém tenha traduzido o <command >ktalkdlg</command > para a sua língua. O mesmo se aplica à janela de configuração, o <command >kcmktalkd</command >. </para> </listitem> </varlistentry> <varlistentry> <term >O suporte para o <command >otalk</command > e para o <command >ntalk</command > <emphasis >(Novo desde a versão 0.8.1)</emphasis ></term> <listitem> <para >O &ktalkd; suporta agora ambos os protocolos, mesmo para o caso do reencaminhamento. O &ktalk; suporta também ambos os protocolos. </para> </listitem> </varlistentry> </variablelist> <para >Espero que você goste deste servidor de conversação,</para> <para >David Faure <email >faure@kde.org</email ></para> </chapter> <chapter id="usage"> <title >Utilização</title> <para >Para usar o &ktalkd;, você precisa de um cliente do <command >talk</command >. A versão de texto do <command >talk</command > existe na maioria dos sistemas &UNIX;. Tente o comando <userinput ><command >talk</command > <replaceable >o_seu_utilizador</replaceable ></userinput > para ver o que acontece quando receber um pedido do <command >talk</command >. </para> <para >Você poderá tentar também o atendedor de chamadas da mesma forma: inicie um <command >talk</command > para si próprio, ignore o anúncio duas vezes; deste modo, irá ver o atendedor de chamadas. </para> <para >Existe um cliente de <command >talk</command > com uma interface gráfica para o &kde;, o &ktalk;. Ainda não é fornecido com os pacotes do &kde;, mas você poderá encontrá-lo em ftp://ftp.kde.org. Ele dever-se-á encontrar em <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 >A janela de anúncio é trivial: <guibutton >responder</guibutton > ou <guibutton >ignorar</guibutton >. </para> <para >A janela de configuração deverá ser relativamente intuitiva, excepto na parte de definir um reencaminhamento para outro utilizador (ou mesmo para outra máquina). </para> <sect1 id="choosing-a-forwarding-method"> <title >Escolher um Método de Reencaminhamento</title> <para >Nada é perfeito, todos têm os seus prós (+) e contra (-). </para> <variablelist> <varlistentry> <term ><acronym >FWA</acronym > - Só reencaminha o anúncio.</term> <listitem> <para >Ligação directa. Não é recomendado. </para> <itemizedlist> <listitem> <para >(+) Você fica a saber que é o chamador, mas </para> </listitem> <listitem> <para >(-) O chamador terá de responder a um anúncio seu. Aborrecido. </para> </listitem> <listitem> <para >(-) Não o use se tiver um atendedor de chamadas na sua localização <quote >ausente</quote >. (O atendedor de chamadas não poderá mostrar um anúncio, o que se tornaria confuso!) </para> </listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> <term ><acronym >FWR</acronym > - Encaminha todos os pedidos, mudando a informação se necessário</term> <listitem> <para >Ligação directa. </para> <itemizedlist> <listitem> <para >(+) O chamador não irá saber que você está ausente, mas </para> </listitem> <listitem> <para >(-) Você não irá saber mesmo quem é o chamador - só o seu utilizador (por isso você poderá ver algo do género <computeroutput >conversa de Wintalk@minha_maquina</computeroutput >) </para> </listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> <term ><acronym >FWT</acronym > - Reencaminha todos os pedidos e efectua a conversação.</term> <listitem> <para >Sem ligação directa.</para> <itemizedlist> <listitem> <para >(+) O mesmo que o anterior, mas também funciona se você e o chamador não estiverem em contacto directo um com o outro (⪚ através de uma 'firewall'). </para> </listitem> <listitem> <para >(+) Você irá saber quem realmente está a falar consigo quando aceitar a conversação </para> </listitem> <listitem> <para >(-) Mas, como acontece no <acronym >FWR</acronym >, você não irá saber o nome da máquina dele no anúncio </para> </listitem> </itemizedlist> </listitem> </varlistentry> </variablelist> <para >Em resumo, utilize o <acronym >FWT</acronym > se o quiser usar através de uma 'firewall' (e se o &ktalkd; puder aceder a ambas as redes), caso contrário use o <acronym >FWR</acronym >. </para> </sect1> </chapter> <chapter id="questions-and-answers"> <title >Perguntas e Respostas</title> <qandaset> <qandaentry> <question> <para >Porque é que o <systemitem class="username" >root</systemitem > não recebe os anúncios do &kde;? </para> </question> <answer> <para >Porque isto seria uma falha de segurança, com a detecção do utilizador actual. Você poderá ultrapassar esta limitação se adicionar duas linhas aos ficheiros de configuração do <command >xdm</command > (que são os mesmos que os do &kdm;). </para> <note> <para >A distribuição de &Linux; da S.u.S.E inclui estas linhas por omissão. </para> </note> <para >Esses ficheiros de configuração estão normalmente numa pasta como a <filename class="directory" >/etc/X11/xdm</filename > ou a <filename class="directory" >/usr/X11R6/lib/X11/xdm</filename >, como acontece noutros sistemas. O seguinte assume que eles estão na <filename class="directory" >/etc/X11/xdm</filename >, por isso você poderá querer passá-los para outra pasta.</para> <para >Aqui está o que terá de fazer:</para> <procedure> <step> <para >Edite o ficheiro <filename >Xstartup</filename > ou crie-o (na pasta de configuração do <command >xdm</command >), de modo a que se veja: </para > <screen >#!/bin/sh /etc/X11/xdm/GiveConsole sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER</screen> </step> <step> <para >e o ficheiro <filename >Xreset</filename >, de modo a que se veja: </para> <screen >#!/bin/sh /etc/X11/xdm/TakeConsole sessreg -d -l $DISPLAY $USER</screen> </step> <step> <para >Certifique-se que o <filename >xdm-config</filename > faz referência a esses dois ficheiros: </para> <screen >DisplayManager._0.startup: /etc/X11/xdm/Xstartup DisplayManager._0.reset: /etc/X11/xdm/Xreset </screen> </step> </procedure> <para >Isto fará com que o &kdm; (ou o <command >xdm</command >) registe o utilizador no 'utmp', o que é a acção correcta a fazer. Não depende do &konsole;, nem do <command >xterm</command >, registar qual o utilizador, mas sim do <command >xdm</command > e do &kdm;, na opinião do autor. Contudo, isto não irá registar o utilizador como sendo um utilizador do X ao usar o <command >startx</command >... Alguma sugestão para isto ? </para> </answer> </qandaentry> <qandaentry> <question> <para >Porque é que eu, como utilizador normal, recebo anúncios do &kde;? </para> </question> <answer> <para >Se você estiver a correr um sistema &Linux; (com o <filename class="directory" >/proc</filename > activo), este comportamento é um erro. Por favor, envie-me uma descrição do mesmo para que eu possa corrigir esse erro. </para> <para >Se você estiver a correr o 'kernel' &Linux; 2.0.35, este é um erro conhecido no 'kernel', o qual não deixará ao utilizador <systemitem class="username" >root</systemitem > ler o <filename class="directory" >/proc</filename >. A solução é a mesma que na questão anterior, desde que você tenha corrido o &kdm; ou o <command >xdm</command > para se ligarem ao X. Ou então faça a actualização! </para> <para >Caso contrário, isto é normal. O &ktalkd; não consegue encontrar o utilizador, dado que o &kde; não o regista no 'utmp' e que a detecção do &Linux; pelo <filename class="directory" >/proc</filename > está desactivada. A solução é a mesma que para a questão anterior, desde que tenha corrido o <acronym >kdm</acronym > ou o <acronym >xdm</acronym > para se ligarem ao X. Outra solução será certificar-se que você tem sempre um <application >xterm</application > em execução. </para> </answer> </qandaentry> <qandaentry> <question> <para >Como é que posso fazer depuração do &ktalkd;? </para> </question> <answer> <para >Atendendo a que é um servidor, não existe nenhuma informação de depuração no 'standard output'. Para obter o resultado da depuração (por exemplo, antes de me relatar um erro!), actualize as linhas do <filename >inetd.conf</filename > que lançam o &ktalkd; e o &kotalkd; para passarem a ser: </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 >Tenha em atenção a opção <option >-d</option >. </para> <para >Depois edite o <filename >/etc/syslog.conf</filename > para adicionar as seguintes linhas: </para> <screen >*.* /var/log/all_messages</screen> <para >Para o fazer funcionar, você terá de reiniciar o <command >inetd</command > e o <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, execute uma sessão do <command >talk</command > e veja o resultado em <filename >/var/log/all_messages</filename > </para> <para >Ao submeter um relatório de um erro, nunca se esqueça de incluir o resultado da depuração, mas inclua também o número de versão do &ktalkd; e o resultado do <command >./configure</command >. Obrigado.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter id="copyright-and-license"> <title >'Copyright' e Licenças</title> <para >O &ktalkd; é mantido e melhorado pelo David Faure, <email >faure@kde.org</email > </para> <para >O programa original foi feito pelo Robert Cimrman, <email >cimrman3@students.zcu.cz</email > </para> <para >Tradução de José Nuno Pires <email >jncp@netcabo.pt</email ></para > &underFDL; &underGPL; </chapter> <appendix id="installation"> <title >Instalação</title> <sect1 id="how-to-obtain-ktalkd"> <title >Como obter o &ktalkd;</title> <para >O &ktalkd; é agora uma aplicação de base do projecto do &kde; <ulink url="http://www.kde.org" >http://www.kde.org</ulink >, e faz parte do pacote 'kdenetwork'. </para> <para >Você poderá obter sempre a última versão do &ktalkd; no 'site' &FTP; principal do projecto do &kde; em <ulink url="ftp://ftp.kde.org/pub/kde" >ftp://ftp.kde.org/pub/kde</ulink > ou das suas réplicas. Normalmente encontra-se em <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 >Requisitos</title> <para >Para poder compilar com sucesso o &ktalkd;, você irá necessitar das últimas versões das bibliotecas do &kde;, assim como da biblioteca de C++ &Qt;. Todas as bibliotecas necessárias, assim como o próprio &ktalkd; poderão ser obtidas em <ulink url="ftp://ftp.kde.org/pub/kde/" >ftp://ftp.kde.org/pub/kde/</ulink >. </para> </sect1> <sect1 id="compilation-and-installation"> <title >Compilação e Instalação</title> <para >Para poder compilar e instalar o &ktalkd; no seu sistema, escreva o seguinte na pasta de base da sua distribuição do &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 >Dado que o &ktalkd; é um servidor, o <userinput ><command >make</command > <option >install</option ></userinput > irá necessitar de privilégios do <systemitem class="username" >root</systemitem >.</para> <para >Não se esqueça de actualizar o <filename >/etc/inetd.conf</filename >. Por exemplo, num sistema &Linux;, se o &kde; estiver em <filename class="directory" >/opt/kde</filename >, mude as linhas respeitantes ao <command >talk</command > e ao <command >ntalk</command > para: </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 >É fornecido um programa para fazer as alterações necessárias automaticamente. Actualize o seu ficheiro <filename >inetd.conf</filename >, bastando para tal correr</para> <screen ><prompt >%</prompt > <userinput ><command >./post-install.sh</command ></userinput ></screen> <para >De qualquer forma, você terá de <emphasis >reiniciar o inetd</emphasis > depois disto. Na maioria dos sistemas &Linux;, faça: </para> <screen ><prompt >%</prompt > <userinput ><command >killall</command > <option >-HUP inetd</option ></userinput ></screen> <para >Nos sistemas mais recentes, que usam o <command >xinetd</command >, não existe mais o <filename >/etc/inetd.conf</filename >, e deverá então editar ou criar o <filename >/etc/xinetd.d/talk</filename > em alternativa, com as seguintes linhas: </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 >reiniciando então o <command >xinetd</command >. </para> <para >Por favor, comunique-me quaisquer modificações que tenha de fazer para pôr o &ktalkd; a compilar ou a funcionar na sua 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 -->