martedì 23 agosto 2011

LightDM, la nuova frontiera del login!

Alzi la mano chi è stufo di usare GDM!
Alzi la mano chi pensa che usare GDM, nonchè tutte le sue librerie gnomesche, senza usare Gnome, sia una bischerata!
Alzi anche la mano chi non ha nulla da fare e vuole provare qualcosa di nuovo!
Direi che abbiamo abbastanza mani alzate per giustificare un articolo su di un login manager nuovo, bello e prestante: LightDM!

Per dirla con Wikipedia, "LightDM è un login manager grafico per X Window System che punta ad essere leggero, veloce, espandibile e multi-desktop. Utilizza un backend WebKit per disegnare interfacce di login basate sul linguaggio HTML.
LightDM offre le stesse funzionalità di GDM, ma ha anche una base di codice più semplice e non necessita delle librerie specifiche di GNOME per funzionare."

La pagina ufficiale del progetto su freedesktop.org ci ribadisce quelle che vogliono essere le caratteristiche cardine di questo nuovo progetto: semplicità (di codice e di utilizzo), alte performace ed il suo essere desktop indipendente.

Prima di entrare nel merito di installazione e configurazione di LightDM, un avvertimento: si tratta, come detto, di un progetto molto giovane ed ancora in fase di grande sviluppo; questo, se da un lato lo rende un software molto interessante e da seguire, d'altra parte ci costringe tener conto della sua possibile instabilità ed a mettere in conto possibili bug nel suo utilizzo; tuttavia, fatta la doverosa puntualizzazione, mi sento di affermare LightDM è già tutt'ora perfettamente utilizzabile e personalmente ha già sostituito GDM3 sulla mia Debian Testing.

Se siete utenti XFCE, LXDE, Openbox o affini, dovete inoltre tener conto che LightDM rappresenta il futuro come login manager grafico, con GDM in via di estinzione (è recentemente scomparso dai repos Debiam Testing/Sid), GDM3 sempre più indissolubilmente legato a Gnome (le dipendenze sono costantemente in aumento) ed uno Slim che sembra non mantenere mai le premesse fino in fondo, soprattutto se si utilizza Network Manager e si necessità dello sblocco automatico del portachiavi all'avvio.
A favore di LigthDM va detto, infatti, che se utilizzate Network Manager non avrete nessun problema con lo sblocco del portachiavi e non ci sarà necessità di inserire ulteriormente la password per connettervi alle vostre reti.

Bene, possiamo andare al sodo!

Installazione

Premetto che Lightdm può avvalersi di 3 diversi toolkit per il greeter (la schermata di login): GTK, QT e Webkit, con quest'ultimo che rappresenta l'innovazione più interessante (in soldoni, consentirebbe di "disegnare" il login come se fosse una pagina web HTML, si ringrazia Lightuono per la spiegazione), ma che, purtroppo, non è ancora arrivato in Debian.
Per questo motivo e poichè utilizzo un sistema Debian multisessione XFCE/LXDE/Openbox, nelle righe che seguono mi riferirò al greeter GTK ed alla distribuzione Debian, ma, mutatis mutandis, potrete seguire la guida anche per quanto riguarda l'utilizzo del toolkit QT ed altre distro.
Apriamo un terminale e digitiamo:
# aptitude install lightdm lightdm-gtk-greeter
se nel vostro sistema è già installato un altro login manager (es. GDM3) vi verrà chiesto di selezionare quello predefinito: procedete selezionando LightDM.
Su sistemi Debian, tale scelta sarà reversibile con
# dpkg-reconfigure lightdm

Configurazione

I file importanti sono due
    /etc/lightdm/lightdm.conf nel quale troverete tutte le variabili personalizzabili con tanto di descrizione;
    /etc/lightdm/lightdm-gtk-greeter.conf importante per la modifica/personalizzazione del greeter, la schermata di login.

Riconoscere il profile ed eventuali altri environment path personalizzati

Per una precisa scelta degli sviluppatori, LightDM non riconosce il profile e questo comporterà il mancato riconoscimento di path personalizzati e dell'eventuale cartella bin presente nella vostra Home, causando l'inutilizzabilità dei vostri script eseguibili presenti nella suddetta cartella. Per ovviare:
nano .xsessionrc
ed inseriteci
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
   PATH="$HOME/bin:$PATH"
fi
Al prossimo riavvio, ~/bin verrà regolarmente riconosciuta.

In alternativa, potete semplicemente creare un link simbolico a ~/.profile e chiamarlo .xsessionrc.

Abilitare la lista utenti

Se non volete perdere tempo a scrivere il vostro nome utente all'avvio e preferite una soluzione analoga a quella di GDM3, con la lista utenti dalla quale selezionare il vostro user, procedete così:
#aptitude install accountsservice
e successivamente aprite da root e con il vostro editor preferito il file /etc/lightdm/lightdm.conf e commentate la riga greeter-hide-users=true.
Al prossimo avvio, troverete una lista utenti del tutto simile a quella di GDM3!

Personalizzare l'aspetto

Se desiderate dare un tocco personale alla vostra schermata di login, tutto ciò che dovrete fare sarà aprire con un editor di testo, da root, il file /etc/lightdm/lightdm-gtk-greeter.conf: la sua sintassi è molto semplice ed intuitiva ed esaminandolo non avrete problemi a modificare tema GTK, sfondo e persino il carattere della schermata, hinting compreso!

Autologin

Questa funzione non è ancora del tutto supportata e non sono riuscito ad abilitarla (sinceramente, non ne sono amante), ma non mancherò di aggiornare il post non appena ne saprò di più!

EDIT 26/08/2011: come promesso...ho recuperato nuove informazioni ed aggiorno il post!
L'amico Lightuono, di nuovo lui, ha scovato il sistema per abilitare l'autologin su Debian! Vi rimando direttamente al suo ottimo articolo, qui. Grazie Lightuono!

Questo, per il momento, è tutto... come detto il progetto è giovane ed in continuo sviluppo, quindi non dimenticate di controllare su L4N per eventuali nuove scoperte!

32 commenti:

  1. Ottimo post :D

    RispondiElimina
  2. @picchiopc Grazie picchio, sei sempre il primo :D

    RispondiElimina
  3. Grazie bel post, però ho notato che lo screen è riferito a Lxdm :D

    RispondiElimina
  4. Questo commento è stato eliminato dall'autore.

    RispondiElimina
    Risposte
    1. Questo commento è stato eliminato dall'autore.

      Elimina
  5. Inoltre mi sono accorto che mi lascia il sistema in Inglese, come posso risolvere? uso arch e xfce

    RispondiElimina
  6. @toketin
    Grazie!
    A dir la verità ho preso l'immagine dal blog del papà di lightdm http://bobthegnome.blogspot.com/2010/11/lightdm-status-update.html

    Certo, se qualcuno mi insegna come si fa uno scrot del DM, metto volentieri l'immagine di lightDM così come appare sul mio pc.

    L'immagine è comunque poco indicativa, tanto che pensavo quasi di non metterla...uno dei punti di forza di lightDM è proprio la grande possibilità di personalizzazione (chiamiamolo pure stravolgimento) dal punto di vista grafico.

    RispondiElimina
  7. Per fare uno screen del DM basta tirar su una macchina virtuale e screenare la finestra XD

    RispondiElimina
  8. @Black_Codec
    @Black_Codec
    Oppure, fai come fecero gli antichi: macchina fotografica! :-D

    RispondiElimina
  9. Ottimo posto :)! Migliore del mio XD

    RispondiElimina
  10. @toketin
    accidenti non saprei proprio! Io non ho nessun problema di questo genere e non usando Arch non ti saprei aiutare...hai cercato eventuali segnalazioni di bug?

    @Black_Codec: grazie ma...direi che non ne vale la pena, vi tenete l'immagine rozza :P

    @Lightuono: grazie ma non direi! Il tuo post mi è stato utilissimo per capire un bel po' di cose!

    RispondiElimina
  11. @Milozzy
    Si su Aur hanno segnalato questo problema della lingua, dovrò indagare di più

    RispondiElimina
  12. Per lo screen basta che arrivi in lightdm, ctrl+alt+f1 e vai in una shell testuale e poi usi scrot...Dovrebbe funzionare, anche se non ho mai provato :P

    RispondiElimina
  13. Articolo aggiornato nella parte riguardante l'autologin... Un ringraziamento a Lightuono.

    RispondiElimina
  14. Vorrei installare lightdm (su arch linux) ma sul wiki di arch si parla di problemi con il PATH, e non mi riferisco a home/bin, mi sembra di capire che sia un problema più generale (non legato all'utente, insomma)
    Tu hai avuto qualche problema?
    Si risolve tutto editando .xsessionrc?

    RispondiElimina
    Risposte
    1. Io ho risolto tutti problemi di PATH tramite .xsessionrc, sia /home/bin, sia texlive.

      Tu cosa intendi fare?

      Elimina
    2. confermo quanto detto da Doc.
      Preciso che noi siamo su Debian, non so se su Arch possa essere differente.

      Elimina
  15. io ho sempre usato SLIM invece di GDM

    RispondiElimina
  16. Ciao, grazie delle informazioni che non sono mai abbastanza ^^ volevo chiederti se e' possibile modificare la lista di ambienti proposti all'inizio, io vorrei mettere Open box, Lxde e poi tutti gli altri (debian testing). Ho guardato un po' ma non ho capito caso mai fosse indicato, come fare.
    ciao e grazie

    RispondiElimina
  17. Ciao enrico, per poter scegliere le varie sessioni io non ho dovuto fare niente. Nella schermata iniziale c'è un menu a tendina, dove ho Default Session, Openbox ed XFCE. Da lì puoi scegliere quella che preferisci e al login successivo rimarrà preselezionata la sessione utilizzata la volta precedente.

    Se invece quello che vorresti fare tu è modificare l'ordine delle varie sessioni, invece, non ti so aiutare.
    Ma se posso, a che pro?

    RispondiElimina
    Risposte
    1. Il boot e' noioso per me, capisco che sia due secondi, ma io cerco di velocizzare al massimo il boot e non capisco perche' quando specifico che voglio entrare in openbox, questo non diventi il desktop di default come mi sembra succeda in gdm. Forse e' un problema di Xsession devo andare a cercarmi un elenco di ambienti li, ho provato a cercare ma non ho trovato o semplicemente non sono in grado di capire tecnicamente. Se ce' cosi' tanta attenzione alla velocita' del boot, non vedo perche' non debba essere considerato nei tempi di boot anche il login e l'immissione password. Ma capisco che per molti sia un'inezia. Ma dovrebbe essere nello spirito di "light"dm essere + veloce oltre che leggero ^^. Ciao e grazie della risposta.

      Elimina
    2. Come Doc, nemmeno io ho capito bene cosa cerchi...Perchè da quanto capisco io, tu vorresti che se oggi fai il login con openbox, domani al riavvio ti si presenti openbox come scelta predefinita (in modo da non dover passare per il menu a tendina)...giusto? Se è così, questo è precisamente il comportamento predefinito di Lightdm e che io tanto apprezzo! (a differenza, ad esempio, di Slim che propone sempre un ordine predefinito delle sessioni)

      Elimina
    3. strano io uso debian testing e apro lightdm con openbox alla terza posizione e quando riapro al boot successivo openbox e' sempre in terza posizione, stanti cosi' le cose per me slim e' uguale, solo che se faccio htop non trovo lightdm in testa senza sapere perche'.

      ciao ^^

      Elimina
    4. D'accordo, è sempre alla terza posizione, ma è pure pre selezionato, no? Dunque ti basta scrivere la password, battere invio e ti ritroverai logato in openbox.

      Elimina
    5. E proprio questo il problema, io loggo la prima volta su openbox e la successiva se non faccio di nuovo la selezione della terza voce (openbox) mi logga con la prima proprio come in slim. Io ho un'installazione che nasce lxde debian squeeze e la ho portata a sid.

      ciao ^^

      Elimina
  18. Lightdm è solo un login manager e quindi non gestisce il DE o WM di default!

    Insomma, tu vuoi far sì che Xsession ti carichi openbox o altro a tuo piacimento, oppure vuoi l'autologin con quello che ti piace?

    RispondiElimina
    Risposte
    1. Mi piacerebbe che ogni volta che seleziono un ambiente desktop o un window manager come openbox, questo diventasse l'ambiente di default proposto la volta successiva.

      Elimina
  19. Ribadiamo: il login manager NON HA NIENTE A CHE VEDERE con l'impostazione della sessione di default.

    L'unico vantaggio di LightDM rispetto a Slim è che il primo "preseleziona" il desktop utilizzato la precedente volta, mentre slim, in mancanza di precise indicazioni date di volta in volta dall'utente, si limita a lanciare la sessione di default.

    In breve, poniamo che la precedente volta hai usato Openbox, MA la sessione di default è gnome e TU vuoi lanciare Openbox:
    - con LightDM dovrai solo scrivere la password e premere invio
    - con Slim, se non gli dici espressamente che vuoi OB, ti avvierà Gnome

    Se, invece, vuoi mettere ad esempio Xfce al posto di Gnome come default xsession, allora puoi editare /usr/share/xsessions/lightdm-xsession.desktop e, nel campo exec=, al posto di "default", scriverai "startxfce4" (senza virgolette).
    Puoi farlo, ma se mi permetti, NON TE LO CONSIGLIO!

    RispondiElimina
    Risposte
    1. La sessione di default si può cambiare anche via GUI, installando galternatives, ma continuo a pensare che non sia quello che vuole l'amico.
      Enrico chiarisci se per sessione di "default" intendi il default di sistema o la scelta predefinita di Lightdm

      Elimina
    2. Scusa se rispondo in ritardo, io vorrei che senza fare nulla la volta successiva mi caricasse il desktop della volta precedente, a prescindere dall'ordine di presentazione dei desktop possibili, il fatto è che se non seleziono ogni volta openbox, mi parte sempre lxde che e' il primo in ordine di visualizzazione su lightdm.

      Elimina
    3. Bah!
      Quello che tu vorresti è esattamente quello che succede da noi in modo predefinito.
      Hai pensato che forse faresti prima ad installarti una Debian vera, senza ricorrere ad alcuna salsa?
      Sei sicuro che il tuo upgrade a Sid da testing sia andato del tutto bene?
      Controlla se hai installato tutte le dipendenze, ma soprattutto i raccomandati di lightdm.

      Elimina
  20. update-alternatives --config x-session-manager mi ha permesso di selezionare openbox come default e adesso apre con quello, ho installato lightdm da repository, pensi che debba preoccuparmi di controllare anche librerie consigliate e se si dove le pesco?
    La distro è sempre debian Nautilus o pcmanfm, xfburn o brasero, leafpad o gedit fidati ^^
    ciao e grazie!

    RispondiElimina

EDIT 30/12/2017: abbiamo deciso di chiudere i commenti ma lasciare le guide intatte.

Nota. Solo i membri di questo blog possono postare un commento.