On 10/02/2023 12.51, Mantas Mikulėnas wrote:
Also systemd.special manual recommends putting display servers
into session.slice. But in case of a wayland compositor it is
impossible to separate it from the apps, because the compositor
handles keyboard shortcuts (which launch apps or launchers which
launch apps). Is this recommendation even feasible for wayland?
Yes; the compositor can use systemd D-Bus API to launch apps in their
own .scopes underneath app.slice (or transient .services), as e.g.
GNOME Shell already does.
(For a different use of the same API, see also how GNOME Terminal – or
libvte, I guess – launches each terminal tab in its own .scope. You
can forkbomb a single tab without significantly affecting the rest of
the system.)
That would put unneeded work on compositors, some of which might never
even care about systemd.
I wonder if there is a potential centralized solution on session manager
side, like configuring a unit to automatically put any forked processes
into scopes of chosen slice.
# inwayland-wm@.service:
...
[Service]
...
Slice=session.slice
# hypothetical new feature
ScopeForksTo=app.slice
...