Avanti Indietro Indice Generale
Perchè con il metodo correntemente utilizzato per l'identificazione dell'utente, si verrebbe a creare un buco nella sicurezza del sistema. Puoi ovviare a questa limitazione aggiungendo due linee nei file di configurazione dell'xdm (che sono gli stessi di quelli del kdm). Nota: nella S.u.S.E. queste linee sono incluse di default.
Questi file di configurazione stanno in una directory come /etc/X11/xdm oppure /usr/X11R6/lib/X11/xdm su altri sistemi. Queste linee suppongono che siano in /etc/X11/xdm, se i files si trovano in un'altra directory dovrai modificare le linee a dovere.
Edita il file Xstartup, o crealo se non esiste. Deve comparire così:
#!/bin/sh
/etc/X11/xdm/GiveConsole
sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER
ed il file Xreset:
#!/bin/sh
/etc/X11/xdm/TakeConsole
sessreg -d -l $DISPLAY $USER
Assicurati che xdm-config punti a questi di files:
DisplayManager._0.startup: /etc/X11/xdm/Xstartup
DisplayManager._0.reset: /etc/X11/xdm/Xreset
Questo farà loggare a kdm (o xdm) l'utente in utmp, che è la cosa giusta da fare. Secondo il mio parere dovrebbe essere kdm (o xdm) a loggare gli utenti e non kvt o xterm. Purtroppo questo non loggherà l'utente come utente X quando si usa startx... Qualcuno ha un suggerimento per questo?
Se il tuo sistema è un linux (con /proc abilitato), allora questo è un bug. Mandami la descrizione cosicchè io posso correggere il problema.
Altrimenti è normale: ktalkd non può trovare l'utente, come KDE non lo logga in utmp e il riconoscimente da linux (/proc) è disabilitato. La soluzione è la stessa descritta nella sezione 5.1.
Un'altra soluzione è quella di essere sicuri di avere sempre un xterm in esecuzione.
Essendo un demone, non c'è output di debug sullo standard output. Per avere informazioni di debug ( prima di mailarmi un bug report!), modifica le seguenti linee nel file /etc/inetd.conf:
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
(nota l'opzione -d)
Poi edita il file /etc/syslog.conf e aggiungi la linea seguente :
*.* /var/log/all_messages
Per farlo funzionare, devi rilanciare inetd e syslogd :
% killall -HUP inetd
% killall -HUP syslogd
Ed infine, lancia una sessione di talk e vedi in risultato in /var/log/all_messages
Quando sottometti un bug report, non dimenticarti di includere l'output del debug, ma anche la versione del talkd che stai utilizzando e l'output del "./configure".
Avanti Indietro Indice Generale