<!doctype linuxdoc system>

<!-- The ktalkd Handbook. -->

<article>

<!-- Title information -->

<title>Το εγχειρίδιο του  ktalkd 
<author>David Faure <tt/David.Faure@insa-lyon.fr/
<date>Έκδοση 0.8.6, 15 Αυγούστου, 1998
<abstract>Το Εγχειρίδιο αυτό περιγράφει το ktalkd έκδοσης 0.8.6

<!-- Table of contents -->
<toc>

<!-- Begin the document -->

<sect>Εισαγωγή
<p>

Ο <tt/ktalkd/ είναι ένας εμπλουτισμένος talk δαίμονας - το πρόγραμμα που διαχειρίζεται εισερχόμενες κλήσεις για talk,
τις ανακοινώνει και σας επιτρέπει να απαντήσετε σε αυτές με έναν πελάτη talk .
ΓΛΩΣΣΑΡΙ : Σε αυτές τις σελίδες, αν κάποιος θέλει να σας κάνει talk, θα ονομάζεστε ως ο "καλούμενος".

Το <tt/ktalkd/ έχει τα ακόλουθα χαρακτηριστικά :

<descrip>
<tag/KDE or not KDE/
That is the question. :) Ας σοβαρευτούμε, αυτό σημαίνει πως το 
<tt/ktalkd/ είναι ικανό να μεταγλωττιστεί με ή χωρίς υποστήριξη KDE.
Για χρήση χωρίς KDE, το στάδιο της μεταγλώττισης θα εντοπίσει αν τα X ή το  Qt ή το KDE δεν είναι εγκατεστημένα,
αλλά μπορείτε να αναγκάσετε τον δαίμονα να γίνει μη-KDE αν χρησιμοποιήσετε την επιλογή '--without-X'.

<tag/ Αυτόματος τηλεφωνητής/
Αν ο καλούμενος δεν είναι συνδεδεμένος στο σύστημα, ή δεν απαντήσει μετά την δεύτερη ειδοποίηση, 
εκκινείται ο αυτόματος τηλεφωνητής, παίρνει το μήνυμα, και το ταχυδρομεί στον καλούμενο.

<tag/Ηχος/
Αν είναι επιθυμητό, ένας ήχος μπορεί να συνοδεύει την ειδοποίηση.

<tag/Ειδοποίηση από X /
Αν μεταγλωττιστεί με υποστήριξη για KDE, το ktalkd θα χρησιμοποιήσει τον
<bf/ktalkdlg/, ένα παράθυρο διαλόγου KDE, για να σας ειδοποιήσει.

<tag/Ειδοποίηση σε Πολλαπλές Οθόνες Απεικονίσεων (displays) /
Αν είσαστε συνδεδεμένος με το σύστημα απομακρυσμένα (π.χ. με μια εντολή 
<tt/"export DISPLAY=..."/ ), η ειδοποίηση μέσω των X θα γίνει και σε αυτή την Οθόνη
Απεικόνισης. Απαντήστε σ' όποια θέλετε!

<tag/Προώθηση   <it/(New since 0.8.0)//
Μπορείτε να ρυθμίσετε την προώθηση προς έναν άλλο χρήστη ακόμα και σε άλλο host, αν λείπετε.
Υπάρχουν 3 διαφορετικές μέθοδοι προώθησης. Δείτε το Τμήμα 'Χρήση'.

<tag/Ρυθμίσεις/
Αν μεταγλωττιστεί με υποστήριξη KDE, διαβάζει τις ρυθμίσεις του, από τα αρχεία ρυθμίσεων του KDE,
από το σχετικό κεντρικό αρχείο της εφαρμογής ($KDEDIR/share/config/ktalkdrc) και από την περιοχή του χρήστη, στο βασικό του κατάλογο (home directory).
Το κεντρικό αρχείο ρυθμίσεων της εφαρμογής πρέπει να αλλαχθεί χειροκίνητα από τον διαχειριστή, αλλά τώρα πια υπάρχει
και ένα παράθυρο ρυθμίσεων για το αρχείο ρυθμίσεων του χρήστη. Ονομάζεται <bf/kcmktalkd/ και μπορεί να το βρείτε
στο Κέντρο Ελέγχου του KDE (KDE Control Center) αφού εγκαταστήσετε το <tt/ktalkd/.
Σε μη-KDE συστήματα, το <tt/ktalkd/ θα διαβάσει τις ρυθμίσεις του από το /etc/talkd.conf.

<tag/Διεθνοποίηση/
Κάτω από KDE, η ειδοποίηση θα γίνει στην γλώσσα σας, με την προϋπόθεση πως την έχετε θέσει στις επιλογές του KDE 
και πως κάποιος έχει μεταφράσει το <bf/ktalkdlg/ στη γλώσσα σας. Το ίδιο ισχύει και για το παράθυρο ρυθμίσεων, 
<bf/kcmktalkd/.

<tag/Υποστήριξη για τα otalk και ntalk <it/(Νέο χαρακτηριστικό από την έκδοση 0.8.1)//
Το ktalkd τώρα πια, υποστηρίζει και τα δύο πρωτόκολλα, ακόμα και κατά την λειτουργία της προώθησης. Το ktalk 
επίσης υποστηρίζει και τα δύο.
</descrip>

<p>Ελπίζω να απολαύσατε αυτό τον talk δαίμονα,
<p>David Faure
<p><htmlurl url="mailto:David.Faure@insa-lyon.fr" name="David.Faure@insa-lyon.fr">

<sect>Υποστηριζόμενες Πλατφόρμες
<p>

<descrip>
<tag/RedHat Linux 5.0/
Που είναι και η δικιά μου πλατφόρμα ανάπτυξης. Είναι πλήρως ελεγμένο σε αυτήν.

<tag/Άλλα Linux, BSD/
Θα πρέπει, επίσης, να μεταγλωττίζεται και να τρέχει.

<tag/Solaris/
Δεν θα δουλέψει μέχρι κάποιος να φτιάξει ένα υποκατάστατο της snprintf. Φυσικά, θα μπορούσατε να 
εγκαταστήσετε μια άλλη libc για να το παρακάμψετε ...

<tag/AIX/
Έχω ακούσει για προβλήματα σχετικά με την localtime, ctime, και τις σχετικές συναρτήσεις.
</descrip>

<p>Θα χαιρόμουνα να λάβω σχόλια γύρω από την μεταγλώττιση και την εκτέλεση του <tt/ktalkd/
  σε αυτές ή σε άλλες πλατφόρμες.

<sect>Εγκατάσταση
<p>

<sect1>Πως να αποκτήσετε το ktalkd
<p>

<p>
Το <tt/ktalkd/ είναι πλέον βασική εφαρμογή του έργου KDE 
<url url="http://www.kde.org">, μέρος του πακέτου
<bf/kdenetwork/ .

<p>Μπορείτε να κατεβάσετε το <tt/ktalkd/ από το κύριο ftp site του έργου KDE,
<url url="ftp://ftp.kde.org/pub/kde"> ή από τα mirrors του .

<sect1>Απαιτήσεις
<p>

Για να μεταγλωττιστεί το <tt/ktalkd/ επιτυχώς, χρειάζεστε την τελευταία έκδοση των βιβλιοθηκών του KDE 
όπως επίσης και την βιβλιοθήκη Qt για C++ . 1/4λες οι απαιτούμενες βιβλιοθήκες καθώς επίσης και το ίδιο το 
ktalkd μπορούν να βρεθούν στο <url url="ftp://ftp.kde.org/pub/kde/">.

<sect1>Μεταγλώττιση και Εγκατάσταση
<p>

  Για να μεταγλωττίσετε και να εγκαταστήσετε το <tt/ktalkd/ στο σύστημά σας, γράψτε τα παρακάτω στο βασικό κατάλογο της
 διανομής του <tt/ktalkd/ :
<tscreen><verb>
% ./configure
% make
% make install
</verb></tscreen>

Καθώς το <tt/ktalkd/ είναι δαίμονας, το <tt/make install/ θα απαιτήσει δικαιώματα root.

<p>Μην ξεχάσετε να ενημερώσετε το /etc/inetd.conf.
Για παράδειγμα, σε ένα σύστημα linux, αν το kde είναι στο /opt/kde, αλλάξτε τις γραμμές που σχετίζονται με το
talk και το ntalk σε :
<tscreen><verb>
talk   dgram   udp     wait    root    /usr/sbin/tcpd  /opt/kde/bin/kotalkd
ntalk  dgram   udp     wait    root    /usr/sbin/tcpd  /opt/kde/bin/ktalkd
</verb></tscreen>
Σας παρέχεται επίσης ένα script, που κάνει αυτόματα τις απαραίτητες αλλαγές. 
Ενημερώστε το inetd.conf αρχείο σας τρέχοντας απλά 
<tscreen><verb>
% ./post-install.sh
</verb></tscreen>
1/4πως και να έχει, θα πρέπει να <bf/επανεκκινήσετε το inetd/ μετά από αυτό.
Στα περισσότερα συστήματα Linux, γίνεται με :
<tscreen><verb>
% killall -HUP inetd
</verb></tscreen>

<p>Παρακαλώ ενημερώστε με για οποιαδήποτε τροποποίηση που χρειάστηκε να κάνετε για να 
μεταγλωττίσετε το <tt/ktalkd/ στην πλατφόρμα σας.

<sect>Χρήση
<p>

Δεν υπάρχουν και πολλά να πούμε για το ktalkd : είναι δαίμονας. Δεν υπάρχει user interface για αυτό.
<p>Το παράθυρο ειδοποιήσεων έχει τετριμμένη συμπεριφορά : αποκριθείτε σε μια κλήση ή αγνοήστε την.
<p>Το παράθυρο ρυθμίσεων είναι μάλλον αυτονόητο, εκτός της λειτουργίας προώθησης προς έναν άλλο χρήστη
(ή ακόμα και προς έναν άλλο host).

<sect1>Επιλέγοντας μέθοδο προώθησης
<p>
Καμία δεν είναι τέλεια, όλες έχουν τα υπέρ (+) και τα κατά (-) τους. 

<p><bf/FWA/ : Μόνο Προώθηση Ειδοποίησης. Απευθείας Σύνδεση. Δεν συνίσταται.
<itemize>
<item>       (+) Ξέρετε ποιος ο καλών είναι, αλλά
<item>       (-) Ο καλών θα πρέπει να απαντήσει σε μια δικιά σας ειδοποίηση. Πράγμα ενοχλητικό.
<item>       (-) Μην το χρησιμοποιείτε αν έχετε ενεργοποιήσει τηλεφωνητή στην 'απομακρυσμένη' σας τοποθεσία.
  (Ο τηλεφωνητής σας δεν μπορεί να σηκώσει παράθυρο διαλόγου ειδοποίησης, πράγμα που θα μπερδέψει τα πράγματα!)
</itemize>
<p><bf/FWR/ : Προώθηση όλων των κλήσεων, με αλλαγή πληροφοριών όπου χρειαστεί. Απευθείας Σύνδεση.
<itemize>
<item>       (+) Ο καλών δεν θα γνωρίσει πως είσαστε μακριά, αλλά
<item>       (-) Δεν θα ξέρετε πραγματικά ποιός σας καλεί - παρά μόνο την ταυτότητα χρήστη του (username, 
(έτσι μπορεί να δείτε κάτι σαν "talk from Wintalk@my_host")
</itemize>
<p><bf/FWT/ : Προώθηση όλων των κλήσεων και απάντηση τους. 1/4χι απευθείας σύνδεση.
<itemize>
<item>       (+) Οπως και παραπάνω, αλλά δουλεύει επίσης και στις περιπτώσεις που εσείς και ο καλών δεν έχετε
απευθείας επαφή μεταξύ σας (π.χ. firewall).
<item>       (+) θα ειδοποιηθείτε για το ποιός πραγματικά σας μιλάει όταν αποδεχθείτε την κλήση
<item>       (-) Αλλά όπως και στο FWR, δεν θα ξέρετε, κατά την ειδοποίηση, το όνομα της μηχανής αυτού που σας κάλεσε, 
</itemize>
<p>Εν συντομία, χρησιμοποιήστε <bf/FWT/ αν θέλετε να κάνετε χρήση πίσω από firewall (και αν το ktalkd
μπορεί να έχει πρόσβαση και στα δύο δίκτυα), και <bf/FWR/ στις υπόλοιπες περιπτώσεις.

<sect>Ερωτήσεις και Απαντήσεις
<p>
<sect1>Γιατί ο root δεν λαμβάνει ειδοποιήσεις από το KDE ;
<p>
Γιατί θα αποτελούσε τρύπα στην ασφάλεια.
Μπορείτε να ξεπεράσετε αυτόν τον περιορισμό, προσθέτοντας δύο γραμμές στα αρχεία ρύθμισης του xdm
(που είναι τα ίδια με αυτά του kdm).
Σημείωση : η διανομή linux S.u.S.E συμπεριλαμβάνει αυτές τις δύο γραμμές.

<p>
Αυτά τα αρχεία ρυθμίσεων εδρεύουν σε ένα κατάλογο όπως ο /etc/X11/xdm,
ή ο /usr/X11R6/lib/X11/xdm σε κάποια άλλα συστήματα. Τα παρακάτω υποθέτουν πως βρίσκονται στο /etc/X11/xdm, 
και συνεπώς ίσως χρειάζεται να τα μεταφράζετε για κάποιο άλλο κατάλογο.

<p>
Να τι πρέπει να κάνετε :
Διορθώστε το αρχείο Xstartup, ή δημιουργήστε το, (στον κατάλογο ρυθμίσεων του xdm) ώστε πλεόν να λέει:
<tscreen><verb>
#!/bin/sh
/etc/X11/xdm/GiveConsole
sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER
</verb></tscreen>

και το αρχείο Xreset ώστε πλεόν να λέει:
<tscreen><verb>
#!/bin/sh
/etc/X11/xdm/TakeConsole
sessreg -d -l $DISPLAY $USER   
</verb></tscreen>

Βεβαιωθείτε πως το <bf/xdm-config/ κάνει αναφορά σε αυτά τα δύο αρχεία :
<tscreen><verb>
DisplayManager._0.startup:      /etc/X11/xdm/Xstartup
DisplayManager._0.reset:        /etc/X11/xdm/Xreset 
</verb></tscreen>

<P>
Αυτό θα καθοδηγήσει το kdm (ή το  xdm) να συνδέσει τον χρήστη με το utmp, πράγμα που είναι και το σωστό.
Δεν είναι αρμοδιότητα του kvt, ούτε του xterm, να συνδέσει τον χρήστη στο σύστημα, αλλά του xdm και του  kdm,
κατά την γνώμη μου. Παρόλα αυτά, αυτό δεν θα συνδέσει τον χρήστη στο σύστημα σαν χρήστη των X, αν χρησιμοποιείται το 
startx. Καμία υπόδειξη για αυτό;

<sect1>Γιατί δεν λαμβάνω, σαν κανονικός χρήστης, ειδοποιήσεις από KDE ;
<p>
Αν τρέχετε ένα σύστημα linux (με ενεργοποιημένο το /proc), αυτό αποτελεί σφάλμα
(bug). Παρακαλώ στείλτε μου μια περιγραφή, ώστε να το διορθώσω.</p>
<p>Σε άλλη περίπτωση, είναι φυσιολογικό : το ktalkd δεν βρίσκει τον χρήστη, καθώς το KDE δεν τον συνδέει με το
utmp και το /proc είναι απενεργοποιημένο.
Η λύση είναι η ίδια με αυτή τπυ τμήματος 5.1, υπό τον όρο πως τρέχετε kdm ή xdm για να μπαίνετε στα X.
Μια άλλη λύση είναι να βεβαιωθείτε πως πάντα έχετε ένα xterm ανοιχτό.

<sect1>Πως μπορώ να έχω πληροφορίες αποσφαλμάτωσης από το ktalkd ?
<P>
Καθώς είναι δαίμονας, δεν υπάρχει έξοδος αποσφαλμάτωσης στην στάνταρτ έξοδο. Για να έχετε πληροφορίες αποσφαλμάτωσης
(για παράδειγμα όταν θέλετε να μου στείλετε μια αναφορά σφαλμάτων !), ενημερώστε τις γραμμές στο inetd.conf 
που εκκινούν τα ktalkd και kotalkd ώστε να γίνουν :
<tscreen><verb>
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
</verb></tscreen>
(προσέξτε την επιλογή <bf/-d/)

<P>Μετά διορθώστε το αρχείο /etc/syslog.conf και εισάγετε την παρακάτω γραμμή :
<tscreen><verb>
*.*         /var/log/all_messages
</verb></tscreen>
<P>Για να δουλέψει, πρέπει μετά να επανεκκινήσετε το inetd και το syslogd :
<tscreen><verb>
% killall -HUP inetd
% killall -HUP syslogd
</verb></tscreen>
Τέλος, κάντε μια a talk συνομιλία και δείτε το αποτέλεσμα στο /var/log/all_messages

1/4ταν υποβάλλεται μια αναφορά σφαλμάτων, ποτέ μην ξεχάσετε να συμπεριλάβετε την έξοδο αποσφαλμάτωσης, αλλά
επίσης και τον αριθμό έκδοσης του ktalkd's και την έξοδο του "./configure".

<sect>Πνευματική Ιδιοκτησία
<p>
Το ktalkd συντηρείται και βελτιώνεται από τον David Faure, David.Faure@insa-lyon.fr
<p>Το πρωτότυπο πρόγραμμα γράφτηκε από τον Robert Cimrman, cimrman3@students.zcu.cz

<tscreen><verb>
Το ktalkd είναι πνευματική ιδοκτησία (Copyright 1997,1998) του David Faure David.Faure@insa-lyon.fr
</verb></tscreen>
<p>

Το πρόγραμμα αυτό αποτελεί δωρεάν λογισμικό. Μπορείτε να το αναδιανείμετε και/ή μετατρέψετε σύμφωνα με την
GNU General Public License όπως δημοσιεύεται από το Free Software
Foundation, είτε έκδοσης 2 της Άδειας, είτε (στην δική σας διακριτική ευχέρεια) οποιαδήποτε νεώτερη έκδοσή της.
<p>
Το πρόγραμμα αυτό διανέμεται με την ελπίδα πως θα φανεί χρήσιμο, αλλά ΧΩΡΙΣ ΑΠΟΛΥΤΩΣ ΚΑΜΜΙΑ ΕΓΓΥΗΣΗ, 
ούτε καν την υπονοούμενη εγγύηση ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ή  ΧΡΗΣΗΣ ΚΑΤΑΛΛΗΛΗΣ ΓΙΑ ΚΑΠΟΙΟΝ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ.
Για περισσότερες πληροφορίες δείτε την GNU General Public License.
<p>
Θα πρέπει να έχετε λάβει ένα αντίγραφο της GNU General Public License μαζί με αυτό το πρόγραμμα. Αν όχι,
γράψτε στην Free Software Foundation, Inc., 675 Mass
Ave, Cambridge, MA 02139, USA.
<p>


</article>
