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-Filter: OpenDKIM Filter v2.11.0 zen.imath.kiev.ua 6CC178091871 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imath.kiev.ua; s=hydra; t=1638554497; bh=bMVEdzVYRUWd9fWoMgcnL0nKxIeUxdsx/t0FJlNzoA0=; h=Date:From:To:Subject:References:In-Reply-To:From; b=UoeSYnnK3EuzagWp+unjpWZ7/EH9JUS46yeCGrw790VH9X6mS7NE9q8wJq9kJuYMq JTnCOf2yjiRLKfdLzr+Gwit5enr1pKdv2yk3UBnBcSmgzRGp9V4PAnFcTyUd3QNmRz AiLj/rZmidcUcG3ccFy+N+cO+MiMAQZhUajla2/I= Date: Fri, 3 Dec 2021 20:01:36 +0200 From: Igor Vlasenko To: ALT Linux Team development discussions Message-ID: <20211203180136.GA21030@dad.imath.kiev.ua> References: <20211202183523.GA29870@dad.imath.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) Subject: Re: [devel] RFC: wayland session wrapper script 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: Fri, 03 Dec 2021 18:01:40 -0000 Archived-At: List-Archive: List-Post: On Fri, Dec 03, 2021 at 06:14:41PM +0300, Arseny Maslennikov wrote: > > №!/bin/bash -login > Nitpick: наверное, `--login'? Да, спасибо. Пришло по наследству от /etc/X11/Xsession. там тоже надо поправить. > Не знаю, оффтоп или нет, но сейчас нет чёткого понимания, какова задача, > стоящая перед /etc/profile{,.d}. > Предназначены ли эти файлы только для установки переменных окружения или > ещё и для произвольного кода? > Если второе, то: каким интерпретатором они исполняются? Если > логин-шеллом пользователя, т. е. "от балды", то это вряд ли хорошо. Сейчас 'только для установки переменных окружения' предлагается pam_env /etc/environment и systemd /etc/environment.d pam_env(8) environment(5) environment.d(5) /etc/environment неудобный, /etc/environment.d удобный, но только под systemd. Эх. если бы допилить pam_env, чтобы читал и /etc/environment.d, можно бы было переезжать основной частью /etc/profile{,.d} ... > > Поэтому вот что еще хочу туда добавить: > > > > 2) обёртки > > > 3) XDG_SESSION_TYPE. > > > 4) redirect stderr to a file > > На systemd нужна возможность направить это в журнал, а не в файл. > Она особенно полезна в случае, когда хомяк в системе медленный и > маленький, а /var быстрее и больше, да и проворачивается (logrotate) он > самостоятельно. Перенаправлением stderr сейчас занимается DM. Это к его конфигам. а я сделал подстраховку, если -c /proc/self/fd/2 то скрипт шевелится перенаправлять. > > Возможно, проверить сначала, что мы не запущены под GDM, sddm, ... > Не возможно, а точно. :) Видел где-то какие-то волшебные переменные, которые говорят, что мы из-под GDM. Нигде не найду, как понадобились :( > > Смысл его существования в том, что ряд тулкитов и приложений > > поддерживают wayland, но без волшебного понуждения в виде > > магических переменных вида THIS_APP_PLEASE_DO_USE_WAYLAND=1 > > все равно по умолчанию запускаются под XWayland. > > Кроме известных и популярных исключений, лучше не надо такое выставлять, > особенно в стабильных конфигурациях и дистрибутивах. Когда разработчики > приложений начинают полагать, что под wayland их продукт работает хорошо > (лучше, чем с Xorg/Xwayland), они убирают необходимость прописывать > такие переменные. Если такая переменная нужна — значит, апстрим не > уверен в себе, а мы и подавно — но усер может захотеть сам такую > переменную выставить. Да. > Потому что просто profile.d рассчитан на срабатывание ещё и в текстовых > сеансах, в т. ч. удалённых? Гм. к примеру xdg-user-dirs.sh. Если пользователь залогинился с консоли, почему бы не выполнить xdg-user-dirs.sh? Если бережемся удалённые грузить (что правильно), надо просто добавить проверку на $SSH_CONNECTION. > > /etc/X11/profile.d/ssh-agent.sh > > С одной стороны, его запускать на systemd не надо, потому что есть user > unit (иными словами, предусмотреть там проверку, как вы предложили > выше). С другой, как заставить этот user unit работать только при > наличии локальных сеансов, не патча systemd --user? Я пока вручную перебираю сессии, и отсеиваю framebuffer'ные. а для остальных запускаю /etc/X11/profile.d/ssh-agent.sh > > логика понятна, не хочется вызывать этот скрипт в > > случае удаленного логина по ssh. > > Но там вроде бы достаточно дополнительно проверить, > > есть ли $SSH_CONNECTION, и с такой проверкой > > можно смело переносить в /etc/profile.d > > (поправьте, если не так, знающие люди!) > > > > Что касается оставшихся скриптов > > /etc/X11/profile.d/xdg-user-dirs.sh > > /etc/X11/profile.d/zdg-user-dirs-install.sh > > /etc/X11/profile.d/zdg-move-templates.sh > > то мне не очень понятно, почему они не в /etc/profile.d. > > (расскажите, знающие люди!) > > > > Если их все же нельзя перенести в /etc/profile.d, > > то придется дополнительно вводить каталог > > /profile.d, > > Откуда будут читать и wayland-session, > > и патченый /etc/X11/Xsession. > > Здесь и в иных местах: не лучше ли /profile.d и иные > нововводимые каталоги, в которые пакеты будут класть файлы, помещать > вне /etc, например, в /usr/share (и соотв. за-.-ить их)? /etc же для > администратора. Да, было бы хорошо. Но куда? В SuSE видел, к примеру, usr/etc. Насколько это FHS? > Если wayland-сервера никогда не будет, то тогда это не wayland-session, > а нечто другое... И обёртка там нужна своя, аналогичная, но без > X11-specific и wayland-specific действий. я добавил это списком исключений (fbcon/fbterm) и установкой для них XDG_SESSION_TYPE=tty А для запуска чего-то уже когда сервер есть, нужно пользоваться xdg autostart. -- I V