ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Igor Vlasenko <vlasenko@imath.kiev.ua>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] RFC: wayland session wrapper script
Date: Fri, 3 Dec 2021 20:01:36 +0200
Message-ID: <20211203180136.GA21030@dad.imath.kiev.ua> (raw)
In-Reply-To: <Yao0YWpaJdgqLTkK@cello>

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,
> > то придется дополнительно вводить каталог
> > <sessions>/profile.d,
> > Откуда будут читать и wayland-session,
> > и патченый /etc/X11/Xsession.
> 
> Здесь и в иных местах: не лучше ли <sessions>/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


  reply	other threads:[~2021-12-03 18:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-02 18:35 Igor Vlasenko
2021-12-02 19:09 ` Alexey V. Vissarionov
2021-12-03  7:30   ` Sergey V Turchin
2021-12-03 10:58     ` Igor Vlasenko
2021-12-03 10:59   ` Igor Vlasenko
2021-12-03 18:41     ` Alexey V. Vissarionov
2021-12-03 12:12 ` Dmitry V. Levin
2021-12-03 12:52   ` Igor Vlasenko
2021-12-03 16:07   ` [devel] почему ssh-agent не имеет смысла на tty1 Arseny Maslennikov
2021-12-03 16:11     ` Dmitry V. Levin
2021-12-03 13:50 ` [devel] RFC: wayland session wrapper script Alexey Gladkov
2021-12-03 14:49   ` Sergey Bolshakov
2021-12-03 15:10     ` Alexey Gladkov
2021-12-03 16:05       ` [devel] DM (RFC: wayland session wrapper script) Arseny Maslennikov
2021-12-03 18:05         ` Alexey Gladkov
2021-12-03 19:59           ` [devel] DM (was: RFC: " Arseny Maslennikov
2021-12-03 23:00             ` Alexey Gladkov
2021-12-21 13:19       ` [devel] RFC: wayland session wrapper script Alexey Gladkov
2021-12-03 15:16   ` Arseny Maslennikov
2021-12-03 15:14 ` Arseny Maslennikov
2021-12-03 18:01   ` Igor Vlasenko [this message]
2021-12-03 18:16     ` Yuri Sedunov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211203180136.GA21030@dad.imath.kiev.ua \
    --to=vlasenko@imath.kiev.ua \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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