<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Feb 12, 2023 at 9:27 AM Vladimir Kudrya <<a href="mailto:vladimir-csp@yandex.ru">vladimir-csp@yandex.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>On 10/02/2023 12.51, Mantas Mikulėnas
wrote:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>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?<br>
</p>
</div>
</blockquote>
</div>
</div>
<div dir="auto">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.</div>
<div dir="auto"><br>
</div>
<div dir="auto">(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.)</div>
</div>
</blockquote>
If one does not want to mess with dbus, is prefixing app commands in
compositor's configuration with `systemd-run --user --scope
--slice=app.slice ...` a valid alternative?<br>
</div>
</blockquote></div><div><br></div><div>That should work, although if you're already using systemd then I don't think D-Bus is that big of a step. (It would also let you create a .scope for an existing PID, which systemd-run currently doesn't have an option to.)</div><div><br></div><div>Looking at what <a href="https://sources.debian.org/src/gnome-desktop/43.1-1/libgnome-desktop/gnome-systemd.c/?hl=113#L113">libgnome-desktop</a> does, you probably also want to use -G (aka --collect, aka --property=CollectMode=inactive-or-failed).</div><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Mantas Mikulėnas</div></div></div>