%
% Achtung: Dateien muessen mit latin1-Encoding gespeichert werden!
% Attention: Files must be saved using latin1 encoding!
%

\chapter{Das Talk-Paket}

\section{Die Einleitung}

    Das Talk-Paket stellt einen Daemon-Prozess und ein Programm zur Verf"ugung
    "uber welches Anwender "uber die Kommandozeile des \eisfair-Servers
    miteinander kommunizieren (chatten) k"onnen.


\section{Die Funktionen}

    Das Talk-Paket besteht aus folgenden Komponenten:

    \begin{itemize}
        \item ntalkd - ist der Daemon-Prozess der die Kommunikation zwischen den\\
          verschiedenen Anwender-Sessions erm"oglicht.\\
          (\url{ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-ntalk-0.17.tar.gz})

        \item ytalk - ist das Frontend-Programm "uber welches die Kommunikation\\
          abgewickelt wird.\\
          (\url{http://www.iagora.com/~espel/ytalk/ytalk.html})
    \end{itemize}


\section{Die Voraussetzungen}

    Ein lauff"ahiger \eisfair-Server ;-$)$


\section{Die Installation}

    Das Talk-Paket wird "uber das Setup-Men"u installiert. Wird eine "altere
    Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen
    Programmdateien installiert werden. Nach dem Installieren der
    Programmdateien wird direkt der Konfigurations-Editor gestartet um die
    Konfiguration anzupassen. Nach Beendigung dieses Schrittes werden die
    Konfigurationsdateien generiert und alle ben"otigten Programme gestartet.


\section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm ist wie folgt aufgebaut:

    \begin{itemize}
        \item Talk Service administration 
        \begin{itemize}
            \item View documentation: Anzeigen der Dokumentation
            \item Edit configuration: Bearbeiten der Konfiguration
            \item  Show Status: Status des Talk-Daemons anzeigen
            \item Return: Untermen"u verlassen
        \end{itemize}    
    \end{itemize}    

    Die Men"upunkte d"urften selbsterkl"arend sein, da sie keinerlei weitere
    Eingabe erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter
    eingegangen.


\section{Die "Anderung der Konfiguration}

    Die Konfiguration kann "uber den Men"upunkt 'Edit configuration' ge"andert
    werden. Standardm"a"sig wird der Editor aufgerufen, der in der Environment-
    Konfiguration "uber die Variable 'EDITOR' festgelegt wurde. Nachdem der
    Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden
    soll. Wird dies best"atigt, werden "uber ein Skript die Anpassungen umgehend
    wirksam gemacht.


\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist, sind folgende
    Parameter vorhanden; wer sie von Hand editieren will findet sie unter
    /etc/config.d/talk.


\section{Die Parameter}

\begin{description}
    \config{START\_TALK}{START\_TALK}{STARTTALK}
        F"ur die Aktivierung des Talk-Programms muss dieser Parameter
        lediglich auf den Wert `yes' gestellt werden. Die Einstellung
        `no' deaktiviert das Talk-Programm.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{START\_TALK='yes'}

    \config{TALK\_TRUSTED\_NETS\_N}{TALK\_TRUSTED\_NETS\_N}{TALKTRUSTEDNETSN}
        "Uber diesen Parameter wird die Anzahl der Host- bzw. Netzwerkeintr"age
        festgelegt, denen Zugriff auf den Talk-Daemon gew"ahrt werden soll.
        Wird der Wert `0' gesetzt, so wird keine Zugriffsbeschr"ankung aktiviert.

        G"ultige Werte: Zahl

        Beispiel: \texttt{TALK\_TRUSTED\_NETS\_N='1'}

    \config{TALK\_TRUSTED\_NETS\_x}{TALK\_TRUSTED\_NETS\_x}{TALKTRUSTEDNETSx}
        "Uber diesen Parameter wird festgelegt aus welchen Netzwerken bzw. von
        welchen Hosts auf den Talk-Daemon zugegriffen werden darf. Es kann
        entweder eine IP-Adresse oder auch ein Netzwerk inklusiv der Netzmaske
        angegeben werden.

        G"ultige Werte: IP-Adresse oder Netzwerkadresse

        Beispiel:
        
        \texttt{TALK\_TRUSTED\_NETS\_1='192.168.0.15'\\
                TALK\_TRUSTED\_NETS\_2='192.168.1.0/24'}

    \config{TALK\_SCROLLING}{TALK\_SCROLLING}{TALKSCROLLING}
        Wird dieser Parameter auf 'yes' gesetzt, so wird im Talk-Frontend, bei
        Erreichen des unteren Fensterrandes, der bisherige Text durchgerollt
        und nach oben aus dem Fenster geschoben. Wird dieser Parameter auf 'no'
        gesetzt, so beginnt die neue Eingabe wieder am oberen Fensterrand und
        "uberschreibt den bisherigen Text.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TALK\_SCROLLING='yes'}

    \config{TALK\_WORDWRAP}{TALK\_WORDWRAP}{TALKWORDWRAP}
        Wird dieser Parameter auf 'yes' gesetzt, so wird im Talk-Frontend, bei
        erreichen des rechten Fensterrandes, automatisch ein Zeilenumbruch
        durchgef"uhrt.  Wird dieser Parameter auf 'no' gesetzt, so unterbleibt
        ein Zeilenumbruch und der bisherige Text wird nach links aus dem Fenster
        geschoben.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TALK\_WORDWRAP='yes'}

    \config{TALK\_AUTO\_INVITE}{TALK\_AUTO\_INVITE}{TALKAUTOINVITE}
        Wird dieser Parameter auf 'yes' gesetzt, so wird automatisch eine
        eingehende Talk-Session akzeptiert ohne zuvor einer Best"atigung
        einzuholen.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TALK\_AUTO\_INVITE='no'}

    \config{TALK\_RERING}{TALK\_RERING}{TALKRERING}
        Wird dieser Parameter auf 'yes' gesetzt, so wird ein erneutes
        Klingelsignal bei dem gew"unschten Gespr"achspartner ausgel"ost,
        falls dieser nicht innerhalb von 30 Sekunden antwortet.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TALK\_RERING='yes'}

    \config{TALK\_RERING\_PROMPT}{TALK\_RERING\_PROMPT}{TALKRERINGPROMPT}
        Wird dieser Parameter auf 'yes' gesetzt, so wird ein erneutes
        Klingelsignal bei dem gew"unschten Gespr"achspartner erst dann
        ausgel"ost, wenn dies zuvor erneut best"atigt wurde.
        
        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TALK\_RERING\_PROMPT='yes'}
\end{description}


\section{Die Verwendung des Programms}

    Um eine Verbindung zu einem anderen Anwender aufzubauen geht man wie folgt vor:
    \begin{itemize}
        \item Durch Eingabe des Befehls `who' pr"uft man wer gerade auf dem Rechner eingeloggt ist.

        \item Durch Eingabe von `talk <username>' wird der gew"unschte Gespr"achspartner gerufen.
    \end{itemize}

    Auch zu Windows-Rechner kann man Verbindung aufnehmen, wenn zuvor ein Talk-Client
    installiert wurde. Im Internet ist z.B. WinTalk v1.27 verf"ugbar.\\
    (\url{http://cws.internet.com/chat-wintalk.html})

    Um eine Verbindung zu einem Windows-Anwender aufzubauen geht man wie folgt vor:
    \begin{itemize}
        \item Durch Eingabe von `talk <username>@<Rechnername>' wird der gew"unschte Gespr"achspartner
            gerufen.
    \end{itemize}


\section{Die Nachrichtenannahme freischalten bzw. sperren}

    Mit dem Programm `mesg' ist es m"oglich die Annahme von Nachrichten f"ur ein Terminal
    freizuschalten bzw. zu sperren. F"ur ein Terminal ist mit hoher Wahrscheinlichkeit
    der Nachrichtenempfang gesperrt, wenn man die Meldung `Ytalk error: xxx is refusing
    messages' erh"alt. Folgende Optionen stehen hierbei zur Verf"ugung:

\begin{verbatim}
mesg    - Wird der Befehl ohne Parameter aufgerufen, so wird der
          aktuelle Status wiedergegeben. `is n' bedeutet hierbei,
          dass die Nachrichtenannahme gesperrt ist, `is y', dass
          die Nachrichtenannahme freigeschaltet ist.
mesg y  - Mit diesem Befehl wird die Nachrichtenannahme freigeschaltet.
mesg n  - Mit diesem Befehl wird die Nachrichtenannahme gesperrt.
\end{verbatim}
