Post  |  Commenti

Post Meta

17th
JAN

Come KDE/KDM gestisce la sessione?

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by deepred | Filed under Appunti, Linux, Programming

Se nei vostri script vi trovate o vi troverete ad aver bisogno di gestire le operazioni di terminazione della sessione, di blocco della stessa e di cambio utente che KDE agevolmente offre nel menu K sbatterete la testa avanti e indietro tra le pagine man del vostro sistema e quelle invece offerte dal vostro motore di ricerca preferito. Per questo ho pensato di scrivere questo articolo che possa servire ad evitarvi tanto complicato lavoro.

end_session.jpeg

Iniziamo innanzitutto dalla terminazione della sessione. Se quello che desiderate è la finestra di chiusura di default di KDE (come quella mostrata nella figura) allora il comando che dovrete usare è:

dcop kdesktop KDesktopIface logout

Se invece non volete che vi appaia tale popup, ma che la sessione sia chiusa direttamente (ed eventualmente riavviato o spento il vostro computer) allora vi sarà necessario dare il seguente comando:

dcop ksmserver ksmserver logout n n n

in cui il primo parametro (la prima n) sta per ShutdownConfirm, e può assumere i seguenti valori:

  • -1 = Default setting.
  • 0 = Don’t confirm, shutdown without asking. (Chiude senza chiedere conferma all’utente)
  • 1 = Always confirm, ask even if the user turned it off. (Chiede sempre conferma)

Il secondo parametro (seconda n) sta per ShutdownType. Essa può assumere i seguenti valori:

  • -1 = Default setting.
  • 0 = Only log out. (Eseguita solo la terminazione della sessione)
  • 1 = Log out and reboot the machine. (Terminata la sessione e riavviato il computer)
  • 2 = Log out and halt the machine. (Terminata la sessione e spento il computer)

Infine, il terzo parametro (terza n) sta per ShutdownMode, e assume i valori:

  • -1 = Default setting.
  • 0 = Schedule a shutdown (halt or reboot) for the time all active sessions have exited. (Spegne o riavvia solo dopo che tutte le sessioni attive sono state terminate)
  • 1 = Shut down, if no sessions are active. Otherwise do nothing. (Spegne o riavvia solo se non ci sono sessioni attive)
  • 2 = Force shutdown. Kill any possibly active sessions. (Spegne o riavvia subito, chiudendo in maniera forzata eventuali sessioni attive)
  • 3 = Pop up a dialog asking the user what to do if sessions are still active. (Chiede all’utente cosa fare riguardo alle sessioni attive)

Dopo la terminazione di sessione, analizziamo i comandi necessari per bloccare la nostra sessione. In realtà esistono due valide alternative per questa operazione praticamente equivalenti tra di loro:

dcop kdesktop KScreensaverIface lock

e

kdesktop_lock --forcelock

Infine per quanto riguarda l’operazione di switch user (la più difficile da trovare per la rete) essa è una operazione fornita da kdm e presente solo sulle versioni di KDE maggiori o uguali alla 3.4. In questo caso bisogna eseguire il comando

kdmctl resume

e un nuova console di kdm sarà disponibile. Nel caso si abbia una versione di KDE precedente alla 3.4 è ancora possibile aprire una nuova sessione editando specifici file di configurazione di KDM, come spiegato in questa pagina del Gentoo Wiki.

Tags: > > > > > >

Leave a Reply

Il contenuto di questo Blog è rilasciato sotto Licenza Creative Commons (Leggi)