Bug 36805

Summary: Сломан автологин для lightdm через альтератор
Product: Sisyphus Reporter: Антон Мидюков <antohami>
Component: autologin-sh-functionsAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P3 CC: aen, aris, cas, lav, mike, rider, sem, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 33000    

Description Антон Мидюков 2019-05-28 18:11:09 MSK
Коммит http://git.altlinux.org/people/cas/packages/?p=autologin-sh-functions.git;a=commitdiff;h=93d14ceb28e0840d778d9a3e33d0a3c2cc5b984b доломал автологин для lightdm в альтераторе совсем. Ранее он не работал только, если ещё ни разу не был осуществлён вход в систему. Теперь не работает совсем.

в /var/log/lightdm/lightdm.log:
[+0.08s] DEBUG: Seat seat0: Failed to find session configuration
[+0.08s] DEBUG: Seat seat0: Can't find session ''

При вызове из альтератора
ls -1 /usr/share/xsessions/*.desktop | sed -n 's/^.*\/\([^/]\+\)\.desktop$/\1/;1p'

возвращает ''.

Кроме того, нужно сделать по аналогии с m-p в баге https://bugzilla.altlinux.org/show_bug.cgi?id=36794

Т.е. создавать файл /var/lib/AccountsService/users/$USER, если не существует.
Comment 1 AEN 2019-05-28 18:15:24 MSK
Это и в p9?
Повесьте и туда, пожалуйста.
Comment 2 Andrey Cherepanov 2019-05-30 14:44:25 MSK
Антон, если исправлено, то закрой, пожалуйста.
Comment 3 Антон Мидюков 2019-05-30 15:00:27 MSK
(В ответ на комментарий №2)
> Антон, если исправлено, то закрой, пожалуйста.

Я открыл баг, потому что не исправлено, а поломано. На регулярках через альтератор получаем поломку автологина. Так как в конфиге /etc/lightdm/lightdm.conf получается:
autologin-session=

Код рабочий, но при вызове из альтератор:
ls -1 /usr/share/xsessions/*.desktop

в ответ ничего. Я могу только предположить, что нет доступа к файловой системе.
У тебя работает в Образовании?
Comment 4 Антон Мидюков 2019-05-30 15:07:10 MSK
(В ответ на комментарий №3)
> Я могу только предположить, что нет доступа к файловой 

Но так как доступ к конфигу /etc/lightdm/lightdm.conf есть, то я не понимаю в чём дело.
Comment 5 Andrey Cherepanov 2019-05-30 15:35:28 MSK
(В ответ на комментарий №3)
> (В ответ на комментарий №2)
> > Антон, если исправлено, то закрой, пожалуйста.
> 
> Я открыл баг, потому что не исправлено, а поломано. На регулярках через
> альтератор получаем поломку автологина. Так как в конфиге
> /etc/lightdm/lightdm.conf получается:
> autologin-session=
> 
> Код рабочий, но при вызове из альтератор:
> ls -1 /usr/share/xsessions/*.desktop
> 
> в ответ ничего. Я могу только предположить, что нет доступа к файловой системе.
> У тебя работает в Образовании?
Да, работает. Вот код:
http://git.altlinux.org/people/cas/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=history;f=features.in/x11-autologin/rootfs/image-scripts.d/40-x11-autologin;hb=c929f550d48c9b5f248ac1c7fdc252a149148393

Сделано в отдельном конфиге lightdm.conf.d/autlogin.conf с прописыванием autologin-session:

echo "autologin-session=$default_session" >> /etc/lightdm/lightdm.conf.d/autologin.conf
Comment 6 Антон Мидюков 2019-05-30 15:52:51 MSK
(В ответ на комментарий №5)
> (В ответ на комментарий №3)
> > (В ответ на комментарий №2)
> > > Антон, если исправлено, то закрой, пожалуйста.
> > 
> > Я открыл баг, потому что не исправлено, а поломано. На регулярках через
> > альтератор получаем поломку автологина. Так как в конфиге
> > /etc/lightdm/lightdm.conf получается:
> > autologin-session=
> > 
> > Код рабочий, но при вызове из альтератор:
> > ls -1 /usr/share/xsessions/*.desktop
> > 
> > в ответ ничего. Я могу только предположить, что нет доступа к файловой системе.
> > У тебя работает в Образовании?
> Да, работает. Вот код:
> http://git.altlinux.org/people/cas/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=history;f=features.in/x11-autologin/rootfs/image-scripts.d/40-x11-autologin;hb=c929f550d48c9b5f248ac1c7fdc252a149148393
> 
> Сделано в отдельном конфиге lightdm.conf.d/autlogin.conf с прописыванием
> autologin-session:
> 
> echo "autologin-session=$default_session" >>
> /etc/lightdm/lightdm.conf.d/autologin.conf

Это в mkimage-profiles, а я про альтератор.
Comment 7 Andrey Cherepanov 2019-05-30 16:14:29 MSK
(В ответ на комментарий №6)
> (В ответ на комментарий №5)
> > (В ответ на комментарий №3)
> > > (В ответ на комментарий №2)
> > > > Антон, если исправлено, то закрой, пожалуйста.
> > > 
> > > Я открыл баг, потому что не исправлено, а поломано. На регулярках через
> > > альтератор получаем поломку автологина. Так как в конфиге
> > > /etc/lightdm/lightdm.conf получается:
> > > autologin-session=
> > > 
> > > Код рабочий, но при вызове из альтератор:
> > > ls -1 /usr/share/xsessions/*.desktop
> > > 
> > > в ответ ничего. Я могу только предположить, что нет доступа к файловой системе.
> > > У тебя работает в Образовании?
> > Да, работает. Вот код:
> > http://git.altlinux.org/people/cas/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=history;f=features.in/x11-autologin/rootfs/image-scripts.d/40-x11-autologin;hb=c929f550d48c9b5f248ac1c7fdc252a149148393
> > 
> > Сделано в отдельном конфиге lightdm.conf.d/autlogin.conf с прописыванием
> > autologin-session:
> > 
> > echo "autologin-session=$default_session" >>
> > /etc/lightdm/lightdm.conf.d/autologin.conf
> 
> Это в mkimage-profiles, а я про альтератор.
Надо туда переносить и смотреть ~/.dmrc. Вопрос: кто будет это делать?
Comment 8 AEN 2019-05-31 14:02:06 MSK
(В ответ на комментарий №7)
> (В ответ на комментарий №6)
> > (В ответ на комментарий №5)
> > > (В ответ на комментарий №3)
> > > > (В ответ на комментарий №2)
> > > > > Антон, если исправлено, то закрой, пожалуйста.
> > > > 
> > > > Я открыл баг, потому что не исправлено, а поломано. На регулярках через
> > > > альтератор получаем поломку автологина. Так как в конфиге
> > > > /etc/lightdm/lightdm.conf получается:
> > > > autologin-session=
> > > > 
> > > > Код рабочий, но при вызове из альтератор:
> > > > ls -1 /usr/share/xsessions/*.desktop
> > > > 
> > > > в ответ ничего. Я могу только предположить, что нет доступа к файловой системе.
> > > > У тебя работает в Образовании?
> > > Да, работает. Вот код:
> > > http://git.altlinux.org/people/cas/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=history;f=features.in/x11-autologin/rootfs/image-scripts.d/40-x11-autologin;hb=c929f550d48c9b5f248ac1c7fdc252a149148393
> > > 
> > > Сделано в отдельном конфиге lightdm.conf.d/autlogin.conf с прописыванием
> > > autologin-session:
> > > 
> > > echo "autologin-session=$default_session" >>
> > > /etc/lightdm/lightdm.conf.d/autologin.conf
> > 
> > Это в mkimage-profiles, а я про альтератор.
> Надо туда переносить и смотреть ~/.dmrc. Вопрос: кто будет это делать?

Андрей, и кто? Что Вы решили. Бага Ваша.
Comment 9 Andrey Cherepanov 2019-05-31 14:16:30 MSK
(В ответ на комментарий №8)
> (В ответ на комментарий №7)
> > (В ответ на комментарий №6)
> > > (В ответ на комментарий №5)
> > > > (В ответ на комментарий №3)
> > > > > (В ответ на комментарий №2)
> > > > > > Антон, если исправлено, то закрой, пожалуйста.
> > > > > 
> > > > > Я открыл баг, потому что не исправлено, а поломано. На регулярках через
> > > > > альтератор получаем поломку автологина. Так как в конфиге
> > > > > /etc/lightdm/lightdm.conf получается:
> > > > > autologin-session=
> > > > > 
> > > > > Код рабочий, но при вызове из альтератор:
> > > > > ls -1 /usr/share/xsessions/*.desktop
> > > > > 
> > > > > в ответ ничего. Я могу только предположить, что нет доступа к файловой системе.
> > > > > У тебя работает в Образовании?
> > > > Да, работает. Вот код:
> > > > http://git.altlinux.org/people/cas/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=history;f=features.in/x11-autologin/rootfs/image-scripts.d/40-x11-autologin;hb=c929f550d48c9b5f248ac1c7fdc252a149148393
> > > > 
> > > > Сделано в отдельном конфиге lightdm.conf.d/autlogin.conf с прописыванием
> > > > autologin-session:
> > > > 
> > > > echo "autologin-session=$default_session" >>
> > > > /etc/lightdm/lightdm.conf.d/autologin.conf
> > > 
> > > Это в mkimage-profiles, а я про альтератор.
> > Надо туда переносить и смотреть ~/.dmrc. Вопрос: кто будет это делать?
> 
> Андрей, и кто? Что Вы решили. Бага Ваша.
Да, бага моя, буду думать. Сроков назвать не могу.
Comment 10 Repository Robot 2019-06-01 20:03:35 MSK
autologin-sh-functions-0.2.6-alt1 -> sisyphus:

Fri May 31 2019 Andrey Cherepanov <cas@altlinux> 0.2.6-alt1
- Rewrite check of autologin-session in lightdm (ALT #36805).
Comment 11 AEN 2019-06-01 22:28:33 MSK
Спасибо!!
В p9?
Comment 12 Антон Мидюков 2019-06-02 04:54:08 MSK
Проверил. Работает. Спасибо, Андрей!

(В ответ на комментарий №11)
> В p9?

Уже там. Андрей отправил:
[#231302] p9 DONE autologin-sh-functions.git=0.2.6-alt1
Comment 13 AEN 2019-06-02 04:58:16 MSK
(В ответ на комментарий №12)
> Проверил. Работает. Спасибо, Андрей!
> 
> (В ответ на комментарий №11)
> > В p9?
> 
> Уже там. Андрей отправил:
> [#231302] p9 DONE autologin-sh-functions.git=0.2.6-alt1

Отлично. Тогда, пожалуйста, и там закройте после проверки.
Comment 14 Yuri N. Sedunov 2019-06-02 13:25:03 MSK
autologin-sh-functions теперь тащит в систему, включенный по-умолчанию lightdm -- это безобразие!
Comment 15 Антон Мидюков 2019-06-02 17:37:21 MSK
(В ответ на комментарий №14)
> autologin-sh-functions теперь тащит в систему, включенный по-умолчанию lightdm
> -- это безобразие!

Да, вот здесь и тянет:
http://git.altlinux.org/gears/a/autologin-sh-functions.git?p=autologin-sh-functions.git;a=commitdiff;h=f84f8ce492653f200be5c1b4e1b2495716837335
@@ -218,8 +227,14 @@ al_disable() {
 
 al_check() {
        [ -n "$1" ] || return 10
+       if [ -e /usr/sbin/lightdm ]; then
+               if (/usr/sbin/lightdm --show-config 2>&1| grep -q "autologin-user=$1$") ; then 
+                       return 0
+               else
+                       return 2
+               fi
+       fi
        grep -Eqs "^USER=$1$" /etc/sysconfig/autologin ||
-       grep -Eqs "^autologin-user=$1$" /etc/lightdm/lightdm.conf ||
        grep -Eqs "^autologin=$1$" /etc/lxdm/lxdm.conf ||
        grep -Eqs "^AutomaticLogin=$1$" /etc/X11/gdm/custom.conf ||
        grep -Eqs "^AutoLoginUser=$1$" /etc/X11/kdm4/kdmrc /etc/X11/kdm/kdmrc ||

Это точно блокер.
Comment 16 Антон Мидюков 2019-06-02 17:46:20 MSK
Может отключим поиск зависимостей?
Comment 17 AEN 2019-06-02 17:51:38 MSK
(В ответ на комментарий №16)
> Может отключим поиск зависимостей?

 noshell?
Comment 18 Антон Мидюков 2019-06-02 18:18:01 MSK
(В ответ на комментарий №17)
> (В ответ на комментарий №16)
> > Может отключим поиск зависимостей?
> 
>  noshell?

Да:
AutoReq: noshell

Сейчас:
rpm -qp --requires autologin-sh-functions-0.2.6-alt1.noarch.rpm
/usr/sbin/lightdm
coreutils
glibc-utils
grep
sed
shadow-groups
shadow-utils
rpmlib(PayloadIsLzma)

Будет:
rpm -qp --requires /home/antohami/Downloads/autologin-sh-functions-0.2.6-alt1.1.noarch.rpm
rpmlib(PayloadIsLzma)

Никто возражать не будет?
Comment 19 Andrey Cherepanov 2019-06-02 18:30:51 MSK
Антон, отключи, если можешь. Я до компьютера не дотянусь.
Comment 20 Антон Мидюков 2019-06-02 18:32:32 MSK
(В ответ на комментарий №19)
> Антон, отключи, если можешь. Я до компьютера не дотянусь.

Сейчас.
Comment 21 Антон Мидюков 2019-06-02 18:52:18 MSK
[#231335] DONE (try 2) autologin-sh-functions.git=0.2.6-alt1.1
[#231337] p9 DONE (try 2) autologin-sh-functions.git=0.2.6-alt1.1

* Sun Jun 02 2019 Anton Midyukov <antohami@altlinux.org> 0.2.6-alt1.1
- AutoReq: noshell
Comment 22 Anton Farygin 2019-06-02 21:01:29 MSK
Зачем отключать поиск зависимостей, если можно просто вынести 
/usr/sbin/lightdm в переменную ?
Comment 23 Michael Shigorin 2020-08-23 22:25:25 MSK
Истории ради:

* Mon Jun 03 2019 Andrey Cherepanov <cas@altlinux> 0.2.6-alt2
- Enable autoreq, drop lightdm from autorequirements (ALT #36805).