]> O Manual do &ktalkd; David Faure
faure@kde.org
JoséPires
jncp@netcabo.pt
Tradução
&FDLNotice; 2001 David Faure 2001-05-02 1.05.02 O &ktalkd; é um servidor de talk melhorado - um programa para tratar dos pedidos de talk recebidos, anunciá-los e permitir a si responder a eles, usando um cliente de talk. KTALKD Talk talkd otalk ntalk ktalkdlg kcmktalkd
Introdução O &ktalkd; é um servidor de talk melhorado - um programa para tratar dos pedidos de talk recebidos, anunciá-los e permitir a si responder a eles, usando um cliente de talk. 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 talk 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. Neste documento, se alguém quiser falar consigo, você é designado como sendo o chamado. O &ktalkd; tem as seguintes funcionalidades : Gravador de chamadas 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. Som Se desejado, poderá ser tocado um som com o anúncio. Anúncio X Se for compilado com o &kde; instalado, o &ktalkd; irá usar o ktalkdlg, 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). Anúncio em vários ecrãs Se você estiver ligado remotamente (⪚ com um comando export DISPLAY=...), 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 não 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. Reencaminhamento (Novo desde a versão 0.8.0) 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 Utilização. Configuração 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 ($KDEDIR/share/config/ktalkdrc) 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 kcmktalkd e poderá ser encontrada no &kcontrol; depois de instalar o &ktalkd;. Nos sistemas não-&kde;, o &ktalkd; irá ler o /etc/talkd.conf. Internacionalização 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 ktalkdlg para a sua língua. O mesmo se aplica à janela de configuração, o kcmktalkd. O suporte para o otalk e para o ntalk (Novo desde a versão 0.8.1) O &ktalkd; suporta agora ambos os protocolos, mesmo para o caso do reencaminhamento. O &ktalk; suporta também ambos os protocolos. Espero que você goste deste servidor de conversação, David Faure faure@kde.org Utilização Para usar o &ktalkd;, você precisa de um cliente do talk. A versão de texto do talk existe na maioria dos sistemas &UNIX;. Tente o comando talk o_seu_utilizador para ver o que acontece quando receber um pedido do talk. Você poderá tentar também o atendedor de chamadas da mesma forma: inicie um talk para si próprio, ignore o anúncio duas vezes; deste modo, irá ver o atendedor de chamadas. Existe um cliente de talk 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 ftp://ftp.kde.org/pub/kde/stable/latest/apps/network A janela de anúncio é trivial: responder ou ignorar. 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). Escolher um Método de Reencaminhamento Nada é perfeito, todos têm os seus prós (+) e contra (-). FWA - Só reencaminha o anúncio. Ligação directa. Não é recomendado. (+) Você fica a saber que é o chamador, mas (-) O chamador terá de responder a um anúncio seu. Aborrecido. (-) Não o use se tiver um atendedor de chamadas na sua localização ausente. (O atendedor de chamadas não poderá mostrar um anúncio, o que se tornaria confuso!) FWR - Encaminha todos os pedidos, mudando a informação se necessário Ligação directa. (+) O chamador não irá saber que você está ausente, mas (-) Você não irá saber mesmo quem é o chamador - só o seu utilizador (por isso você poderá ver algo do género conversa de Wintalk@minha_maquina) FWT - Reencaminha todos os pedidos e efectua a conversação. Sem ligação directa. (+) 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'). (+) Você irá saber quem realmente está a falar consigo quando aceitar a conversação (-) Mas, como acontece no FWR, você não irá saber o nome da máquina dele no anúncio Em resumo, utilize o FWT se o quiser usar através de uma 'firewall' (e se o &ktalkd; puder aceder a ambas as redes), caso contrário use o FWR. Perguntas e Respostas Porque é que o root não recebe os anúncios do &kde;? 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 xdm (que são os mesmos que os do &kdm;). A distribuição de &Linux; da S.u.S.E inclui estas linhas por omissão. Esses ficheiros de configuração estão normalmente numa pasta como a /etc/X11/xdm ou a /usr/X11R6/lib/X11/xdm, como acontece noutros sistemas. O seguinte assume que eles estão na /etc/X11/xdm, por isso você poderá querer passá-los para outra pasta. Aqui está o que terá de fazer: Edite o ficheiro Xstartup ou crie-o (na pasta de configuração do xdm), de modo a que se veja: #!/bin/sh /etc/X11/xdm/GiveConsole sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER e o ficheiro Xreset, de modo a que se veja: #!/bin/sh /etc/X11/xdm/TakeConsole sessreg -d -l $DISPLAY $USER Certifique-se que o xdm-config faz referência a esses dois ficheiros: DisplayManager._0.startup: /etc/X11/xdm/Xstartup DisplayManager._0.reset: /etc/X11/xdm/Xreset Isto fará com que o &kdm; (ou o xdm) registe o utilizador no 'utmp', o que é a acção correcta a fazer. Não depende do &konsole;, nem do xterm, registar qual o utilizador, mas sim do xdm 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 startx... Alguma sugestão para isto ? Porque é que eu, como utilizador normal, recebo anúncios do &kde;? Se você estiver a correr um sistema &Linux; (com o /proc activo), este comportamento é um erro. Por favor, envie-me uma descrição do mesmo para que eu possa corrigir esse erro. Se você estiver a correr o 'kernel' &Linux; 2.0.35, este é um erro conhecido no 'kernel', o qual não deixará ao utilizador root ler o /proc. A solução é a mesma que na questão anterior, desde que você tenha corrido o &kdm; ou o xdm para se ligarem ao X. Ou então faça a actualização! 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 /proc está desactivada. A solução é a mesma que para a questão anterior, desde que tenha corrido o kdm ou o xdm para se ligarem ao X. Outra solução será certificar-se que você tem sempre um xterm em execução. Como é que posso fazer depuração do &ktalkd;? 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 inetd.conf que lançam o &ktalkd; e o &kotalkd; para passarem a ser: 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 Tenha em atenção a opção . Depois edite o /etc/syslog.conf para adicionar as seguintes linhas: *.* /var/log/all_messages Para o fazer funcionar, você terá de reiniciar o inetd e o syslogd: % killall % killall Finalmente, execute uma sessão do talk e veja o resultado em /var/log/all_messages 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 ./configure. Obrigado. 'Copyright' e Licenças O &ktalkd; é mantido e melhorado pelo David Faure, faure@kde.org O programa original foi feito pelo Robert Cimrman, cimrman3@students.zcu.cz Tradução de José Nuno Pires jncp@netcabo.pt &underFDL; &underGPL; Instalação Como obter o &ktalkd; O &ktalkd; é agora uma aplicação de base do projecto do &kde; http://www.kde.org, e faz parte do pacote 'kdenetwork'. Você poderá obter sempre a última versão do &ktalkd; no 'site' &FTP; principal do projecto do &kde; em ftp://ftp.kde.org/pub/kde ou das suas réplicas. Normalmente encontra-se em ftp://ftp.kde.org/pub/kde/stable/latest/apps/network Requisitos 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 ftp://ftp.kde.org/pub/kde/. Compilação e Instalação Para poder compilar e instalar o &ktalkd; no seu sistema, escreva o seguinte na pasta de base da sua distribuição do &ktalkd;: % ./configure % make % make Dado que o &ktalkd; é um servidor, o make irá necessitar de privilégios do root. Não se esqueça de actualizar o /etc/inetd.conf. Por exemplo, num sistema &Linux;, se o &kde; estiver em /opt/kde, mude as linhas respeitantes ao talk e ao ntalk para: talk dgram udp wait root /usr/sbin/tcpd /opt/kde/bin/ktalkd ntalk dgram udp wait root /usr/sbin/tcpd /opt/kde/bin/ktalkd É fornecido um programa para fazer as alterações necessárias automaticamente. Actualize o seu ficheiro inetd.conf, bastando para tal correr % ./post-install.sh De qualquer forma, você terá de reiniciar o inetd depois disto. Na maioria dos sistemas &Linux;, faça: % killall Nos sistemas mais recentes, que usam o xinetd, não existe mais o /etc/inetd.conf, e deverá então editar ou criar o /etc/xinetd.d/talk em alternativa, com as seguintes linhas: 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 } reiniciando então o xinetd. Por favor, comunique-me quaisquer modificações que tenha de fazer para pôr o &ktalkd; a compilar ou a funcionar na sua plataforma.