# Le manuel de &ktalkd;

David
Faure

    faure@kde.org

Éric
Bischoff

    e.bischoff@noos.fr

Traduction française
&FDLNotice;
2001
David Faure
2001-05-02
1.05.02

&ktalkd; est un démon de discussion amélioré - le programme qui traite les demandes de discussion entrantes, les annonce et vous permet d'y répondre à l'aide d'un client de discussion.

KTALKD
kotalkd
talk
talkd
otalk
ntalk
ktalkdlg
kcmktalkd

## Introduction

&ktalkd; est un démon de discussion amélioré - le programme qui traite les demandes de discussion entrantes, les annonce et vous permet d'y répondre à l'aide d'un client de discussion.

Veuillez remarquer que &ktalkd; a été conçu pour fonctionner sur une station de travail avec un seul utilisateur, et ne devrait pas être utilisé sur une machine avec plusieurs utilisateurs : comme il se base sur les fichiers de configurations propres aux utilisateurs, les utilisateurs peuvent demander � `talk` de lancer n'importe quelle commande, ce qui est particulièrement dangereux. N'utilisez pas &ktalkd; si vous créez des comptes utilisateur sur votre machine au profit de gens en lesquels vous n'avez pas une confiance totale.

Dans ces pages, vous êtes désigné comme l' appelé lorsqu'une personne désire vous parler.

&ktalkd; a les caractéristiques suivantes :

Répondeur téléphonique

  Si l'appelé n'est pas connecté ('login'), ou ne répond pas après le second avis, un répondeur automatique est lancé, prend le message, et l'envoie sous forme de courrier électronique à l'appelé.

Son

  Si c'est souhaité, un son est joué en même temps que l'avis est affiché.

Avis X

  Si &ktalkd; est compilé alors que &kde; est installé, &ktalkd; utilisera `ktalkdlg`, une boîte de dialogue &kde;, pour afficher l'avis. Si &ktalk; fonctionne, c'est à lui qu'on demandera de faire l'annonce. (Nouveau depuis la version 0.8.8).

Avis multiécrans

  Si vous êtes connecté à distance (&pex; via une commande ``export` `DISPLAY`=...`), l'avis X sera également fait sur cet écran. Répondez sur celui que vous voulez ! Si vous êtes également connecté sur un terminal de texte, et si vous n'utilisez pas xterm (restriction interne), alors vous verrez également une annonce textuelle, si vous êtes en train d'utiliser le terminal de texte au moment de l'annonce.

Transmission (Nouveau depuis la version 0.8.0)

  Vous pouvez définir une transmission vers un autre usager même sur une autre machine si vous êtes absent. Il y a trois méthodes différentes pour faire passer l'information. Reportez-vous à la section Utilisation de cette documentation.

Configuration

  Si le logiciel &ktalkd; est compilé pour &kde;, il lit sa configuration dans les fichiers de configuration &kde;, celui qui s'applique à l'ensemble du site (`$`KDEDIR`/share/config/ktalkdrc`) ou celui qui est spécifique à l'utilisateur, dans son dossier personnel. Le fichier général doit être modifié à la main par l'administrateur, mais il y a à présent une boîte de dialogue de configuration pour celui de l'utilisateur. Il s'appelle `kcmktalkd` et se trouve dans le &centreConfiguration; après avoir installé &ktalkd;. Sur les systèmes non-&kde;, &ktalkd; lit `/etc/talkd.conf`.

Internationalisation

  Sous &kde;, l'avis sera fait dans votre langue à condition de l'avoir réglé dans les menus de &kde; et que quelqu'un ait traduit `ktalkdlg` dans votre langue. Il en va de même pour la boîte de dialogue de configuration, `kcmktalkd`.

Support de `otalk` et de `ntalk` (Nouveau depuis la version 0.8.1)

  ktalkd supporte à présent les deux protocoles, même pour les transmissions. &ktalk; supporte lui aussi les deux protocoles.

J'espère que vous aurez du plaisir à utiliser ce démon de discussion,

David Faure faure@kde.org

## Utilisation

Pour utiliser &ktalkd;, il vous faut un client `talk`. Le client en mode texte `talk` est disponible sur la majorité des systèmes &UNIX;. Essayez ``talk` votre&lowbar;nom&lowbar;d&lowbar;utilisateur` pour voir ce qui se passe quand vous recevez une requête `talk`.

Vous pouvez également tester le répondeur automatique de la même façon : lancez une session `talk` talk avec vous-même, ignorez l'avertissement deux fois, et vous verrez le répondeur automatique fonctionner.

Il existe un client de discussion en mode graphique pour KDE qui s'appelle `ktalk`. Il n'est pas encore distribué avec les paquetages &kde;, mais vous pouvez le trouver sur le serveur ftp://ftp.kde.org. Il se trouve normalement dans le répertoire ftp://ftp.kde.org/pub/kde/stable/latest/apps/network

La boîte de dialogue de l'avis de discussion est triviale : répondre ou ignorer.

La boîte de dialogue de configuration devrait être plutôt trivial, mis à part le réglage de la transmission vers un autre utilisateur (ou vers un autre site).

### Choix d'une méthode de transmission

Aucune d'entre elles n'est parfaite, elles ont toutes leurs avantages (+) et leurs inconvénients (-).

FWA - Transmission de requêtes seulement.

  Connexion directe. Non recommandé.

  - (+) Vous savez qui est l'appelant, mais

  - (-) L'appelant devra répondre à un avis provenant de vous. Ennuyeux.

  - (-) Ne pas utiliser si vous avez un répondeur sur votre emplacement distant. (Le répondeur ne peut pas afficher un avis, cela serait troublant !)

FWR - transmission de toutes les requêtes, en changeant l'information quand c'est nécessaire

  Connexion directe

  - (+) L'appelant ne saura pas que vous êtes ailleurs, mais

  - (-) Vous ne savez pas réellement qui est l'appelant - vous ne connaissez que son nom d'utilisateur, (vous pourriez voir `message provenant de Wintalk@my_host`)

FWT - transmission de toutes les requêtes et acceptation de l'appel.

  Pas de connexion directe.

  - (+) Comme ci-dessus, mais fonctionne également si vous et l'appelant n'êtes pas en contact direct l'un avec l'autre (&pex; si vous êtes séparés par un pare-feu).

  - (+) Vous savez qui vous parle réellement quand vous acceptez l'appel

  - (-) Mais comme dans le cas FWR, vous ne voyez pas le nom de sa machine dans l'avis

Pour résumer, utilisez FWT si vous voulez l'utiliser derrière un pare-feu (et si &ktalkd; a accès aux deux réseaux), et FWR dans le cas contraire.

## Questions et réponses

Pourquoi est-ce que root ne reçoit pas les avis &kde; ?

Car ce serait une faille dans la sécurité, avec le système de détection d'utilisateur actuel. Vous pouvez passer outre cette limitation en ajoutant deux lignes dans les fichiers de configuration de `xdm` (qui sont également ceux de &kdm;).

La distribution S.u.S.E de &Linux; contient ces lignes par défaut.

Ces fichiers de configuration se trouvent dans un répertoire du type `/etc/X11/xdm`, ou `/usr/X11R6/lib/X11/xdm` sur d'autres systèmes. Ce qui suit suppose qu'ils sont dans `/etc/X11/xdm`, vous devrez donc adapter les commandes dans le cas d'un autre répertoire.

Voici ce qu'il faut faire :

1. éditez le fichier `Xstartup`, ou créez-le, (dans le dossier de configuration de `xdm`) de telle sorte qu'on y trouve :

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

2. ainsi que le fichier `Xreset` afin qu'on y trouve :

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

3. Assurez-vous que `xdm-config` fait référence à ces deux fichiers :

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

Cela amènera &kdm; (ou `xdm`) à connecter l'utilisateur dans utmp, ce qui est la bonne façon de procéder. Il ne revient pas à &konsole;, pas plus qu'à `xterm`, de connecter l'utilisateur, mais à `xdm` et à &kdm;, à mon avis. Quoi qu'il en soit, cela évite de connecter l'utilisateur comme un utilisateur de X quand on utilise `startx`... Y a-t'il des remarques à ce sujet ?

Pourquoi ne reçois-je pas, alors que je suis un utilisateur normal, des avis &kde; ?

Si vous utilisez un système &Linux; (avec `/proc` actif) c'est qu'il y a une bogue. Veuillez m'en envoyer une description afin que je puisse la corriger.

Si vous utilisez &Linux; version 2.0.35, c'est une bogue connue du noyau qui empêche root de lire `/proc`. La solution est la même que dans la question précédente, dans la mesure où vous passez par &kdm; ou par `xdm` pour vous connecter à X. Une autre solution est de mettre votre système à jour !

Si vous n'êtes pas dans ce cas, c'est normal : &ktalkd; ne peut pas trouver l'utilisateur, car &kde; ne le connecte pas dans utmp et la détection basée sur &Linux; (`/proc`) est désactivée. La solution est la même que dans la question précédente, dans la mesure où vous passez par kdm ou xdm pour vous connecter à X. Une autre solution est de vous assurer que vous avez toujours un terminal xterm ouvert.

Comment obtenir des informations de débogage de &ktalkd; ?

Comme il s'agit d'un démon, il n'y a pas d'affichage de débogage sur la sortie standard. Pour obtenir des informations de débogage (par exemple avant de soumettre un rapport d'erreur !), modifiez les lignes de `inetd.conf` qui servent à lancer &ktalkd; et &kotalkd; pour en faire :

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

Remarquez l'option `-d`.

Éditez ensuite `/etc/syslog.conf` afin d'ajouter la ligne suivante :

    *.*         /var/log/all_messages

Pour le faire fonctionner, vous devez ensuite redémarrer `inetd` et `syslogd` :

    % killall -HUP inetd
    % killall -HUP syslogd

Enfin, lancez une session `talk` et allez voir le résultat dans `/var/log/all&lowbar;messages`

Quand vous soumettez un rapport d'erreur, n'oubliez pas d'inclure non seulement les informations de débogage, mais également le numéro de version de &ktalkd; et la sortie de l'instruction `./configure`. Merci.

## Copyright et licences

ktalkd est maintenu et amélioré par David Faure, faure@kde.org

Le programme originel a été écrit par Robert Cimrman, cimrman3@students.zcu.cz

Éric Bischoff e.bischoff@noos.fr s'est chargé de la traduction française du la documentation

&underFDL; &underGPL;

## Installation

### Comment obtenir &ktalkd;

&ktalkd; est à présent une application de base du projet &kde; http://www.kde.org, faisant partie du paquetage kdenetwork.

Mais vous pouvez toujours télécharger la dernière version de &ktalkd; depuis le site &FTP; principal du projet &kde;, ftp://ftp.kde.org/pub/kde et depuis ses sites miroirs. Il se trouve d'habitude dans ftp://ftp.kde.org/pub/kde/stable/latest/apps/network.

### Configuration nécessaire

Pour compiler avec succès &ktalkd;, il vous faut les dernières versions des bibliothèques &kde; ainsi que la librairie C++ &Qt;. Toutes les librairies nécessaires ainsi que ktalkd lui-même se trouvent à l'adresse ftp://ftp.kde.org/pub/kde/.

### Compilation et installation

Pour compiler et installer &ktalkd; sur votre système, saisissez les commandes suivantes dans le répertoire de base de la distribution de &ktalkd; :

    % ./configure
    % make
    % make install

Comme &ktalkd; est un démon, ``make` `install`` suppose les privilèges de root.

N'oubliez pas de mettre à jour `/etc/inetd.conf`. Par exemple, sur une système &Linux;, si &kde; se trouve dans `/opt/kde`, changez les lignes concernant `talk` et `ntalk` en :

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

Un script est fourni pour effectuer les changements nécessaires automatiquement. Mettez à jour votre fichier `/etc/inetd.conf` en tapant simplement

    % ./post-install.sh

Dans tous les cas, vous devrez redémarrer inetd par la suite. Sur la plupart des systèmes &Linux;, tapez :

    % killall -HUP inetd

Sur les systèmes récents qui utilisent `xinetd`, il n'y a plus de fichier `/etc/inetd.conf`, et vous devriez éditer ou créer `/etc/xinetd.d/talk` à la place, avec les lignes suivantes :

    service talk
    {
    	socket_type = dgram
    	wait = yes
    	user = root
    	server = /usr/bin/kotalkd
    }

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

puis redémarrez `inetd`.

Veuillez m'informer de toute modification que vous auriez eu à accomplir pour réussir à compiler ou à faire fonctionner &ktalkd; sur votre plate-forme.