Bug 36794

Summary: Не работает автологин в lightdm
Product: Sisyphus Reporter: Антон Мидюков <antohami>
Component: mkimage-profilesAssignee: Антон Мидюков <antohami>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P3 CC: aen, antohami, aris, cas, iv, mike, sem, shrek
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://webery.altlinux.org/task/230433
Bug Depends on:    
Bug Blocks: 33000    
Attachments:
Description Flags
x11-autologin: harden the previous commit
none
x11-autologin: fix autologin for lightdm none

Description Антон Мидюков 2019-05-25 10:18:58 MSK
Не работает автологин в lightdm в двух случаях:
1. Запуск livecd
2. Автологин при первом запуске после установки. После одного логина и перезагрузки начинает работать.

В обоих случаях в /var/log/lightdm/lightdm.log:
[+0.08s] DEBUG: Seat seat0: Failed to find session configuration default
[+0.08s] DEBUG: Seat seat0: Can't find session 'default'

Началось после того, как исчезла поддержка сеансов из /etc/X11/wmsessions.d
Актуально и для p9.
Comment 1 AEN 2019-05-25 14:48:33 MSK
(В ответ на комментарий №0)
> Не работает автологин в lightdm в двух случаях:
> 1. Запуск livecd
> 2. Автологин при первом запуске после установки. После одного логина и
> перезагрузки начинает работать.
> 
> В обоих случаях в /var/log/lightdm/lightdm.log:
> [+0.08s] DEBUG: Seat seat0: Failed to find session configuration default
> [+0.08s] DEBUG: Seat seat0: Can't find session 'default'
> 
> Началось после того, как исчезла поддержка сеансов из /etc/X11/wmsessions.d
> Актуально и для p9.

Прошу завести баг на p9.
Comment 2 Michael Shigorin 2019-05-27 18:37:55 MSK
Фиксирую хоть как-то текущие заметки по разговору с cas@:

- в /usr/share/xsessions/ и впрямь обычно нет файлика default.desktop;

- пропатчить autologin-sh-functions недостаточно, т.к. уехавший туда
  ради повторного использования в alterator-users код оказался не заменён
  на использование этих функций в mkimage-profiles по крайней мере до 1.3.7
  включительно...

См. тж.:
http://webery.altlinux.org/task/230433
http://git.altlinux.org/people/cas/packages/?p=autologin-sh-functions.git;a=commitdiff;h=dff4558d53f9a115e68b57e3c38bfbac9c397477
(с точностью до очепятки)
Comment 4 Repository Robot 2019-05-27 19:03:53 MSK
autologin-sh-functions-0.2.5-alt1 -> sisyphus:

Mon May 27 2019 Andrey Cherepanov <cas@altlinux> 0.2.5-alt1
- Detect default session for lightdm (ALT #36794).
Comment 5 Michael Shigorin 2019-05-27 22:22:46 MSK
Created attachment 8141 [details]
x11-autologin: harden the previous commit

Дополнил патч для mkimage-profiles, чтоб хоть внятная диагностика была для заведомо сломанного случая без единой сессии.

Вообще-то надо это сделать в autologin-sh-functions и перетащить mkimage-profiles на использование именно этого специально вынесенного отдельным пакетом кода
Comment 6 Andrey Cherepanov 2019-05-28 07:56:54 MSK
Строго говоря, это окончательно проблему не решает. Во-первых, это явное переопределение сеанса. Если пользователь переопределяет сеанс (раньше он был в ~/.dmrc), то это переопределение будет проигнорировано. Надо делать LiveCD с этим патчем и проверять обновление на система с включенным автовходом.
Comment 7 Антон Мидюков 2019-05-28 09:07:24 MSK
(В ответ на комментарий №6)
> Строго говоря, это окончательно проблему не решает. Во-первых, это явное
> переопределение сеанса. Если пользователь переопределяет сеанс (раньше он был в
> ~/.dmrc), то это переопределение будет проигнорировано. Надо делать LiveCD с
> этим патчем и проверять обновление на система с включенным автовходом.

По крайней мере с Мишиным патчем поверх патча Андрея у livecd автологин в cinnamon не отработал. Автологин от альтератора при установке тоже не отработал. И мало того, автологин теперь вообще не работает. В cinnamon точно.

В логе теперь:
в /var/log/lightdm/lightdm.log:
[+0.08s] DEBUG: Seat seat0: Failed to find session configuration
[+0.08s] DEBUG: Seat seat0: Can't find session ''

По остальным регуляркам отпишусь позже.
Comment 8 Michael Shigorin 2019-05-28 09:35:17 MSK
А сессий-то в исошке есть хоть одна?
Comment 9 Антон Мидюков 2019-05-28 11:16:33 MSK
(В ответ на комментарий №8)
> А сессий-то в исошке есть хоть одна?

Разумеется. Сколько /usr/share/xsessions/*.desktop, столько и сессий в lightdm.

Команда:
default_session="$(ls -1 /usr/share/xsessions/*.desktop | sed -n 's/^.*\/\([^/]\+\)\.desktop$/\1/;1p')"

отрабатывает в терминале как надо. Сессию присваивает. А вот в конфиг ничего не попадает.

По уму нам нужно создавать /var/cache/lightdm/dmrc/$USER.dmrc c таким содержанием:
[Desktop]
Session=$SESSION

Если конечно, его ещё нет.
Comment 10 Антон Мидюков 2019-05-28 11:38:52 MSK
Тогда я исправлением и займусь.
Comment 11 Yuri N. Sedunov 2019-05-28 11:48:50 MSK
(В ответ на комментарий №9)
> По уму нам нужно создавать /var/cache/lightdm/dmrc/$USER.dmrc c таким
> содержанием:
> [Desktop]
> Session=$SESSION

Если в lightdm действительно есть поддержка accountsservice, а не просто зависимость на него, можно (нужно) создавать /var/lib/AccountsService/users/$USER
Comment 12 Антон Мидюков 2019-05-28 12:30:01 MSK
(В ответ на комментарий №11)
> (В ответ на комментарий №9)
> > По уму нам нужно создавать /var/cache/lightdm/dmrc/$USER.dmrc c таким
> > содержанием:
> > [Desktop]
> > Session=$SESSION
> 
> Если в lightdm действительно есть поддержка accountsservice, а не просто
> зависимость на него, можно (нужно) создавать
> /var/lib/AccountsService/users/$USER

Ага. Я уже заметил, что без /var/cache/lightdm/dmrc/$USER.dmrc автологин работает. Спасибо за подсказку. Проверил, то что надо.
Comment 13 Michael Shigorin 2019-05-28 17:57:33 MSK
Created attachment 8143 [details]
x11-autologin: fix autologin for lightdm

Прилагаю коммит имени antohami@, который принят в mkimage-profiles::next.
Comment 14 Michael Shigorin 2019-05-28 17:57:58 MSK
> Проверил на cinnamon.
Comment 15 Антон Мидюков 2019-05-28 18:12:56 MSK
Для решения проблемы сломанного автологина для lightdm через альтератор завёл новый баг: https://bugzilla.altlinux.org/show_bug.cgi?id=36805
Comment 16 Yuri N. Sedunov 2019-05-28 18:22:11 MSK
(В ответ на комментарий №13)
> Created an attachment (id=8143) [details]
> x11-autologin: fix autologin for lightdm
> 
> Прилагаю коммит имени antohami@, который принят в mkimage-profiles::next.

Теперь можно легко наплодить еще ягуляров:
Cinnamon 2D
Gnome on Xorg
Gnome Glassic
Gnome Flashback
etc.