Bug 36913 - Enlightenment не может быть запущен из lightdm
Summary: Enlightenment не может быть запущен из lightdm
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: lightdm (show other bugs)
Version: unstable
Hardware: all Linux
: P3 critical
Assignee: manowar@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 33000
  Show dependency tree
 
Reported: 2019-06-18 09:25 MSK by Антон Мидюков
Modified: 2019-08-21 16:06 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2019-06-18 09:25:16 MSK
После того как lightdm перестал поддерживать сеансы из /etc/X11/wmsession.d/, enlightenment стало невозможно запустить, сессии нет вообще.

Необходимо включить в пакет /usr/share/xsessions/Enlightenment.desktop, но чтобы он вызывал /usr/bin/start_enlightenment. Запуск enlightenment_start из lightdm не работает.

Извиняюсь, что раньше багу не открыл, был перегружен.
Comment 1 Repository Robot 2019-06-18 19:55:12 MSK
enlightenment-1:0.22.4-alt2 -> sisyphus:

Tue Jun 18 2019 Yuri N. Sedunov <aris@altlinux> 1:0.22.4-alt2
- disabled  %wmsession, replaced enlighttenment_start by
  start_enlightenment in xsession file (ALT #36913)
Comment 2 Антон Мидюков 2019-06-19 09:09:09 MSK
Переоткрываю, так как сегодня не работает. Непонятно. Создаю на вчерашнем образе руками /usr/share/xsessions/enlightenment.desktop с таким содержанием:
[Desktop Entry]
Name=Enlightenment
Type=Application
Exec=/usr/bin/start_enlightenment

И сеанс нормально запускается. На сегодняшнем создаю, и сеанс не запускается.
/usr/bin/start_enlightenment на сегодняшнем образе сеанс запускает также  успешно.
В логе /home/altlinux/.xsessions-error:0:

runwm: window manager "/usr/bin/start_enlightenment" not found.

Как так?
Comment 3 Yuri N. Sedunov 2019-06-19 12:04:32 MSK
(В ответ на комментарий №0)
> После того как lightdm перестал поддерживать сеансы из /etc/X11/wmsession.d/,
> enlightenment стало невозможно запустить, сессии нет вообще.

Если убрать /usr/share/wayland-sessions/enlightenment.desktop, сессия появится?
Comment 4 Антон Мидюков 2019-06-19 12:11:54 MSK
(В ответ на комментарий №3)
> (В ответ на комментарий №0)
> > После того как lightdm перестал поддерживать сеансы из /etc/X11/wmsession.d/,
> > enlightenment стало невозможно запустить, сессии нет вообще.
> 
> Если убрать /usr/share/wayland-sessions/enlightenment.desktop, сессия появится?

Сейссия сейчас есть, но не запускается. Удаление сессии для wayland ничего не даёт. lightdm игнорирует сессии на wayland, так как не умеет их запускать:

2019-05-23 Валерий Иноземцев 1.30.0-alt2

- remove wayland session support form lightdm.conf
Comment 5 Yuri N. Sedunov 2019-06-19 12:45:33 MSK
(В ответ на комментарий №4)
> (В ответ на комментарий №3)
> > (В ответ на комментарий №0)
> > > После того как lightdm перестал поддерживать сеансы из /etc/X11/wmsession.d/,
> > > enlightenment стало невозможно запустить, сессии нет вообще.
> > 
> > Если убрать /usr/share/wayland-sessions/enlightenment.desktop, сессия появится?
> 
> Сейссия сейчас есть, но не запускается. Удаление сессии для wayland ничего не
> даёт. lightdm игнорирует сессии на wayland, так как не умеет их запускать:

Возможно. 
В этом задании
#232604 BUILDING #1 [locked] [test-only] sisyphus srpm=enlightenment-0.22.4-alt2.1.src.rpm
переименован /usr/share/xsessions/enlightenment.desktop в enlightenment-xorg.desktop, поскольку GDM показывал только сессию на wayland. GDM успешно запускает обе, причем не важно enlightenment_start или start_enlightenment прописан в enlightenment-xorg.desktop.

Учтите, что сессия на wayland первая в списке (если lightdm все-таки их видит), и она мало пригодна для использования.

Больше мне нечем угодить lightdm.
Comment 6 manowar@altlinux.org 2019-06-25 13:13:44 MSK
Будем просмотреть...
Comment 7 manowar@altlinux.org 2019-06-27 13:34:32 MSK
(В ответ на комментарий №2)
> В логе /home/altlinux/.xsessions-error:0:
> runwm: window manager "/usr/bin/start_enlightenment" not found.
> Как так?

В самом деле, WM с таким загадочным именем как "/usr/bin/start_enlightenment" не существует в природе. Далее,

(В ответ на комментарий №0)
> После того как lightdm перестал поддерживать сеансы из /etc/X11/wmsession.d/,
> enlightenment стало невозможно запустить, сессии нет вообще.

Но вот выше по логу видно, что попытка запуска идёт через runwm, а он как раз и смотрит в /etc/X11/wmsession.d .

Если я правильно понимаю, то в качестве аргумента runwm передаётся трочка Exec из .desktop-файла. Получается, что нужно записать туда просто Enlightenment вместо /usr/bin/start_enlightenment и вернуть соответствубщий файл в /etc/X11/wmsession.d . Чтобы runwm увидел его (сейчас runwm --list выводит только default). А вот внутри /etc/X11/wmsession.d/Enlightenment уже может быть вызов start_enlightenment если это нужно. Я сейчас сам попробую так сделать.
Comment 8 manowar@altlinux.org 2019-06-27 13:44:41 MSK
Палучилос.

[root@localhost ~]# tail -3 /usr/share/xsessions/enlightenment.desktop
TryExec=Enlightenment
Exec=Enlightenment
DesktopNames=Enlightenment

[root@localhost ~]# cat /etc/X11/wmsession.d/Enlightenment 
NAME=Enlightenment
DESC=Enlightenment
EXEC=/usr/bin/start_enlightenment
SCRIPT:
exec /usr/bin/start_enlightenment
Comment 9 Yuri N. Sedunov 2019-06-27 14:43:01 MSK
(В ответ на комментарий №7)

> Но вот выше по логу видно, что попытка запуска идёт через runwm, а он как раз и
> смотрит в /etc/X11/wmsession.d .

Спасибо, Паша. То есть удаление поддержки /etc/X11/wmsession.d/ из lightdm - фикция? Поэтому Mate и Cinnamon запускаются только потому, что есть /etc/X11/wmsession.d/*{Cinnamon,Mate}*? и lightdm не запускает wayland-сессии, хотя должен?

Я перевешиваю это на lightdm. Надо выпилить runwm.
Comment 10 manowar@altlinux.org 2019-06-27 14:56:08 MSK
> AssignedTo: aris@altlinux.org => manowar@altlinux.org

Ну, я могу, конечно, посмотреть, где там runwm. Но нет ли у нас настоящего lightdm-хакера? Потому что мне ж придётся практически с нуля разбираться с тем, как сейчас в семействе Freedesktop.org всё это должно запускаться.
Comment 11 Yuri N. Sedunov 2019-06-27 15:36:17 MSK
lightdm -- дитя без глаза.
lightdm должен как GDM, например, запускать сессии из desktop-файлов, лежащих в /usr/share/xsessions, /usr/share/wayland-sessions. 
Полагаю, надо найти то место где запуск сессии передается runwm и выпилить его.

Вероятно, это тут:
lightdm]$ grep X11/Xsession -r *
data/lightdm.conf:session-wrapper=/etc/X11/Xsession
...
Comment 12 Антон Мидюков 2019-07-15 20:46:28 MSK
(В ответ на комментарий №10)
> > AssignedTo: aris@altlinux.org => manowar@altlinux.org
> 
> Ну, я могу, конечно, посмотреть, где там runwm. Но нет ли у нас настоящего
> lightdm-хакера? Потому что мне ж придётся практически с нуля разбираться с тем,
> как сейчас в семействе Freedesktop.org всё это должно запускаться.

Настоящий lightdm-хакер не нашёлся?
Comment 13 manowar@altlinux.org 2019-07-15 20:53:03 MSK
Скоро уже найдусь... ;-)
Comment 14 manowar@altlinux.org 2019-07-18 13:07:37 MSK
(В ответ на комментарий №9)
> (В ответ на комментарий №7)
> 
> ...и lightdm не запускает wayland-сессии,
> хотя должен?

Слуште, тут какие-то противоречивые изменения идут:

http://git.altlinux.org/gears/l/lightdm.git?p=lightdm.git;a=commitdiff;h=28868fbc75eb47c6ebb71ef76dfd06dc2c3dc67f

 - remove wayland session support form lightdm.conf
Comment 15 Yuri N. Sedunov 2019-07-18 13:41:35 MSK
(В ответ на комментарий №14)

> Слуште, тут какие-то противоречивые изменения идут:
> 
> http://git.altlinux.org/gears/l/lightdm.git?p=lightdm.git;a=commitdiff;h=28868fbc75eb47c6ebb71ef76dfd06dc2c3dc67f
> 
>  - remove wayland session support form lightdm.conf

Очевидно, это для красоты сделано, чтоб не показывать wayland-сессии, которые
/etc/X11/Xsession, разумеется, запустить не может.
Comment 16 manowar@altlinux.org 2019-07-18 14:58:36 MSK
(В ответ на комментарий №11)
> Полагаю, надо найти то место где запуск сессии передается runwm и выпилить его.
> 
> Вероятно, это тут:
> lightdm]$ grep X11/Xsession -r *
> data/lightdm.conf:session-wrapper=/etc/X11/Xsession

  Значится так. Если убрать из конфига session-wrapper, то будет он будет пытаться запустить враппер по умолчанию — некий "lightdm-session", а программы с таким именем вообще нет в Сизифе.
  Однако, есть вот такие файлы в исходниках самого lightdm:

    tests/src/lightdm-session
    debian/lightdm-session

  Можно заменить session-wrapper=/etc/X11/Xsession на какой-нибудь другой враппер. Но для этого нужно сперва понять [мне] чем не угодил /etc/X11/Xsession?
Если чего-то в нём не хватает, то может быть нужно добавить это туда, а не переделывать lightdm? К примеру, не использовать runwm тогда, когда имя WM, который требуется запустить, является путём к команде, а не именем WM? То же самое поведение можно организовать и внутри самого runwm, кстати. Если это нужно.
Comment 17 manowar@altlinux.org 2019-07-18 15:55:57 MSK
Например, такой патч: http://git.altlinux.org/people/manowar/packages/?p=xinitrc.git;a=commitdiff;h=e988dc09907be92ed7ebded5c86271ce73b50881 . Он даже работает, я проверил.
Comment 18 manowar@altlinux.org 2019-07-18 16:01:13 MSK
  Но, есть одно но. Если что-то есть в /etc/X11/wmsession.d/, то при первом включении lightdm будет выполнен автологин с использованием именно этого чего-то из /etc/X11/wmsession.d/ . Особенно странно, что я не нашёл ничего в lightdm.conf на тему autologin — точнее нашёл, но это всё закомментарено.
  Если же /etc/X11/wmsession.d/ почистить, то автологина не происходит, а сразу запускается slick-greeter. Может быть я чего-то не знаю про /etc/X11/wmsession.d/ или lightdm.conf? Как вообще организается автологин в наших "живых" дистрибутивах? Надо бы у mike@ спросить.
Comment 19 manowar@altlinux.org 2019-07-18 16:04:12 MSK
И второе но. Для нормального захода через slick-greeter обязательно нужно наличие default.desktop в /usr/share/xsessions. Я просто симлинк сделал на enlightenment.desktop. Насколько я понимаю это оттого, что сеанс в slick-greeter никак не выбрать. Хотя может быть это проблема на уровне самого lightdm, который предлагает запускать сеанс "default" вместо первого в списке доступных сеансов.
Comment 20 manowar@altlinux.org 2019-07-18 16:05:46 MSK
В любом случае, вопрос. Кому-нибудь известно происхождение файла /usr/share/xsessions/default.desktop ? Он вообще должен быть в образе или это я просто удачно придумал сделать такой симлинк?
Comment 21 Антон Мидюков 2019-07-18 16:38:04 MSK
(В ответ на комментарий №19)
> И второе но. Для нормального захода через slick-greeter обязательно нужно
> наличие default.desktop в /usr/share/xsessions. Я просто симлинк сделал на
> enlightenment.desktop. Насколько я понимаю это оттого, что сеанс в
> slick-greeter никак не выбрать. Хотя может быть это проблема на уровне самого
> lightdm, который предлагает запускать сеанс "default" вместо первого в списке
> доступных сеансов.

При тестировании регулярок я не наблюдал проблемы первого захода. У нас была другая проблема, что, если ни разу не было захода ни в одно DE, то автологин не работает. В результате костылили в mkimage-profiles и autologin-sh-functions:
https://bugzilla.altlinux.org/show_bug.cgi?id=36805
Comment 22 Yuri N. Sedunov 2019-07-18 16:51:30 MSK
(В ответ на комментарий №20)
> В любом случае, вопрос. Кому-нибудь известно происхождение файла
> /usr/share/xsessions/default.desktop ? Он вообще должен быть в образе или это я
> просто удачно придумал сделать такой симлинк?

$ grep default lightdm.spec 
	--with-user-session=default \
...
Comment 23 manowar@altlinux.org 2019-07-18 17:25:26 MSK
Так что решили, в итоге? Самый простой вариант, это починить запуск через runwm. Для этого нужно восстановить /etc/X11/wmsession.d/Enlightenment, поправить /usr/share/xsession/enlightenment.desktop (прописав туда просто Enlightenment). Ну и не забыть про default.desktop.

Или runwm чем-то очень плох именно для Enlightenment?
Comment 24 Michael Shigorin 2019-07-18 17:52:24 MSK
(В ответ на комментарий №18)
> Как вообще организается автологин в наших "живых" дистрибутивах?
См. autologin-sh-functions и фичу x11-autologin в mkimage-profiles.
Comment 25 Yuri N. Sedunov 2019-07-18 18:10:34 MSK
С самого начала решили выпилить runwm(В ответ на комментарий №23)
> Так что решили, в итоге? Самый простой вариант, это починить запуск через
> runwm. Для этого нужно восстановить /etc/X11/wmsession.d/Enlightenment,
> поправить /usr/share/xsession/enlightenment.desktop (прописав туда просто
> Enlightenment). Ну и не забыть про default.desktop.

На колу мочало... С самого начала решили выпилить runwm, чтоб, в частности, избавиться от этих костылей и прокладок, они не нужны. Достаточно десктоп-файлов в /usr/share/xsessions, /usr/share/wayland-sessions.
А с сессиями по-умолчанию accountsservice лучше справляется.
Comment 26 manowar@altlinux.org 2019-07-18 18:14:41 MSK
Допустим. Но тогда нужно либо патчить /etc/X11/Xsession, либо вообще другой враппер использовать, который ещё нужно написать. Какие для этого достаточные основания?
Comment 27 manowar@altlinux.org 2019-07-18 18:16:49 MSK
Вот допустим, мы поставим вот такой, нулёвый враппер:

#!/bin/sh
exec "$@"

1. Достаточно ли будет этого для Enlightenment?
2. А для других DE/WM?
Comment 28 Yuri N. Sedunov 2019-07-18 18:26:15 MSK
(В ответ на комментарий №27)
> Вот допустим, мы поставим вот такой, нулёвый враппер:
> 
> #!/bin/sh
> exec "$@"
> 
> 1. Достаточно ли будет этого для Enlightenment?
> 2. А для других DE/WM?

Я тебе еще 27.06 в личном письме пояснил что можно/нужно оставить на примере GDM и /etc/X11/gdm/Xsession
Comment 29 manowar@altlinux.org 2019-07-18 18:30:17 MSK
(В ответ на комментарий №28)
> (В ответ на комментарий №27)
> > Вот допустим, мы поставим вот такой, нулёвый враппер:
> > 
> > #!/bin/sh
> > exec "$@"
> > 
> > 1. Достаточно ли будет этого для Enlightenment?
> > 2. А для других DE/WM?
> 
> Я тебе еще 27.06 в личном письме пояснил что можно/нужно оставить на примере
> GDM и /etc/X11/gdm/Xsession

  Это я помню. Но ты уверен, что такой урезанный вариант враппера будет достаточным для всех DE/WM? Это основной вопрос.

  Или же речь идёт только про запуск Enlightement? Если так, то значит, мы должны специально менять lightdm.conf, если установлен Enlightement. А что делать, если в системе больше одного DE/WM?
Comment 30 Антон Мидюков 2019-07-18 18:32:07 MSK
(В ответ на комментарий №29)
> (В ответ на комментарий №28)
> > (В ответ на комментарий №27)
> > > Вот допустим, мы поставим вот такой, нулёвый враппер:
> > > 
> > > #!/bin/sh
> > > exec "$@"
> > > 
> > > 1. Достаточно ли будет этого для Enlightenment?
> > > 2. А для других DE/WM?
> > 
> > Я тебе еще 27.06 в личном письме пояснил что можно/нужно оставить на примере
> > GDM и /etc/X11/gdm/Xsession
> 
>   Это я помню. Но ты уверен, что такой урезанный вариант враппера будет
> достаточным для всех DE/WM? Это основной вопрос.
> 
>   Или же речь идёт только про запуск Enlightement? Если так, то значит, мы
> должны специально менять lightdm.conf, если установлен Enlightement. А что
> делать, если в системе больше одного DE/WM?

Я могу проверить на всех DE, собрав регулярки с тестовым заданием.
Comment 31 manowar@altlinux.org 2019-07-18 18:36:54 MSK
(В ответ на комментарий №30)
> Я могу проверить на всех DE, собрав регулярки с тестовым заданием.

  Хорошо. Я сделаю такой lightdm. И если проверка выйдет успешной, то можно будет поставить вопрос о том, что содержимое /etc/X11/XSession устарело.

  Тем не менее, прежде чем затевать такой эксперимерт, нужно посмотреть, что находится внутри других файлов в /usr/share/xsessions ? Вот Юра пишет, что для запуска не нужен более runwm, а

> Достаточно десктоп-файлов в /usr/share/xsessions

  Но если внутри этих файлов прописаны ссылки на /etc/X11/wmsessions.d/*, то это означает, что runwm всё ещё нужен.
Comment 32 Yuri N. Sedunov 2019-07-18 18:46:22 MSK
(В ответ на комментарий №31)
> > Достаточно десктоп-файлов в /usr/share/xsessions
> 
>   Но если внутри этих файлов прописаны ссылки на /etc/X11/wmsessions.d/*, то
> это означает, что runwm всё ещё нужен.

Где такое?
У себя не вижу, кроме пачки гномов установлен Cinnamon и Mate
$ grep "^Exec" /usr/share/xsessions/*
/usr/share/xsessions/cinnamon2d.desktop:Exec=/usr/bin/startcinnamon
/usr/share/xsessions/cinnamon.desktop:Exec=/usr/bin/startcinnamon
/usr/share/xsessions/enlightenment-xorg.desktop:Exec=/usr/bin/start_enlightenment
/usr/share/xsessions/gnome-classic.desktop:Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic
/usr/share/xsessions/gnome-custom-session.desktop:Exec=/usr/bin/gnome-session-custom-session
/usr/share/xsessions/gnome.desktop:Exec=/usr/bin/gnome-session
/usr/share/xsessions/gnome-flashback-metacity.desktop:Exec=/usr/libexec/gnome-flashback-metacity
/usr/share/xsessions/gnome-xorg.desktop:Exec=/usr/bin/gnome-session
/usr/share/xsessions/mate.desktop:Exec=/usr/bin/mate-session
Comment 33 Антон Мидюков 2019-07-18 18:55:24 MSK
(В ответ на комментарий №31)
>   Но если внутри этих файлов прописаны ссылки на /etc/X11/wmsessions.d/*, то
> это означает, что runwm всё ещё нужен.

Нет такого. Давайте проводить эксперимент.
Comment 34 manowar@altlinux.org 2019-07-18 18:59:56 MSK
(В ответ на комментарий №32)
> Где такое?
> У себя не вижу, кроме пачки гномов установлен Cinnamon и Mate

  Минутку. Тогда, получается, что они все не должны запускаться! Или я что-то не то наисследовал.
  Но наверняка же всё запускается, правда? Давайте я сперва посмотрю регулярку с MATE и Cinnamon там решим.
Comment 35 Антон Мидюков 2019-07-18 19:04:09 MSK
(В ответ на комментарий №34)
> (В ответ на комментарий №32)
> > Где такое?
> > У себя не вижу, кроме пачки гномов установлен Cinnamon и Mate
> 
>   Минутку. Тогда, получается, что они все не должны запускаться! Или я что-то
> не то наисследовал.
>   Но наверняка же всё запускается, правда? Давайте я сперва посмотрю регулярку
> с MATE и Cinnamon там решим.

Все они запускаются. Но у них всех есть одновременно и /etc/X11/wmsession.d/конфиг и /usr/share/xsessions/имя.desktop
Comment 36 manowar@altlinux.org 2019-07-18 19:21:18 MSK
Ага. Только вот как связано /usr/bin/startcinnamon с /etc/X11/wmsession.d/конфиг?
Comment 37 manowar@altlinux.org 2019-07-19 13:57:08 MSK
(В ответ на комментарий №36)
> Ага. Только вот как связано /usr/bin/startcinnamon с
> /etc/X11/wmsession.d/конфиг?

А вот как: http://git.altlinux.org/people/manowar/packages/?p=xinitrc.git;a=blob;f=xinitrc/install/usr/bin/runwm;h=1e9819b226ad705fb52d8b039b51890ae2a6cb00;hb=601526e8f85446a259bb5dc220cf49aa2580eafa#l111 (строка 111):

111    if [ "$wm" = default -o "$wm" = "$name" -o "$wm" = "$exec" ]; then

Если дать команду "/etc/X11/Xsession Cinnamon", то runwm сравнит аргумент с полем NAME внутри /etc/X11/wmsession.d/Cinnamon и выполнит EXEC из этого же файла. Аналогично, если дать команду "/etc/X11/Xsession /usr/bin/startcinnamon", то runwm сравнит аргумент с полем EXEC внутри /etc/X11/wmsession.d/Cinnamon и выполнит EXEC же!

Таким образом, запуск современных DE без помощи runwm — фикция чистой воды. Все они запускаются через runwm. И, естественно, то же самое можно устроить для Enlightenmet, если написать /usr/bin/start_enlightenment без ошибок в обоих файлах — .desktop и wmsession.d/*.
Comment 38 manowar@altlinux.org 2019-07-19 14:01:33 MSK
(В ответ на комментарий №2)
> runwm: window manager "/usr/bin/start_enlightenment" not found.
> 
> Как так?

Короче говоря, чтобы избежать этой ошибки, нужно иметь файл /etc/X11/wmsessions.d/что-то-там, где в поле EXEC будет записана именно эта строчка, и (!), такой файл должен существовать.
Comment 39 Yuri N. Sedunov 2019-07-23 20:59:02 MSK
(В ответ на комментарий №30)

> Я могу проверить на всех DE, собрав регулярки с тестовым заданием.

Павел сделал, можно проверять.

http://git.altlinux.org/tasks/235028/

1.30.0-alt3

- Use a greeter startup wrapper script with keyboard setup (closes: #36933).
- Use a simplified X session startup wrapper script (closes: #36913).
Comment 40 Антон Мидюков 2019-07-24 07:43:58 MSK
(В ответ на комментарий №39)
> (В ответ на комментарий №30)
> 
> > Я могу проверить на всех DE, собрав регулярки с тестовым заданием.
> 
> Павел сделал, можно проверять.
> 
> http://git.altlinux.org/tasks/235028/
> 
> 1.30.0-alt3
> 
> - Use a greeter startup wrapper script with keyboard setup (closes: #36933).
> - Use a simplified X session startup wrapper script (closes: #36913).

Собрал и проверилрегулярки cinnamon, enlightenment, lxde, mate, xfce. Работают, но есть проблема.
Не выполняются скрипты из /etc/X11/profile.d/ /etc/X11/init.d/ /etc/X11/xinit/. Соответственно, в live не настроены языки ввода, нет значка запуска установщика, не запускается ssh-agent, не запускаются гостевые дополнения VirtualBox, не создаются xdg-директории в каталоге пользователя...
Comment 41 manowar@altlinux.org 2019-07-24 12:43:46 MSK
А вот это из Xsession, случаем, не нужно?

# Merge in defaults and keymaps.
124 MergeResources /etc/X11/Xresources "$HOME/.Xresources" "$HOME/.Xdefaults"

Хорошо бы предварительно выяснить, что из содержимого Xsession уже точно устарело.
Comment 42 manowar@altlinux.org 2019-07-31 12:43:19 MSK
Раз пока не ясно, какие точно части старого Xsession нам нужны, а какие — нет, то, значит, сейчас правильнее будет оставить всё, обойдя только запуск runwm — ту маленькую часть, про которую мы точно знаем, что она, в данном случае, не нужна.

http://git.altlinux.org/tasks/235252/ .
Comment 43 Антон Мидюков 2019-07-31 13:31:06 MSK
(В ответ на комментарий №42)
> Раз пока не ясно, какие точно части старого Xsession нам нужны, а какие — нет,
> то, значит, сейчас правильнее будет оставить всё, обойдя только запуск runwm —
> ту маленькую часть, про которую мы точно знаем, что она, в данном случае, не
> нужна.
> 
> http://git.altlinux.org/tasks/235252/ .

Ну, т.е. собираю регулярки с двумя заданиями: 235252 и 235028?
Comment 44 manowar@altlinux.org 2019-07-31 13:34:52 MSK
Не, 235028 тогда не нужно.
Comment 45 Антон Мидюков 2019-07-31 13:37:52 MSK
(В ответ на комментарий №44)
> Не, 235028 тогда не нужно.

Хорошо. Соберу, проверю.
Comment 46 Антон Мидюков 2019-08-01 15:15:42 MSK
(В ответ на комментарий №45)
> (В ответ на комментарий №44)
> > Не, 235028 тогда не нужно.
> 
> Хорошо. Соберу, проверю.

Enlightenment. Автозапуск в live успешен. После установки облом. Сессию запустить нельзя. Требует сессию default:
Seat seat0: Can't find session 'default'
в /var/log/lightdm/lightdm.log

Работает только, благодаря парсеру, в нашем автологине.
Создание симлинка default.desktop в /usr/share/xsessions/ проблему также решает.

Соответственно, есть предложение, научить lightdm при запуске создавать симлинк default.desktop, если он отсутствует, или указывает на несуществующий файл. Тогда не будут нужны костыли для выбора сессии в автологине.
Comment 47 Valery Inozemtsev 2019-08-01 15:24:06 MSK
не надоело решать не существующую проблему?

# cat << __EOF__ > /etc/lightdm/lightdm.conf.d/99-мойлюбимыйwm.conf
[Seat:*]
autologin-session=мойлюбимыйwm
__EOF__
Comment 48 Антон Мидюков 2019-08-01 15:44:11 MSK
(В ответ на комментарий №47)
> не надоело решать не существующую проблему?
> 
> # cat << __EOF__ > /etc/lightdm/lightdm.conf.d/99-мойлюбимыйwm.conf
> [Seat:*]
> autologin-session=мойлюбимыйwm
> __EOF__

Так автологин работает. И именно так и решается сейчас.

Как это поможет запустить Enlightenment?
Comment 49 Valery Inozemtsev 2019-08-01 15:54:06 MSK
(В ответ на комментарий №48)
> Как это поможет запустить Enlightenment?

причем здесь lightdm, если у вас enlightenment не запускается?
Comment 50 Антон Мидюков 2019-08-01 16:14:05 MSK
(В ответ на комментарий №49)
> (В ответ на комментарий №48)
> > Как это поможет запустить Enlightenment?
> 
> причем здесь lightdm, если у вас enlightenment не запускается?

Захотелось lightdm поднять до уровня gdm 3.x :-) gdm то умеет запускать без всяких прослоек. А lightdm из-за этой привязанности, не может сеансы на wayland запускать, как тут выяснили.
Comment 51 Michael Shigorin 2019-08-01 18:54:46 MSK
gdm 3.x разучился запускать не-гномы, а вот необходимость wayland-сессии по умолчанию у меня применительно как минимум к E вызывает большие вопросы с учётом того, как там обстоят дела с догонянием иксов по состоянию на давным-давно назад.

То есть сейчас wayland-сессию я бы постарался сделать возможностью для тех, кто понимает, что он _именно_ этого хочет (применительно к E у нас в команде знаю одного такого человека, это legion@); а по умолчанию запускать наиболее работоспособный вариант, бишь X11.

Лёш, а ты что скажешь?
Comment 52 Антон Мидюков 2019-08-01 19:01:55 MSK
(В ответ на комментарий №51)
> gdm 3.x разучился запускать не-гномы,

Разве? Это gnome3 никто кроме gdm3 не может запустить. И я теперь догадываюсь почему. lightdm хочет одновременно wmsession.d/конфиг и xsession/конфиг, что как-то странно, между прочем.

> а вот необходимость wayland-сессии по
> умолчанию у меня применительно как минимум к E вызывает большие вопросы с
> учётом того, как там обстоят дела с догонянием иксов по состоянию на
> давным-давно назад.

Так вроде никто и не хочет этого для Enlightenment.
Comment 53 manowar@altlinux.org 2019-08-02 00:15:15 MSK
(В ответ на комментарий №52)
> (В ответ на комментарий №51)
> > gdm 3.x разучился запускать не-гномы,
> 
> lightdm хочет одновременно wmsession.d/конфиг и xsession/конфиг, что
> как-то странно, между прочем.

А в чём выражается это желание? Просто новая сборка xinitrc из задания выше как раз преследует оговоренную цель --- запуск без конфига в wmsession.d при условии корректного пути в Exec .desktop-файла.
Comment 54 Антон Мидюков 2019-08-02 19:24:31 MSK
(В ответ на комментарий №53)
> (В ответ на комментарий №52)
> > (В ответ на комментарий №51)
> > > gdm 3.x разучился запускать не-гномы,
> > 
> > lightdm хочет одновременно wmsession.d/конфиг и xsession/конфиг, что
> > как-то странно, между прочем.
> 
> А в чём выражается это желание? Просто новая сборка xinitrc из задания выше как
> раз преследует оговоренную цель --- запуск без конфига в wmsession.d при
> условии корректного пути в Exec .desktop-файла.

Это пояснения для Шигорина были. По заданию я отписался выше. Enlightenment хочет session 'default'. И, вероятно, так будут хотеть все DM без wmsession.d/конфиг.
Comment 55 manowar@altlinux.org 2019-08-03 01:10:38 MSK
(В ответ на комментарий №54)

> По заданию я отписался выше. Enlightenment
> хочет session 'default'. И, вероятно, так будут хотеть все DM без
> wmsession.d/конфиг.

Следовательно, всё дело в том, как runwm реагирует на слово "default", которое передаётся ему в этом случае. Отрезав runwm мы отрезали и эту функцию и теперь нам нужно изобретать новую: например, сделать так, чтобы /usr/share/xsessions/default.desktop действительно существовал. Только нужно ли? Напрашивается механизм альтернатив, который придётся городить для всех WM/DE. Мне кажется, мэйнтейнеры этих WM/DE совсем не обрадуются такому нововведению.
Comment 56 Антон Мидюков 2019-08-03 06:08:18 MSK
(В ответ на комментарий №55)
> (В ответ на комментарий №54)
> 
> > По заданию я отписался выше. Enlightenment
> > хочет session 'default'. И, вероятно, так будут хотеть все DM без
> > wmsession.d/конфиг.
> 
> Следовательно, всё дело в том, как runwm реагирует на слово "default", которое
> передаётся ему в этом случае. Отрезав runwm мы отрезали и эту функцию и теперь
> нам нужно изобретать новую: например, сделать так, чтобы
> /usr/share/xsessions/default.desktop действительно существовал. Только нужно
> ли? Напрашивается механизм альтернатив, который придётся городить для всех
> WM/DE. Мне кажется, мэйнтейнеры этих WM/DE совсем не обрадуются такому
> нововведению.

Да, тоже так думаю. Так что предлагаю Юрию в Enlightenment включить wmsession.d/конфиг наряду с xsessions/конфиг.desktop.
Comment 57 Антон Мидюков 2019-08-06 09:53:04 MSK
(В ответ на комментарий №56)
> (В ответ на комментарий №55)
> > (В ответ на комментарий №54)
> > 
> > > По заданию я отписался выше. Enlightenment
> > > хочет session 'default'. И, вероятно, так будут хотеть все DM без
> > > wmsession.d/конфиг.
> > 
> > Следовательно, всё дело в том, как runwm реагирует на слово "default", которое
> > передаётся ему в этом случае. Отрезав runwm мы отрезали и эту функцию и теперь
> > нам нужно изобретать новую: например, сделать так, чтобы
> > /usr/share/xsessions/default.desktop действительно существовал. Только нужно
> > ли? Напрашивается механизм альтернатив, который придётся городить для всех
> > WM/DE. Мне кажется, мэйнтейнеры этих WM/DE совсем не обрадуются такому
> > нововведению.
> 
> Да, тоже так думаю. Так что предлагаю Юрию в Enlightenment включить
> wmsession.d/конфиг наряду с xsessions/конфиг.desktop.

Юрий, исправите? А то стартеркиты уже скоро надо будет готовить осенние.
Comment 58 Yuri N. Sedunov 2019-08-06 10:31:16 MSK
(В ответ на комментарий №57)
 
> Юрий, исправите? А то стартеркиты уже скоро надо будет готовить осенние.

Антон, возвращение /etc/X11/wmsession.d/* -- не "исправление", это позор.
Повторюсь в очередной раз, GDM загружает всё без посредничества runwm.
Comment 59 Антон Мидюков 2019-08-06 10:36:06 MSK
(В ответ на комментарий №58)
> (В ответ на комментарий №57)
> 
> > Юрий, исправите? А то стартеркиты уже скоро надо будет готовить осенние.
> 
> Антон, возвращение /etc/X11/wmsession.d/* -- не "исправление", это позор.
> Повторюсь в очередной раз, GDM загружает всё без посредничества runwm.

Согласен, что это объезд проблемы. Но мы так ещё полгода будем это обсуждать. А Enlightenment в Сизифе и p9 тем временем грузиться не будут. Что тоже не повод для гордости.
Comment 60 Michael Shigorin 2019-08-06 10:42:38 MSK
(В ответ на комментарий №58)
> > Юрий, исправите? А то стартеркиты уже скоро надо будет готовить осенние.
> Антон, возвращение /etc/X11/wmsession.d/* -- не "исправление", это позор.
Юр, мне вот гораздо неприятней, что из-за непродуманного и непроверенного изменения в последний момент (за это уже всё высказал виновным) из первых стартеркитов на p9 пришлось убрать E как неработоспособный вариант.

Нам стоит обкатывать подобные изменения в сизифе, а бранчи держать сухими.
И если что-то вследствие изменений сломалось -- да, лучше их откатить целиком, чем начинать возню там, где ей не место.
Comment 61 Антон Мидюков 2019-08-06 10:45:37 MSK
(В ответ на комментарий №60)
> (В ответ на комментарий №58)
> > > Юрий, исправите? А то стартеркиты уже скоро надо будет готовить осенние.
> > Антон, возвращение /etc/X11/wmsession.d/* -- не "исправление", это позор.
> Юр, мне вот гораздо неприятней, что из-за непродуманного и непроверенного
> изменения в последний момент (за это уже всё высказал виновным) из первых
> стартеркитов на p9 пришлось убрать E как неработоспособный вариант.
> 
> Нам стоит обкатывать подобные изменения в сизифе, а бранчи держать сухими.
> И если что-то вследствие изменений сломалось -- да, лучше их откатить целиком,
> чем начинать возню там, где ей не место.

Так Юрий и не виноват. Не он же обновлял lightdm.
Comment 62 Yuri N. Sedunov 2019-08-06 10:47:47 MSK
(В ответ на комментарий №59)
> (В ответ на комментарий №58)
> > (В ответ на комментарий №57)
> > 
> > > Юрий, исправите? А то стартеркиты уже скоро надо будет готовить осенние.
> > 
> > Антон, возвращение /etc/X11/wmsession.d/* -- не "исправление", это позор.
> > Повторюсь в очередной раз, GDM загружает всё без посредничества runwm.
> 
> Согласен, что это объезд проблемы. Но мы так ещё полгода будем это обсуждать. А
> Enlightenment в Сизифе и p9 тем временем грузиться не будут. Что тоже не повод
> для гордости.

А, DM(lightdm), который не запускает wayland-сессии, хотя может, -- повод для чего?
Не обсуждать надо, а сделать, и забыть.
Comment 63 Michael Shigorin 2019-08-06 10:50:35 MSK
(В ответ на комментарий №61)
> > Юр, мне вот гораздо неприятней, что из-за непродуманного и непроверенного
> > изменения в последний момент (за это уже всё высказал виновным) [...]
> Так Юрий и не виноват. Не он же обновлял lightdm.
Потому и отметил про (других) виновных.
Но у нас месяц на решение этой баги, иначе E не будет и в осенних сборках. :(

(В ответ на комментарий №62)
> А, DM(lightdm), который не запускает wayland-сессии, хотя может,
> -- повод для чего? Не обсуждать надо, а сделать, и забыть.
Повод для FR, поскольку мы не заявляем поддержку Wayland.
Собственно, десятилетие спустя оно слишком сырое и отнюдь не только для нас
(хотя на Jolla у меня работает -- в своём ограниченном окружении, понятно).
Comment 64 Yuri N. Sedunov 2019-08-06 11:00:11 MSK
(В ответ на комментарий №63)

> (В ответ на комментарий №62)
> > А, DM(lightdm), который не запускает wayland-сессии, хотя может,
> > -- повод для чего? Не обсуждать надо, а сделать, и забыть.
> Повод для FR, поскольку мы не заявляем поддержку Wayland.
> Собственно, десятилетие спустя оно слишком сырое и отнюдь не только для нас
> (хотя на Jolla у меня работает -- в своём ограниченном окружении, понятно).

Миша, я не участвую в дискуссии на уровне кто-чего-какую поддержку заявил, -- ты бы и systemd отменил, тебе вчера, напомню, не во что было флешку воткнуть. Wayland -- современное решение, в GNOME по-умолчанию.
Comment 65 Michael Shigorin 2019-08-06 11:19:16 MSK
(В ответ на комментарий №64)
> Миша, я не участвую в дискуссии на уровне кто-чего-какую поддержку заявил, --
> ты бы и systemd отменил, тебе вчера, напомню, не во что было флешку воткнуть.
Когда не работает -- мне в общем-то без разницы остальные характеристики.

> Wayland -- современное решение, в GNOME по-умолчанию.
GNOME со своим выбором решений у нас тоже, напомню, не входит в дистрибутивы.
А в стартеркитах именно из-за этого современного решения и его несовместимости с дистрибутивной инфраструктурой нуждается в особых пояснениях для установки.

Да, можно и нужно подтягивать инфраструктуру (и кто же из нас против всего хорошего и за всё плохое) -- только вот от деклараций результат не сдвинется.
Давай всё-таки искать и делать работающий вариант -- я не знаю сейчас, какой,
иначе бы попытался сделать.
Comment 66 Yuri N. Sedunov 2019-08-06 12:41:45 MSK
(В ответ на комментарий №55)
> (В ответ на комментарий №54)
> 
> > По заданию я отписался выше. Enlightenment
> > хочет session 'default'. И, вероятно, так будут хотеть все DM без
> > wmsession.d/конфиг.
> 
> Следовательно, всё дело в том, как runwm реагирует на слово "default", которое
> передаётся ему в этом случае. Отрезав runwm мы отрезали и эту функцию и теперь
> нам нужно изобретать новую: например, сделать так, чтобы
> /usr/share/xsessions/default.desktop действительно существовал. Только нужно
> ли? Напрашивается механизм альтернатив, который придётся городить для всех
> WM/DE. Мне кажется, мэйнтейнеры этих WM/DE совсем не обрадуются такому
> нововведению.

Товарищи, не надо городить огород, потому что
1) default.desktop не нужен, в #22 уже было сказано почему его хочет lightdm.
Надо просто убрать --with-user-session 

2) Назначить сессию по-умолчанию, если она не одна, например, при автологине просто,
и даже для разных пользователей. Антон знает как
https://bugzilla.altlinux.org/show_bug.cgi?id=36794
Comment 67 manowar@altlinux.org 2019-08-06 12:54:18 MSK
(В ответ на комментарий №62)

> А, DM(lightdm), который не запускает wayland-сессии, хотя может

  А он точно может? Я поэкспериментировал с /usr/bin/start_enlightenment и пришёл к выводу, что wayland-сессия запускается только в том случае, если не выставлен $DISPLAY. Но в lightdm как раз $DISPLAY есть всегда, потому любой сеанс там начинается с запуска X.
Comment 68 manowar@altlinux.org 2019-08-06 12:56:24 MSK
(В ответ на комментарий №66)

> Товарищи, не надо городить огород, потому что
> 1) default.desktop не нужен, в #22 уже было сказано почему его хочет lightdm.
> Надо просто убрать --with-user-session

  Вот этот момент я пропустил. Давайте попробуем собрать без этой опции.
 
> 2) Назначить сессию по-умолчанию, если она не одна, например, при автологине
> просто,
> и даже для разных пользователей. Антон знает как
> https://bugzilla.altlinux.org/show_bug.cgi?id=36794

  Это касается только mkimage-profiles, т.е. сборки регулярок как таковых, да?
Comment 69 Антон Мидюков 2019-08-06 13:04:13 MSK
(В ответ на комментарий №68)
> (В ответ на комментарий №66)
> 
> > Товарищи, не надо городить огород, потому что
> > 1) default.desktop не нужен, в #22 уже было сказано почему его хочет lightdm.
> > Надо просто убрать --with-user-session
> 
>   Вот этот момент я пропустил. Давайте попробуем собрать без этой опции.

Давайте.

> 
> > 2) Назначить сессию по-умолчанию, если она не одна, например, при автологине
> > просто,
> > и даже для разных пользователей. Антон знает как
> > https://bugzilla.altlinux.org/show_bug.cgi?id=36794
> 
>   Это касается только mkimage-profiles, т.е. сборки регулярок как таковых, да?

Автологин у нас реализуется похожим образом в двух местах: в mkimage-profiles для сборки live, и в autologin-sh-functions. Тот патч мы не приняли, приняли вариант cas@. По autologin-sh-functions эпопея была такая:
https://bugzilla.altlinux.org/show_bug.cgi?id=36805
Comment 70 manowar@altlinux.org 2019-08-06 13:05:03 MSK
Зарядил сборку lightdm без --with-user-session=default:
http://git.altlinux.org/tasks/235252/logs/events.2.1.log .
Comment 71 Yuri N. Sedunov 2019-08-06 13:06:16 MSK
(В ответ на комментарий №67)
> (В ответ на комментарий №62)
> 
> > А, DM(lightdm), который не запускает wayland-сессии, хотя может
> 
>   А он точно может? Я поэкспериментировал с /usr/bin/start_enlightenment и
> пришёл к выводу, что wayland-сессия запускается только в том случае, если не
> выставлен $DISPLAY. Но в lightdm как раз $DISPLAY есть всегда, потому любой
> сеанс там начинается с запуска X.

Не думаю, что  lightdm выставляет $DISPLAY при запуске wayland-сессий из /usr/share/wayland-sessions.
Наверное, это можно проверить даже на этапе сборки lightdm, запустив таки тесты.

Да,  и не знаю, с каким экспериментировал ты, но нынешний Enlightenment в сизифе собран без Wayland.
Comment 72 Yuri N. Sedunov 2019-08-06 13:15:12 MSK
(В ответ на комментарий №69)
 > Тот патч мы не приняли, приняли вариант cas@. 
То есть accountsservice не задействован? Поздравляю!
В последнем комментарии к той баге я предложил как "тот патч" можно использовать.
Comment 73 Антон Мидюков 2019-08-06 13:18:40 MSK
(В ответ на комментарий №72)
> (В ответ на комментарий №69)
>  > Тот патч мы не приняли, приняли вариант cas@. 
> То есть accountsservice не задействован? Поздравляю!
> В последнем комментарии к той баге я предложил как "тот патч" можно
> использовать.

cas@ был против.
Comment 74 manowar@altlinux.org 2019-08-06 13:35:07 MSK
(В ответ на комментарий №70)
> Зарядил сборку lightdm без --with-user-session=default:
> http://git.altlinux.org/tasks/235252/logs/events.2.1.log .

Оно собралось.
Comment 75 Yuri N. Sedunov 2019-08-06 14:25:26 MSK
(В ответ на комментарий №74)
> (В ответ на комментарий №70)
> > Зарядил сборку lightdm без --with-user-session=default:
> > http://git.altlinux.org/tasks/235252/logs/events.2.1.log .
> 
> Оно собралось.

И как оно?
Comment 76 Антон Мидюков 2019-08-06 14:28:43 MSK
(В ответ на комментарий №75)
> (В ответ на комментарий №74)
> > (В ответ на комментарий №70)
> > > Зарядил сборку lightdm без --with-user-session=default:
> > > http://git.altlinux.org/tasks/235252/logs/events.2.1.log .
> > 
> > Оно собралось.
> 
> И как оно?

Я проверяю, пока просто на сегодняшних сборках. Позже отпишусь.
Comment 77 Антон Мидюков 2019-08-06 15:08:09 MSK
(В ответ на комментарий №76)
> (В ответ на комментарий №75)
> > (В ответ на комментарий №74)
> > > (В ответ на комментарий №70)
> > > > Зарядил сборку lightdm без --with-user-session=default:
> > > > http://git.altlinux.org/tasks/235252/logs/events.2.1.log .
> > > 
> > > Оно собралось.
> > 
> > И как оно?
> 
> Я проверяю, пока просто на сегодняшних сборках. Позже отпишусь.

Что-то по-прежнему default session хочет.
Comment 78 manowar@altlinux.org 2019-08-06 15:17:05 MSK
(В ответ на комментарий №77)

> Что-то по-прежнему default session хочет.

Понял. Я поизучаю сегодня, на что и как влияет --with-user-session= .
Comment 79 Антон Мидюков 2019-08-06 15:22:36 MSK
(В ответ на комментарий №77)
> (В ответ на комментарий №76)
> > (В ответ на комментарий №75)
> > > (В ответ на комментарий №74)
> > > > (В ответ на комментарий №70)
> > > > > Зарядил сборку lightdm без --with-user-session=default:
> > > > > http://git.altlinux.org/tasks/235252/logs/events.2.1.log .
> > > > 
> > > > Оно собралось.
> > > 
> > > И как оно?
> > 
> > Я проверяю, пока просто на сегодняшних сборках. Позже отпишусь.
> 
> Что-то по-прежнему default session хочет.

Это slick-greeter хочет. А lightdm-gtk-greeter не хочет, грузит нормально.
Comment 80 Антон Мидюков 2019-08-06 15:36:26 MSK
Ошибка у slick-greeter такая:
DEBUG: slick-greeter.vala:209: Invalid session: 'default'
Warning: slick-greeter.vala:198: Could not find a default session.
DEBUG: slick-greeter.vala:216: Using default session: '(null)'
Comment 81 Антон Мидюков 2019-08-06 15:57:45 MSK
(В ответ на комментарий №80)
> Ошибка у slick-greeter такая:
> DEBUG: slick-greeter.vala:209: Invalid session: 'default'
> Warning: slick-greeter.vala:198: Could not find a default session.
> DEBUG: slick-greeter.vala:216: Using default session: '(null)'

С этим разобрался. Проблема в том, что у нас сессия называется enlightenment-xorg.desktop
Нужно переименовать в enlightenment.desktop и проблемы не будет.

Собственно, понятно из:
http://git.altlinux.org/gears/s/slick-greeter.git?p=slick-greeter.git;a=blob;f=slick-greeter/src/slick-greeter.vala;h=38c3004993d839a64b8c8197d9625ae8157418e5;hb=2445f22e57a68ab08e82474471bc9fdc004fb161#l168
Comment 82 Yuri N. Sedunov 2019-08-06 16:06:27 MSK
(В ответ на комментарий №81)
> (В ответ на комментарий №80)
> > Ошибка у slick-greeter такая:
> > DEBUG: slick-greeter.vala:209: Invalid session: 'default'
> > Warning: slick-greeter.vala:198: Could not find a default session.
> > DEBUG: slick-greeter.vala:216: Using default session: '(null)'
> 
> С этим разобрался. Проблема в том, что у нас сессия называется
> enlightenment-xorg.desktop
> Нужно переименовать в enlightenment.desktop и проблемы не будет.
> 
> Собственно, понятно из:
> http://git.altlinux.org/gears/s/slick-greeter.git?p=slick-greeter.git;a=blob;f=slick-greeter/src/slick-greeter.vala;h=38c3004993d839a64b8c8197d9625ae8157418e5;hb=2445f22e57a68ab08e82474471bc9fdc004fb161#l168

Я бы предпочел чуть пропатчить этот убогий slick-greeter. Он ничего не знает про wayland, а одноименные файлы в xsessions и wayland-sessions GDM не переварит.
Comment 83 Yuri N. Sedunov 2019-08-06 16:21:12 MSK
Паша, сделай, пожалуйста, и slick-greeter в своем задании.
Comment 84 Антон Мидюков 2019-08-09 16:00:07 MSK
(В ответ на комментарий №83)
> Паша, сделай, пожалуйста, и slick-greeter в своем задании.

Павел, slick-greeter не смотрели?

Так-то можно регулярки/стартеркиты перевести обратно на lightdm-gtk-greeter, вот только у кого slick-greeter продолжит страдать...

Но, в принципе, несмертельно. На p8 slick-greeter в сборках не использовался. Enlightenment на p9 не выпускался. Думаю его оставить только для сборки с cinnamon.

(В ответ на комментарий №82)
> 
> Я бы предпочел чуть пропатчить этот убогий slick-greeter. Он ничего не знает
> про wayland, а одноименные файлы в xsessions и wayland-sessions GDM не
> переварит.

Кстати, а в чём проблема вернуть название на нормальное в xsessions, а для wayland назвать по-другому, например, добавить в название -wayland?
Comment 85 Yuri N. Sedunov 2019-08-09 16:13:33 MSK
(В ответ на комментарий №84)
> Кстати, а в чём проблема вернуть название на нормальное в xsessions, а для
> wayland назвать по-другому, например, добавить в название -wayland?

Назвать можно как угодно, но
$ grep xsessions ./*/base/contents_index|wc -l
60
Будем перечислять?
Comment 86 manowar@altlinux.org 2019-08-12 13:42:35 MSK
(В ответ на комментарий №84)
> (В ответ на комментарий №83)
> > Паша, сделай, пожалуйста, и slick-greeter в своем задании.
> 
> Павел, slick-greeter не смотрели?

  Нет ещё. Но сегодня обязательно посмотрю. Сперва lightdm, а потом slick.
Comment 87 manowar@altlinux.org 2019-08-12 14:15:42 MSK
Товарищи, судя по http://git.altlinux.org/gears/l/lightdm.git?p=lightdm.git;a=blob;f=configure.ac;h=462bff025ce2e0d968edb7dda2f62ed3772dc011;hb=53f9342d856bff1bfe197771e5e523b7d3cd59ab#l187 , отказ от --with-user-session=default не оказывает ровно никакого эффекта, поскольку умолчание как раз именно "default" и есть. Поэтому, следовательно, lightdm-gtk-greeter должен работать независимо от последней сборки lightdm, а вот slick — нет.

Я посмотрю сейчас на логику lightdm-gtk-greeter и попробую перенести её сразу в lightdm, чтобы гритерам просто не предлагались несуществующие сессии.
Comment 88 manowar@altlinux.org 2019-08-12 19:50:05 MSK
Я посмотрел, что lightdm-gtk-greeter в случае обнаружения с несуществующим .desktop-файлом, сам выбирает первую из существующих сессий, которые предлагает ему lightdm. В итоге получается первый по списку .desktop-файл, потому что lightdm просто читает файлы из директории. В slick такого fallback нет, и, наверное, это нормально, поскольку это не его забота.

В итоге я сделал сейчас так, чтобы lightdm, при отсутствии файла default.desktop, отдавал бы конфигурацию из первого попавшегося .desktop-файла. Результат получается не совсем предсказуемым (кто знает, в каком порядке отдаёт названия файлов связка g_dir_open(), g_dir_read_name() ?), но повторяет поведение lightdm.

Задание http://git.altlinux.org/tasks/235252/ отправлено на сборку. В нём lightdm-1.30.0-alt6, в котором то, что я написал выше.
Comment 89 Yuri N. Sedunov 2019-08-12 20:41:42 MSK
(В ответ на комментарий №88)
> Я посмотрел, что lightdm-gtk-greeter в случае обнаружения с несуществующим
> .desktop-файлом, сам выбирает первую из существующих сессий, которые предлагает
> ему lightdm. В итоге получается первый по списку .desktop-файл, потому что
> lightdm просто читает файлы из директории. В slick такого fallback нет, и,
> наверное, это нормально, поскольку это не его забота.
> 
> В итоге я сделал сейчас так, чтобы lightdm, при отсутствии файла
> default.desktop, отдавал бы конфигурацию из первого попавшегося .desktop-файла.
> Результат получается не совсем предсказуемым (кто знает, в каком порядке отдаёт
> названия файлов связка g_dir_open(), g_dir_read_name() ?)

g_dir_open ()
...
Opens a directory for reading. The names of the files in the directory can then be retrieved using g_dir_read_name(). Note that the ordering is not defined.

g_dir_read_name ()
...
Retrieves the name of another entry in the directory, or NULL. The order of entries returned from this function is not defined, and may vary by file system or other operating-system dependent factors.
Comment 90 manowar@altlinux.org 2019-08-13 01:27:56 MSK
(В ответ на комментарий №89)

> ...Note that the ordering is not defined.

  Я именно это и имел в виду, когда написал "не совсем предсказуемым"! ;-)
Comment 91 Yuri N. Sedunov 2019-08-13 08:34:53 MSK
(В ответ на комментарий №90)
> (В ответ на комментарий №89)
> 
> > ...Note that the ordering is not defined.
> 
>   Я именно это и имел в виду, когда написал "не совсем предсказуемым"! ;-)

Глянул в GDM, -- он тоже выдает такой типа несортированный список, однако gnome-shell, который у него гритером, таки делает красиво и сортирует список сессий.
Comment 92 Антон Мидюков 2019-08-13 11:46:05 MSK
(В ответ на комментарий №88)
> Я посмотрел, что lightdm-gtk-greeter в случае обнаружения с несуществующим
> .desktop-файлом, сам выбирает первую из существующих сессий, которые предлагает
> ему lightdm. В итоге получается первый по списку .desktop-файл, потому что
> lightdm просто читает файлы из директории. В slick такого fallback нет, и,
> наверное, это нормально, поскольку это не его забота.
> 
> В итоге я сделал сейчас так, чтобы lightdm, при отсутствии файла
> default.desktop, отдавал бы конфигурацию из первого попавшегося .desktop-файла.
> Результат получается не совсем предсказуемым (кто знает, в каком порядке отдаёт
> названия файлов связка g_dir_open(), g_dir_read_name() ?), но повторяет
> поведение lightdm.
> 
> Задание http://git.altlinux.org/tasks/235252/ отправлено на сборку. В нём
> lightdm-1.30.0-alt6, в котором то, что я написал выше.

Работает. Проблем не заметил. Проверил на всех регулярках.
Comment 93 Yuri N. Sedunov 2019-08-14 12:22:41 MSK
(В ответ на комментарий №92)
> > Задание http://git.altlinux.org/tasks/235252/ отправлено на сборку. В нём
> > lightdm-1.30.0-alt6, в котором то, что я написал выше.
> 
> Работает. Проблем не заметил. Проверил на всех регулярках.

Так, давайте отправим в Сизиф это задание.
Comment 94 manowar@altlinux.org 2019-08-14 12:42:11 MSK
ldv@ или legion@: Прошу approve на 235252 100. Смысл изменения в том, чтобы Xsession мог запускать исполняемые файлы без необходимости иметь для них конфиг в /etc/wmsessions.d/.
Comment 95 Alexey Gladkov 2019-08-14 13:07:31 MSK
(In reply to comment #94)
> ldv@ или legion@: Прошу approve на 235252 100. Смысл изменения в том, чтобы
> Xsession мог запускать исполняемые файлы без необходимости иметь для них конфиг
> в /etc/wmsessions.d/.

NAK.

> In the case when the argument to Xsession is a valid command name
> (as reported by [ -e ... ])

Написана неправда т.к. test -e просто проверит существование файла, но не то, что он выполняемый. Кроме того, эта проверка предусматривает передачу в качестве аргумента только полного пути к команде т.е. "runwm" нельзя передать в качестве аргумента.

Почему вы не захотели использовать конструкцию типа:

RUNWM=`absolute "$1" || echo runwm`

которая написана несколькими строчками выше ?
Comment 96 manowar@altlinux.org 2019-08-14 13:17:29 MSK
(В ответ на комментарий №95)
> (In reply to comment #94)
> > ldv@ или legion@: Прошу approve на 235252 100. Смысл изменения в том, чтобы
> > Xsession мог запускать исполняемые файлы без необходимости иметь для них конфиг
> > в /etc/wmsessions.d/.
> 
> NAK.
> 
> > In the case when the argument to Xsession is a valid command name
> > (as reported by [ -e ... ])
> 
> Написана неправда т.к. test -e просто проверит существование файла, но не то,
> что он выполняемый.

  Согласен. Заменим на -x.

> Кроме того, эта проверка предусматривает передачу в
> качестве аргумента только полного пути к команде т.е. "runwm" нельзя
> передать в качестве аргумента.
> 
> Почему вы не захотели использовать конструкцию типа:
> 
> RUNWM=`absolute "$1" || echo runwm`
> 
> которая написана несколькими строчками выше ?

  Полный путь как раз ради большей однозначности, чтобы не запустить что попало из PATH. Насколько я понял, в .desktop-файлах содержатся сейчас либо полные пути к исполняемым файлам, либо имена конфигов из /etc/X11/wmsessions.d/.
Comment 97 manowar@altlinux.org 2019-08-14 13:26:24 MSK
Таким образом, я предлагаю следующую модификацию:

http://git.altlinux.org/people/manowar/packages/?p=xinitrc.git;a=commitdiff;h=31fbe97e92931d8173203c6d7c3bdb10abfa6794

1. Если /etc/X11/Xsession был передан в качестве первого аргумента полный путь к исполняемому файлу, то запустить данный файл (передав ему остальные аргументы) вместо runwm.
2. В противном случае передать всю строчку runwm.

Устроит ли такой вариант и aris@, и legion@?
Comment 98 Yuri N. Sedunov 2019-08-14 13:57:26 MSK
(В ответ на комментарий №97)
> Таким образом, я предлагаю следующую модификацию:
> 
> http://git.altlinux.org/people/manowar/packages/?p=xinitrc.git;a=commitdiff;h=31fbe97e92931d8173203c6d7c3bdb10abfa6794
> 
> 1. Если /etc/X11/Xsession был передан в качестве первого аргумента полный путь
> к исполняемому файлу, то запустить данный файл (передав ему остальные
> аргументы) вместо runwm.
> 2. В противном случае передать всю строчку runwm.
> 
> Устроит ли такой вариант и aris@, и legion@?

Меня устроит если даже runwm не будет совсем, он не нужен. Алексей?
Comment 99 Alexey Gladkov 2019-08-14 14:56:10 MSK
Прочитал всё с самого начала.

(In reply to comment #51)
> gdm 3.x разучился запускать не-гномы, а вот необходимость wayland-сессии по
> умолчанию у меня применительно как минимум к E вызывает большие вопросы с
> учётом того, как там обстоят дела с догонянием иксов по состоянию на
> давным-давно назад.

Это неправда :)

> То есть сейчас wayland-сессию я бы постарался сделать возможностью для тех, кто
> понимает, что он _именно_ этого хочет (применительно к E у нас в команде знаю
> одного такого человека, это legion@); а по умолчанию запускать наиболее
> работоспособный вариант, бишь X11.
> 
> Лёш, а ты что скажешь?

Миш, прости, я не увидел вопроса в вашем бурном обсуждении. Я пользовался E несколько лет назад, но он меня победил и aris@ убедил перейти на gnome3, которым я пользовался до конца 2018 года, когда гном тоже взял верх и я ушёл и с него.

(In reply to comment #97)
> Таким образом, я предлагаю следующую модификацию:
> 
> http://git.altlinux.org/people/manowar/packages/?p=xinitrc.git;a=commitdiff;h=31fbe97e92931d8173203c6d7c3bdb10abfa6794
> 
> 1. Если /etc/X11/Xsession был передан в качестве первого аргумента полный путь
> к исполняемому файлу, то запустить данный файл (передав ему остальные
> аргументы) вместо runwm.
> 2. В противном случае передать всю строчку runwm.
> 
> Устроит ли такой вариант и aris@, и legion@?

ACK. К реализации у меня вопросов больше нет и готов поставить approve.
ldv@ ?
Comment 100 Dmitry V. Levin 2019-08-14 15:18:17 MSK
(In reply to comment #97)
> Таким образом, я предлагаю следующую модификацию:
> 
> http://git.altlinux.org/people/manowar/packages/?p=xinitrc.git;a=commitdiff;h=31fbe97e92931d8173203c6d7c3bdb10abfa6794
> 
> 1. Если /etc/X11/Xsession был передан в качестве первого аргумента полный путь
> к исполняемому файлу, то запустить данный файл (передав ему остальные
> аргументы) вместо runwm.

Вышеупомянутый коммит делает не совсем то, что написано в вышепроцитированном комментарии, поскольку тест [ -x "$1" ] дает ответ на другой вопрос.

P.S. не ставьте ; в конце simple command, пожалуйста.
Comment 101 manowar@altlinux.org 2019-08-14 15:42:00 MSK
(В ответ на комментарий №100)

> Вышеупомянутый коммит делает не совсем то, что написано в вышепроцитированном
> комментарии, поскольку тест [ -x "$1" ] дает ответ на другой вопрос.

  Ты имеешь в виду, что отсутствует проверка на то, что в "$1" абсолютный путь?
Comment 102 Dmitry V. Levin 2019-08-14 16:00:52 MSK
(In reply to comment #101)
> (В ответ на комментарий №100)
> 
> > Вышеупомянутый коммит делает не совсем то, что написано в вышепроцитированном
> > комментарии, поскольку тест [ -x "$1" ] дает ответ на другой вопрос.
> 
>   Ты имеешь в виду, что отсутствует проверка на то, что в "$1" абсолютный путь?

конечно, [ -x "foo" ] проверит на исполняемость "foo" в текущем каталоге.
Comment 103 manowar@altlinux.org 2019-08-15 15:51:08 MSK
Нужно отметить, что -x сработало бы ещё и для директории. Поэтому воспользовался советом Алексея и использовал absolute() для проверки "$1". Точку с запятой после shift убрал. Получилось вот так:

    if [ "$1" = "$(absolute "$1")" ]; then
        cmd="$1"; shift
    else
        cmd=runwm
    fi
Comment 104 manowar@altlinux.org 2019-08-19 13:14:37 MSK
Ну так что, можно ли ожидать approve на последнюю редакцию? Я пока снова отправил на тестовую сборку с этим вариантом.
Comment 105 Dmitry V. Levin 2019-08-19 13:54:19 MSK
(In reply to comment #104)
> Ну так что, можно ли ожидать approve на последнюю редакцию? Я пока снова
> отправил на тестовую сборку с этим вариантом.

Где кандидат на окончательный вариант?
Comment 106 manowar@altlinux.org 2019-08-19 14:13:34 MSK
(В ответ на комментарий №105)
> (In reply to comment #104)
> > Ну так что, можно ли ожидать approve на последнюю редакцию? Я пока снова
> > отправил на тестовую сборку с этим вариантом.
> 
> Где кандидат на окончательный вариант?

http://git.altlinux.org/tasks/235252/gears/400/git
Comment 107 Alexey Gladkov 2019-08-19 14:21:57 MSK
Если вы сделаете squash коммитов:

31fbe97e92931d8173203c6d7c3bdb10abfa6794
146bae6f4e66596a203a2e3fd367ca33ad8f3f02
6f8c0cee0eb572c04003b8ab0d00ed3de0c2124e

т.к. это одно изменение растянутое на несколько коммитов, то

Acked-by: legion.
Comment 108 manowar@altlinux.org 2019-08-19 15:10:44 MSK
Готово: http://git.altlinux.org/tasks/235252/gears/600/git .
Comment 109 manowar@altlinux.org 2019-08-20 11:30:15 MSK
Вижу TESTED. Мне нужно ещё что-то сделать с этим заданием или Дима дальше сам?
Comment 110 manowar@altlinux.org 2019-08-21 16:06:00 MSK
xinitrc-2.4.47-alt2 + lightdm-1.30.0-alt6