Czy mogę ustawić domyślnego użytkownika w lightdm?


12

Bawiłem się Ubuntu Oneiric na moim netbooku (gdzie złamanie nie jest tak naprawdę problemem); Podoba mi się nowy ekran logowania lightdm, ale ma on jedną drobną irytację: oprócz mojego konta użytkownika istnieje inne konto do sporadycznego użytku przez moją dziewczynę, a jej konto użytkownika jest tym, na którym zawsze się skupia (prawdopodobnie dlatego, że jest to najpierw alfabetycznie) .

Wiem, jak to naprawić w gdm, ale nie znalazłem rozwiązania dla lightdm . Czy ktoś wie, jak to skonfigurować, aby moje konto było domyślnie podświetlone?

Odpowiedzi:


5

W /etc/lightdm/lightdm.conf

Idź w dół pliku, aż dojdziesz do:

# greeter-hide-users=false

Odznacz to, upewnij się, że wartość jest fałszywa.


2
Miałem wrażenie, że skomentowane opcje i wartości w /etc/lightdm/lightdm.conf wskazały wartości domyślne, ale tak nie jest. Tak więc linie bez komentarza mogą mieć wpływ. Również niektóre opcje wydają się obowiązywać przy wylogowywaniu / logowaniu, jednak opcja ta wymaga ponownego uruchomienia komputera.
— PiersyP,

Istnieją trzy poziomy na to, ze pliki konfiguracyjne są odczytywane w tej kolejności (czyli ostatnie przesłonięcia poprzedni): pliki /usr/share/lightdm/lightdm.conf.d, pliki /etc/lightdm.conf.di /etc/lightdm.confSama. Wartości domyślne mogą zostać zastąpione wcześniej i później trzeba je zresetować.
— Fiximan

To pomocne wyjaśnienie, dzięki.
— Lizardx

4

Odpowiedź hackerb9 zrobiła to dla mnie, ale zamiast tworzyć skrypt, o wiele łatwiej jest po prostu „zamrozić” plik konfiguracyjny. Oto co robić:

  • Otwórz plik konfiguracyjny do edycji (zwróć uwagę, że w zależności od smaku używanego Ubuntu folder wewnątrz .cachemoże być nazywany czymś innym)
    sudo nano /var/lib/lightdm/.cache/lightdm-gtk-greeter/state
  • Edytuj następujący wiersz, aby odzwierciedlić domyślną nazwę konta użytkownika
    last-user=[DEFAULT-USER]
  • Być może dobrze byłoby również dodać do pliku komentarz stwierdzający, że jest on zablokowany i jak
  • Uruchom następujące polecenie, aby „zamrozić” plik, aby lightdm nie mógł go zmienić
    sudo chattr +i /var/lib/lightdm/.cache/lightdm-gtk-greeter/state

Teraz lightdm nie będzie w stanie zaktualizować tego pliku, gdy inny użytkownik zaloguje się, aby upewnić się, że domyślny użytkownik będzie zawsze wyświetlany na liście po załadowaniu ekranu logowania.

Jeśli to zadziała i zdecydujesz się na głosowanie w górę, proszę o głosowanie w górę postu hackerb9, a także pochodzi to z osobnej metody.


1
Bardzo fajnie, @b_laoshi. Podoba mi się, że nie jesteś zależny od skryptu powłoki. Sugeruję umieszczenie komentarza w pliku stanu, aby przyszli administratorzy (lub ty) wiedzieli, dlaczego jest niezmienny. Myślę, że jest to dobre rozwiązanie na pojedynczej maszynie, ale powinienem wspomnieć, że ludzie mogą próbować tego w warunkach laboratoryjnych. (1) Nie należy polegać na rozszerzonych atrybutach systemu plików, aby zachować je na kopii zapasowej. (2) podobnie, jeśli masz laboratorium komputerów kopiowanych z wzorca sieciowego, atrybuty fs mogą zostać utracone. (3) / var / lib nie ma gwarancji zachowania, np. Przy aktualizacji.
— hackerb9

3

Edytuj plik /etc/lightdm/lightdm.conf ( gksu gedit /etc/lightdm/lightdm.conf) i dodaj do niego taką linię:

default-user=sean_fitzpatrick

Dzięki, ale jak dotąd nie miałem szczęścia - czy to zadziałało dla ciebie? Próbowałem różnych odmian, np. Default-user = sean (moja nazwa logowania), default-user = 1000 (mój UID) itp., Ale jak dotąd bez zmian.
— Sean Fitzpatrick

Gdzieś to przeczytałem, nie pamiętam gdzie. Nie korzystam jeszcze z lightdm. Zbadam więcej.
— desgua

OK, wydaje się, że teraz działa - przy najnowszych aktualizacjach domyślnie wybierany jest właściwy użytkownik. Nie jestem pewien, czy wynika to z dodania przeze mnie linii domyślnego użytkownika, czy też pamięta ostatnie logowanie. (Chyba mógłbym spróbować usunąć domyślną linię użytkownika i zobaczyć, co się stanie - ale przynajmniej teraz działa!)
— Sean Fitzpatrick

2
Jako krótka uwaga dla każdego, kto to czyta i używa 12.04, to ustawienie nie ma już żadnego efektu i nie znajduje się już w przykładowym pliku conf. Wierzę, że od 12.04 domyślnie będzie ostatnim zalogowanym użytkownikiem.
— mfisch

3

Opcja „default-user” została usunięta z lightdm. Dlaczego? Nikt nie wie. Minęło pięć lat, odkąd pytanie zostało pierwotnie zadane i wciąż jest zepsute. Lightdm zapisuje teraz tutaj status ostatniego zalogowanego w ukrytym pliku:

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

Oto trzyetapowe obejście:

  1. Utwórz skrypt powłoki o nazwie /usr/local/bin/lightdm-default-userz następującą zawartością:

    #!/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. Spraw, by był wykonywalny: chmod 755 /usr/local/bin/lightdm-default-user

  3. Niech lightdm automatycznie uruchomi skrypt podczas uruchamiania, edytując /etc/lightdm/lightdm.confi dodając wiersz w [SeatDefaults]sekcji:

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

To jest okropnie brzydkie, ale obecnie jest to niestety najlepsze rozwiązanie.


Podejrzewam, że zrobiono to ze względów bezpieczeństwa (tj. Nazwa użytkownika jest uważana za poufną informację).
— Scott Smith,

Właśnie tego potrzebowałem. Przyjąłem jednak nieco inne podejście. Skrypt powłoki nie jest w rzeczywistości konieczny. Zobacz moją odpowiedź na wyjaśnienie „zamrożenia” statepliku.
— b_laoshi,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.