Summary: | Не работает автологин в lightdm | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Антон Мидюков <antohami> | ||||||
Component: | mkimage-profiles | Assignee: | Антон Мидюков <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
Антон Мидюков
2019-05-25 10:18:58 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.
Фиксирую хоть как-то текущие заметки по разговору с 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 (с точностью до очепятки) 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). Created attachment 8141 [details]
x11-autologin: harden the previous commit
Дополнил патч для mkimage-profiles, чтоб хоть внятная диагностика была для заведомо сломанного случая без единой сессии.
Вообще-то надо это сделать в autologin-sh-functions и перетащить mkimage-profiles на использование именно этого специально вынесенного отдельным пакетом кода
Строго говоря, это окончательно проблему не решает. Во-первых, это явное переопределение сеанса. Если пользователь переопределяет сеанс (раньше он был в ~/.dmrc), то это переопределение будет проигнорировано. Надо делать LiveCD с этим патчем и проверять обновление на система с включенным автовходом. (В ответ на комментарий №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 '' По остальным регуляркам отпишусь позже. А сессий-то в исошке есть хоть одна? (В ответ на комментарий №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 Если конечно, его ещё нет. Тогда я исправлением и займусь. (В ответ на комментарий №9) > По уму нам нужно создавать /var/cache/lightdm/dmrc/$USER.dmrc c таким > содержанием: > [Desktop] > Session=$SESSION Если в lightdm действительно есть поддержка accountsservice, а не просто зависимость на него, можно (нужно) создавать /var/lib/AccountsService/users/$USER (В ответ на комментарий №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 автологин работает. Спасибо за подсказку. Проверил, то что надо. Created attachment 8143 [details]
x11-autologin: fix autologin for lightdm
Прилагаю коммит имени antohami@, который принят в mkimage-profiles::next.
> Проверил на cinnamon.
Для решения проблемы сломанного автологина для lightdm через альтератор завёл новый баг: https://bugzilla.altlinux.org/show_bug.cgi?id=36805 (В ответ на комментарий №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. |