From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imath.kiev.ua; s=hydra; t=1637078356; bh=PZXVZg7uhYaIgci3mxEinBGyE0/Bi4/AXay2axzkc4w=; h=Date:From:To:Subject; b=SyMmd+t+jy+3FEKwvwZFLZenLxFDlEChDlBEvRe2xivu/C+klMqejpGqz4MU3c97D H3u9Ol8GedkUKY0jRijmzcE75Ekr3FLjMudfJ/gs3DuU4b1mdpl43um0znAZ77MIVF 3Vs2/m3Ca3w6tpjyCLFa2s32XCSGDNiKHsymMidw= Date: Tue, 16 Nov 2021 17:59:15 +0200 From: Igor Vlasenko To: devel@lists.altlinux.org Message-ID: <20211116155915.GA6869@dad.imath.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.9.1 (2017-09-22) Subject: [devel] =?utf-8?b?0J/QvtGI0LDQs9C+0LLRi9C5INC/0LXRgNC10YXQvtC0?= =?utf-8?b?IERpc3BsYXlfTWFuYWdlcl9Qb2xpY3kg0Log0YHRgtCw0L3QtNCw0YDRgtCw?= =?utf-8?b?0LwgZnJlZWRlc2t0b3Au?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2021 15:59:20 -0000 Archived-At: List-Archive: List-Post: Пошаговый переход 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