Posso impostare un utente predefinito in lightdm?


12

Ho giocato con Ubuntu Oneiric sul mio netbook (dove la rottura non è davvero un problema); Mi piace la nuova schermata di accesso a lightdm, ma ha un piccolo fastidio: oltre al mio account utente, c'è un altro account per l'uso occasionale da parte della mia ragazza, e il suo account utente è quello che è sempre focalizzato (presumibilmente perché è prima in ordine alfabetico) .

So come risolvere questo problema in gdm ma non ho trovato una soluzione per lightdm . Qualcuno sa come configurarlo in modo che il mio account sia evidenziato per impostazione predefinita?

Risposte:


5

In /etc/lightdm/lightdm.conf

Scorri il file fino a quando non arriverai a:

# greeter-hide-users=false

Annulla commento, assicurati che il valore sia falso.


2
Avevo avuto l'impressione che le opzioni e i valori commentati in /etc/lightdm/lightdm.conf indicassero i valori predefiniti, ma non è così. Quindi, semplicemente le righe non commentate possono avere un effetto. Anche alcune opzioni sembrano avere effetto al logout / login, questa opzione sembra richiedere un riavvio per avere effetto.
PiersyP,

Esistono tre livelli per questo, con i file di configurazione letti in questo ordine (ovvero l'ultimo sovrascrive il precedente): file in /usr/share/lightdm/lightdm.conf.d, file in /etc/lightdm.conf.de /etc/lightdm.confse stesso. Le impostazioni predefinite potrebbero essere sostituite in precedenza e devono essere ripristinate in seguito.
Fiximan,

Questo è un utile chiarimento, grazie.
Lizardx,

4

La risposta di hackerb9 lo ha fatto per me, ma piuttosto che creare uno script, è molto più semplice semplicemente "bloccare" il file di configurazione. Ecco cosa fare:

  • Apri il file di configurazione per la modifica (nota che a seconda del sapore di Ubuntu che stai utilizzando, la cartella all'interno .cachepotrebbe essere chiamata qualcos'altro)
    sudo nano /var/lib/lightdm/.cache/lightdm-gtk-greeter/state
  • Modifica la seguente riga per riflettere il nome dell'account dell'utente predefinito
    last-user=[DEFAULT-USER]
  • Forse sarebbe bene anche aggiungere un commento al file affermando che è bloccato e come
  • Eseguire il comando seguente per "bloccare" il file in modo che non possa essere modificato da lightdm
    sudo chattr +i /var/lib/lightdm/.cache/lightdm-gtk-greeter/state

Ora lightdm non sarà in grado di aggiornare questo file quando un altro utente accede garantendo che l'utente predefinito verrà sempre elencato quando viene caricata la schermata di accesso.

Se questo funziona per te e decidi di votare in alto, per favore vota in alto il post di hackerb9, poiché questo è un metodo separato.


1
Molto bello, @b_laoshi. Mi piace che tu non dipenda da uno script di shell. Suggerisco di inserire un commento nel file di stato in modo che i futuri amministratori di sistema (o te stesso) sapranno perché è immutabile. Penso che questa sia un'ottima soluzione su una singola macchina, ma dovrei menzionare che potrebbero esserci degli svantaggi per le persone che la provano in una situazione di laboratorio. (1) gli attributi di filesystem estesi non dovrebbero essere invocati per persistere su un backup. (2) allo stesso modo, se si dispone di un laboratorio di computer copiati da un master di rete, gli attributi fs possono andare persi. (3) / var / lib non è garantito per essere conservato, ad es. In un aggiornamento.
hackerb9,

3

Modifica il file /etc/lightdm/lightdm.conf ( gksu gedit /etc/lightdm/lightdm.conf) e aggiungi una riga come questa:

default-user=sean_fitzpatrick

Grazie, ma finora non ho avuto fortuna - ha funzionato per te? Ho provato diverse varianti, ad esempio default-user = sean (il mio nome di accesso), default-user = 1000 (il mio UID), ecc. Ma finora, nessuna modifica.
Sean Fitzpatrick,

L'ho letto da qualche parte, non ricordo dove. Non sto ancora usando LightDM. Cercherò di più.
desgua,

OK, questo sembra funzionare ora - con gli ultimi aggiornamenti l'utente corretto è selezionato per impostazione predefinita. Non sono sicuro che ciò sia dovuto al fatto che io abbia aggiunto la riga dell'utente predefinito o che ora ricordi l'ultimo accesso. (Immagino di poter provare a rimuovere la linea utente predefinita e vedere cosa succede - ma almeno ora funziona!)
Sean Fitzpatrick,

2
Come una breve nota per chiunque stia leggendo questo e usando 12.04, questa impostazione non ha più alcun effetto e non è più nel file conf di esempio. Credo che dal 12.04 il default sarà l'ultimo utente che ha effettuato l'accesso.
mfisch

3

L'opzione "utente predefinito" è stata rimossa da lightdm. Perché? Nessuno sa. Sono passati cinque anni da quando questa domanda è stata inizialmente posta ed è ancora rotta. Lightdm ora salva lo stato dell'ultimo accesso in un file nascosto qui:

/var/lib/lightdm/.cache/lightdm-gtk-greeter/state

Quindi, ecco una soluzione alternativa in tre passaggi:

  1. Creare uno script shell chiamato /usr/local/bin/lightdm-default-usercon il seguente contenuto:

    #!/bin/sh
    
    # LightDM removed the default-user option.
    # The only recourse now is an ugly kludge. 
    
    # Note that if you want to default to the "Guest Session",
    # you need to specify the last user as "*guest".
    
    /bin/echo -e '[greeter]\nlast-user=*guest' > /var/lib/lightdm/.cache/lightdm-gtk-greeter/state
    
  2. Renderlo eseguibile: chmod 755 /usr/local/bin/lightdm-default-user

  3. Chiedi a lightdm di eseguire automaticamente lo script all'avvio modificando /etc/lightdm/lightdm.confe aggiungendo una riga nella [SeatDefaults]sezione:

    [SeatDefaults]
    greeter-setup-script=/usr/local/bin/lightdm-default-user
    

Questo è orribilmente brutto ma è, purtroppo, la soluzione migliore al momento.


Sospetto che sia stato fatto per motivi di sicurezza (ad esempio, il nome utente è considerato informazione sensibile).
Scott Smith,

Questo era esattamente ciò di cui avevo bisogno. Ho adottato un approccio leggermente diverso. Lo script della shell non è effettivamente necessario. Vedi la mia risposta per una spiegazione di "congelamento" del statefile.
b_laoshi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.