]>

# Manual do KTalkd

David
Faure

    David.Faure@insa-lyon.fr

Versão 0.8.1, 02 Agosto 1998

Este manual descreve o KTalkd versão 0.8.1

The KTalkd Handbook

KDE
KTalkd
talk
talk daemon

## Introdução

`Ktalkd` é um aplicativo melhorado de conversação - um programa que lida com requisições de conversação, anuncia-as e permite a você responder.

GLOSSÁRIO: Nestas páginas, se alguém tenta falar com você, então você é descrito como o "chamado".

`Ktalkd` tem os seguintes recursos:

KDE ou não-KDE

  Eis a questão :) Mais seriamente, isto significa que o `Ktalkd` pode ser compilado com ou sem suporte ao KDE. Para uso sem o KDE, o estágio de compilação detectará se o X ou o Qt ou o KDE não está instalado, mas você pode forçar a criação de um daemon não-KDE se usar a opção de configuração '--without-X'.

Máquina de respostas

  Se o chamado não está em linha, ou não responde após o segundo aviso, a máquina de respostas toma a mensagem e manda-a via e-mail para o chamado.

Som

  Se desejado, um sinal de áudio é emitido com o anúncio.

Anúncio X

  Se compilado com o KDE instalado, o Ktalkd usará o ktalkdlg para fazer o anúncio.

Anúncio em múltiplas telas

  Se você está conectado remotamente (por exemplo, com um comando `export DISPLAY=...`), o anúncio do X será feito naquele display também. Responda onde quiser!

Passar adiante (Novo na versão 0.8.0 !)

  Você pode orientar o sistema para passar a mensagem adiante para outro usuário, até mesmo para outra máquina. Há três métodos diferentes de passagem adiante. Veja a seção 'Uso'.

Configuração

  Se compilado para o KDE, ele lê a configuração dos arquivos próprios do KDE. O arquivo de configuração geral da máquina tem de ser editado manualmente pelo administrador, mas para a configuração do usuário há uma janela de diálogo, chamada kcmktalkd, que pode ser econtrada no Centro de Controle do KDE após a instalação do `ktalkd`. Em sistemas não-KDE, o `Ktalkd` lerá `/etc/talkd.conf`.

Internacionalização

  Sob o KDE, o anúncio será feito em seu idioma nativo, desde que você configure-o como o idioma padrão no Centro de Controle, e que alguém tenha traduzido o ktalkdlg para seu idioma. O mesmo vale para a tela de configuração, kcmktalkd.

Suporte para otalk e ntalk (Versão 0.8.1)

  O ktalkd suporta os dois protocolos, bem como ktalk.

Espero que você goste deste daemon de conversação.

David Faure

David.Faure@insa-lyon.fr

## Plataformas suportadas

RedHat Linux 5.0

  Minha plataforma de desenvolvimento. Totalmente testado nela.

Outros Linux, BSD

  Deve compilar e rodar sem problemas.

Solaris

  Não funcionará até que alguém crie um substituto para `snprintf`. É claro, alguém pode conseguir instalar outra biblioteca C para resolver isso...

AIX

  Ouvi falar sobre problemas com `localtime`, `ctime` e funções relacionadas.

Eu ficaria feliz em receber comentários sobre compilação e instalaçao do `ktalkd` nestes e noutros sistemas.

## Instalação

### Como obter o KTalkd

O `ktalkd` é uma aplicação-base (pacote kdenetwork) do projeto KDE http://www.kde.org. Portanto, se você já instalou o pacote kdenetwork, já tem o Ktalkd e não precisará seguir alguns dos passos abaixo.

Você pode obter o `ktalkd` do site FTP primário do projeto KDE, ftp://ftp.kde.org/pub/kde, ou de um de seus espelhos.

### Pré-requisitos

Para compilar o `ktalkd`, você precisa das versões mais recentes das bibliotecas KDE bem como a biblioteca Qt. Todas elas bem como o KTalkd em si podem ser encontradas em ftp://ftp.kde.org/pub/kde/.

### Compilação e Instalação

Para compilar e instalar o `ktalkd` em seu sistema, digite o seguinte no diretório-base da distribuição do `kdtalkd:`

    % ./configure
    % make
    % make install

Como o `ktalkd` é um daemon (serviço), o comando `make install` requer privilégios de superusuário (root).

Não esqueça de atualizar `/etc/inetd.conf`. Por exemplo, num sistema linux, se o KDE está em /usr/local/kde, mude as linhas concernentes à talk e ntalk para:

    talk   dgram   udp     wait    root    /usr/sbin/tcpd  /usr/local/kde/bin/kotalkd
    ntalk  dgram   udp     wait    root    /usr/sbin/tcpd  /usr/local/kde/bin/ktalkd

É fornecido um script que fará essa mudança automaticamente. Atualize seu arquivos inetd.conf fazendo o seguinte:

    % ./post-install.sh

De qualquer forma, você precisará reiniciar o inetd: Na maioria dos sitemas Linux, faça:

    % killall -HUP inetd

Informe sobre quaisquer modificações no roteiro acima para fazer o `ktalkd` funcionar em sua plataforma.

## Uso

Não há muito o que dizer sobre o ktalkd: é um daemon. Ele não tem interface de usuário.

A tela de anúncio é trivial: responder ou ignorar.

A janela de configuração é muito simples, exceto para configurar a passagem adiante para outro usuário (ou mesmo para outra máquina).

### Escolhendo um método de passagem adiante

Nenhum é perfeito, todos têm prós (+) e contras (-).

FWA : Passar adiante somente o anúncio. Conexão direta. Não recomendado.

- (+) Você sabe quem é o chamador, mas

- (-) O chamador terá que responder a um anúncio seu.

- (-) Não use esta opção se você tem uma máquina de resposta automática em sua localização remota. A máquina de resposta não pode responder a um anúncio.

FWR : Passar adiante todas as requisições, mudando as informações quando necessário. Conexão direta.

- (+) Chamador não saberá que você está falando de longe, mas

- (-) Você não saberá quem é exatamente o chamador, saberá apenas seu nome de usuário. (então você veria "falando de Wintalk@my&lowbar;host")

FWT : Passar adiante todas as requisições e tomar conta da conversa. Sem conexão direta.

- (+) O mesmo de antes, mas funciona também se você e o chamador não podem conectar-se diretamente (exemplo: firewall).

- (+) Você será avisado sobre quem realmente está falando quando aceitar a ligação.

- (-) Mas assim como no modo FWR, você não saberá o nome da máquina do interlocutor já no anúncio.

Para resumir, use FWT se você estiver atrás de um firewall (e se KTalkd pode acessar ambas as redes), e FWR nos outros casos.

## Perguntas e respostas

### Porque o superusuário (root) não recebe anúncios do KDE ?

Por que isso seria uma falha de segurança, dada a forma corrente de detecção do usuário. Você pode eliminar essa limitação adicionando duas linhas nos arquivos de configuração do xdm (que são os mesmos do kdm).

Estes arquivos de configuração estão localizados no diretório `/etc/X11/xdm` ou `/usr/X11R6/lib/X11/xdm`. A instrução a seguir supõe que estejam em /etc/X11/xdm, portanto você terá que convertê-la se seus arquivos estiverem em outro diretório.

Eis o que você deve fazer: Editar o arquivo `Xstartup`, ou criá-lo (no diretório de configuração do xdm) de modo que contenha:

    #!/bin/sh
    /etc/X11/xdm/GiveConsole
    sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER

e o arquivo Xreset de modo que contenha:

    #!/bin/sh
    /etc/X11/xdm/TakeConsole
    sessreg -d -l $DISPLAY $USER

Tenha certeza de que xdm-config faça referência a esses dois arquivos:

    DisplayManager._0.startup:      /etc/X11/xdm/Xstartup
    DisplayManager._0.reset:        /etc/X11/xdm/Xreset

Isto fará o kdm (ou o xdm) 'logar' o usuário junto ao utmp, que é a coisa certa a fazer. Não é correto logar via kvt ou xterm, mas sim via xdm e kdm, em minha opinião. No entanto, isto não fará o usuário identificar-se se a rotina `startx` for usada ... Alguma idéia sobre isso ?

### Por que eu, como usuário normal, recebo anúncios do KDE ?

Se você está usando um sistema Linux (com /proc habilitado) é uma falha. Mande-me a descrição do problema que eu corrijo-o.

Do contrário, é normal: se o ktalkd não pode encontrar o usuário, o KDE não 'loga' o mesmo junto ao utmp e a deteção baseada no Linux (/proc) é desligada. A solução é a mesma da seção 5.1, desde que você use kdm ou xdm para fazer o login dentro do X.

### Como posso obter informações de depuração do ktalkd ?

Por ser um daemon, não há saida de depuração na saída padrão. Para obter as mensagens de depuração (por exemplo, antes de relatar-me um problema!), atualize as linhas em `/etc/inetd.conf` que executam ktalkd e kotalkd:

    talk   dgram   udp     wait    root    /usr/sbin/tcpd  /usr/local/kde/bin/kotalkd -d
    ntalk  dgram   udp     wait    root    /usr/sbin/tcpd  /usr/local/kde/bin/ktalkd -d

(note a opção -d)

Então edite `/etc/syslog.conf` para adicionar a seguinte linha:

    *.*         /var/log/all_messages

Para fazê-lo funcionar, você tem de reiniciar inetd e syslogd:

    % killall -HUP inetd
    % killall -HUP syslogd

Finalmente, entre numa sessão de conversa e veja o resultado em `/var/log/all&lowbar;messages`.

## Copyright

O Ktalkd é mantido e melhorado por David Faure, David.Faure@insa-lyon.fr

O programa original foi escrito por Robert Cimrman, cimrman3@students.zcu.cz

    ktalkd Copyright 1997,1998 David Faure David.Faure@insa-lyon.fr

    Este programa é software gratuito; você pode redistribuí-lo e/ou
    modificá-lo sob os  termos  da  GNU General Public License  como
    publicado  pela Free Software Foundation;  qualquer uma das duas
    versões de Licença, ou (em sua opinião) alguma versão anterior.

    Este  programa é distribuído com  a esperança de que seja  útil,
    mas SEM NENHUMA GARANTIA;  sem conformidade com implicações    e
    garantias de ACEITAÇÃO NO MERCADO  ou  AJUSTES  PARA  PROPÓSITOS
    PARTICULARES.   Veja  a  GNU  General  Public License para  mais
    detalhes.

    Você  deveria  ter  recebido  uma  cópia  da GNU  General Public
    License junto com este programa; se não recebeu, escreva para  a
    Free   Software  Foundation,  Inc.,   675  Mass Ave,  Cambridge,
    MA 02139, USA.