]> O Manual do &ktalkd; David Faure
faure@kde.org
MarcusGama
marcus_gama@uol.com.br
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 você 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 que você os responda, usando um cliente de talk. Note que o &ktalkd; está desenhado para rodar numa estação de trabalho para um único usuário, e não deve ser executado numa máquina multi-usuário: uma vez que lê os arquivos de configuração dos usuários, 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 que não confie completamente. Neste documento, se alguém quiser falar com você, você é designado como sendo o chamado. O &ktalkd; tem os seguintes recursos: Atendedor de chamadas Se o chamado não estiver logado, 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, um diálogo do &kde;, para anunciar. Se o &ktalk; estiver rodando, será pedido para que ele próprio anuncie. (Novo desde a versão 0.8.8) Anúncio em várias telas Se você estiver logado remotamente (⪚ com um comando export DISPLAY=...), o anúncio do X será feito também nessa tela. Responda na tela que desejar! Se você também estiver logado num terminal de texto, e se não estiver usando terminais X (restrição interna), então você também verá um anúncio em texto, no caso de estar usando o terminal de texto na momento do anúncio. Reencaminhamento (Novo desde a versão 0.8.0) Você poderá reencaminhar a mensagem para outro usuário e mesmo para outra máquina se estiver ausente. Existem 3 métodos diferentes de reencaminhamento. Veja a seção Utilização. Configuração Se o &ktalkd; estiver compilado para o &kde;, ele lê as opções dos arquivos de configuração do &kde; - o arquivo da máquina ($KDEDIR/share/config/ktalkdrc) e o do usuário, na sua pasta pessoal. O arquivo da máquina tem que ser editado manualmente pelo administrador, mas existe agora um diálogo de configuração para o do usuário. Chama-se kcmktalkd e poderá ser encontrado 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 no seu idioma, desde que o tenha configurado nos menus do &kde; e desde que alguém tenha traduzido o ktalkdlg para a sua língua. O mesmo se aplica ao diálogo de configuração, o kcmktalkd. 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 reencaminhamneto. 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_usuário 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 você, 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á estar em ftp://ftp.kde.org/pub/kde/stable/latest/apps/network A caixa de diálogo do anúncio é trivial: responder ou ignorar. A janela de configuração deverá ser relativamente intuitiva, exceto na parte de definir um reencaminhamento para outro usuário (ou mesmo para outra máquina). Escolhendo um Método de Reencaminhamento Nada é perfeito, todos têm os seus prós (+) e contra (-). FWA - Só reencaminha o anúncio. Conexão direta. Não é recomendado. (+) Você fica sabendo quem é 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 Conexão direta. (+) O chamador não irá saber que você está ausente, mas (-) Você não irá saber mesmo quem é o chamador - só o seu usuário (por isso você poderá ver algo do gênero chamada de Wintalk@minha_maquina) FWT - Reencaminha todos os pedidos e efetua a conversação. Sem conexão direta. (+) O mesmo que o anterior, mas também funciona se você e o chamador não estiverem em contato direto um com o outro (⪚ através de uma firewall). (+) Você irá saber quem realmente está falando com você 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 acessar a ambas as redes), caso contrário use o FWR. Perguntas e Respostas Porque o root não recebe os anúncios do &kde;? Porque isto seria uma falha de segurança, com a detecção do usuário atual. Você poderá ultrapassar esta limitação adicionando duas linhas aos arquivos 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 padrão. Esses arquivos 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 exemplo a seguir considera que eles estão na /etc/X11/xdm, por isso você poderá desejar passá-los para outra pasta. Aqui está o que terá que fazer: Edite o arquivo Xstartup ou crie-o (na pasta de configuração do xdm), de modo que se leia: #!/bin/sh /etc/X11/xdm/GiveConsole sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER e o arquivo Xreset, de modo que se leia: #!/bin/sh /etc/X11/xdm/TakeConsole sessreg -d -l $DISPLAY $USER Certifique-se que o xdm-config faz referência a esses dois arquivos: DisplayManager._0.startup: /etc/X11/xdm/Xstartup DisplayManager._0.reset: /etc/X11/xdm/Xreset Isto fará com que o &kdm; (ou o xdm) registre o usuário no 'utmp', o que é a ação correcta a fazer. Não depende do &konsole;, nem do xterm, registrar qual o usuário, mas sim do xdm e do &kdm;, na opinião do autor. Contudo, isto não irá registrar o usuário como sendo um usuário do X ao usar o startx... Alguma sugestão para isto ? Porque eu, como usuário normal, recebo anúncios do &kde;? Se você estiver rodando um sistema &Linux; (com o /proc ativo), este comportamento é um erro. Por favor, envie-me uma descrição do mesmo para que eu possa corrigir esse erro. Se você estiver rodando o 'kernel' &Linux; 2.0.35, este é um erro conhecido no 'kernel', o qual não deixará o usuário root ler o /proc. A solução é a mesma que na questão anterior, desde que você tenha rodado o &kdm; ou o xdm para se logarem ao X. Ou então faça a atualização! Caso contrário, isto é normal. O &ktalkd; não consegue encontrar o usuário, uma vez que o &kde; não o registra no 'utmp' e que a detecção do &Linux; pelo /proc está desativada. A solução é a mesma que para a questão anterior, desde que tenha rodado o kdm ou o xdm para se logarem ao X. Outra solução será certificar-se que você tem sempre um xterm em execução. Como posso fazer depuração do &ktalkd;? Como ele é um serviço, não existe nenhuma informação de depuração na saída padrão. Para obter o resultado da depuração (por exemplo, antes de me relatar um erro!), atualize 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 Observe a opção . Depois edite o /etc/syslog.conf para adicionar as seguintes linhas: *.* /var/log/all_messages Para fazer isso 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. Direitos Autorais e Licenças O &ktalkd; é mantido e melhorado pelo David Faure, faure@kde.org O programa original foi escrito por Robert Cimrman, cimrman3@students.zcu.cz Tradução de Marcus Gamamarcus_gama@uol.com.br &underFDL; &underGPL; Instalação Como obter o &ktalkd; O &ktalkd; é agora um aplicativo de base do projeto do &kde; http://www.kde.org, e faz parte do pacote 'tdenetwork'. Você poderá obter sempre a última versão do &ktalkd; no sítio &FTP; principal do projeto do &kde; em ftp://ftp.kde.org/pub/kde ou dos seus espelhos. Normalmente se encontra 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, digite o seguinte na pasta base da sua distribuição do &ktalkd;: % ./configure % make % make Uma vez que o &ktalkd; é um serviço, o make irá necessitar de privilégios do root. Não se esqueça de atualizar o /etc/inetd.conf. Por exemplo, num sistema &Linux;, se o &kde; estiver em /opt/kde, mude as linhas referentes 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. Atualize o seu arquivo inetd.conf, bastando para isso rodar % ./post-install.sh De qualquer forma, você terá que 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 você 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 que fazer para colocar o &ktalkd; compilando ou funcionando na sua plataforma.