ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Пошаговый переход Display_Manager_Policy к стандартам freedesktop.
@ 2021-11-16 15:59 Igor Vlasenko
  2021-11-17  8:23 ` [devel] abandon default sessuin (was: Пошаговый переход Display_Manager_Policy к стандартам freedesktop.) Sergey V Turchin
  2021-11-20  9:31 ` [devel] Пошаговый переход Display_Manager_Policy к стандартам freedesktop Fr. Br. George
  0 siblings, 2 replies; 16+ messages in thread
From: Igor Vlasenko @ 2021-11-16 15:59 UTC (permalink / raw)
  To: devel

Пошаговый переход Display_Manager_Policy к стандартам freedesktop.
Шаг 1.

Проблема: наша политика
https://www.altlinux.org/Display_Manager_Policy
устарела, не учитывает стандарты freedesktop
и новые freedesktop-совместимые DM,
не учитывает Wayland.

Как это работало раньше?

файлтриггер после изменений в /etc/X11/wmsession.d
вызывает скрипт конфигурации DM.
скрипт конфигурации DM вызывает runwm --list
runwm --list смотрит в /etc/X11/wmsession.d
получает список токенов
Plasma
Mate
IceWM
default
Прописывает их в меню DM: (к примеру)
WM_session=Plasma,Mate,IceWM,default

DM вызывает с этим токеном /etc/X11/Xsession,
к примеру,
/etc/X11/Xsession IceWM
Xsession, выполнив свои вызовы и настройки,
вызывает с этим токеном runwm:
к примеру,
runwm IceWM

Как это работает сейчас?

С появлением freedesktop-совместимых DM,
они начали смотреть в /usr/share/xsessions/,
что не работало со схемой выше.

В итоге для тех из них, кто хочет запускать /etc/X11/Xsession,
добавили хак #36913, см.
https://bugzilla.altlinux.org/show_bug.cgi?id=36913
добавив схему, когда freedesktop-совместимый DM,
смотрит в /usr/share/xsessions/ и вызывает
/etc/X11/Xsession со скриптом из ключа Exec= desktop файла.
Xsession, выполнив свои вызовы и настройки,
вызывает с этим скриптом runwm:
runwm /usr/bin/starticewm

runwm /usr/bin/starticewm ищет /usr/bin/starticewm
( ищет не в /usr/share/xsessions/, а в /etc/X11/wmsession.d !! )
и если находит, то запускает, иначе пишет, что нет такого wm.

Это достаточно кривой костыль, и для работы требует
одновременно и /etc/X11/wmsession.d и /usr/share/xsessions/,
при чем runwm не видит /usr/share/xsessions/.

Шаг 1 к переходу на стандарты freedesktop.

В Сизифе и в очереди к p10 находится пакет wm-select.git=0.9.8-alt1,
в котором, кроме wm-select, есть кандидат на замену старого runwm,
упакован как runwm.test, чтобы можно было потестировать и сравнить,
runwm.test --list
runwm --list

runwm.test по умолчанию и с опцией --alt читает /etc/X11/wmsession.d и эмулирует
старый runwm.

runwm.test с опцией --xdg (в будущем по умолчанию) читает /usr/share/xsessions/.
runwm.test так же поддерживает хак #36913.

В сборочнице в #289869 находится на тестирование пакет wm-select,
#289869 TESTED #1 [test-only] sisyphus wm-select.git=0.9.8-alt2 xinitrc.git=2.4.47-alt3

где новый runwm собран самостоятельным подпакетом runwm,
и минимально правленный xinitrc, который
1) владеет каталогом /usr/share/xsessions/
2) файлтриггер срабатывает и на каталог /usr/share/xsessions/
3) вместо старого runwm берется runwm из подпакета runwm пакета wm-select.

И первый шаг заключается в #289869 -- заменить старый runwm
на runwm, умеющий читать /usr/share/xsessions/,
затем включить в runwm /usr/share/xsessions/

При таком изменении получим
1) /etc/X11/wmsession.d станет не нужен,
2) Можно будет сохранить работоспособность старых не-freedesktop DM,
за счет добавления freedesktop-обвязки в новый runwm

и можно будет двигаться дальше.

Прошу тестировать и одобрять.

-- 

I V


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2021-11-20  9:31 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-16 15:59 [devel] Пошаговый переход Display_Manager_Policy к стандартам freedesktop Igor Vlasenko
2021-11-17  8:23 ` [devel] abandon default sessuin (was: Пошаговый переход Display_Manager_Policy к стандартам freedesktop.) Sergey V Turchin
2021-11-17 10:52   ` [devel] abandon default session Alexey V. Vissarionov
2021-11-17 10:59     ` Sergey V Turchin
2021-11-17 13:32       ` Igor Vlasenko
2021-11-17 13:37         ` Sergey V Turchin
2021-11-17 15:31           ` Igor Vlasenko
2021-11-17 16:03             ` Arseny Maslennikov
2021-11-17 16:27             ` Alexey V. Vissarionov
2021-11-17 17:44               ` Igor Vlasenko
2021-11-17 13:41         ` Sergey V Turchin
2021-11-17 15:06           ` Igor Vlasenko
2021-11-18  7:38             ` Sergey V Turchin
2021-11-17 13:43         ` Sergey V Turchin
2021-11-17 13:21     ` Igor Vlasenko
2021-11-20  9:31 ` [devel] Пошаговый переход Display_Manager_Policy к стандартам freedesktop Fr. Br. George

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git