OpenRC user services
Alexis <[email protected]> Thu, 30 Jul 2026 14:09:38 +1000
| Newsgroups | gmane.linux.gentoo.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi all,
With OpenRC now supporting user services, has there been any
general recommendation that package maintainers try to provide
OpenRC user services where appropriate (without that necessarily
being _required_)?
i use OpenRC overall, but because i started using Gentoo before
OpenRC user services were available, i manually set up my own set
of s6-rc-based user services:
* a D-Bus session bus;
* an Emacs server instance;
* PipeWire aand WirePlumber instances;
* MPD.
There are now user services provided for D-Bus, Emacs, PipeWire,
and WirePlumber. However, MPD does not yet provide one (and in the
context of my own use-case, i don't want to be running MPD as a
system service). Nor, for example, is there a user service for
media-sound/snapcast - earlier i opened
https://bugs.gentoo.org/980076 about the issues this causes in the
context of a per-user PipeWire setup, but in the meantime,
https://wiki.gentoo.org/wiki/Snapcast has just been updated to
tell people to start the `snapserver` process via the relevant GUI
startup file. (A wiki contributor had actually said to start it
via a terminal, e.g. Konsole, which is even messier.) And after
installing media-sound/mpd-mpris from GURU, i found that didn't
provide a user service either.
This is all understandable given that:
(a) OpenRC user services are still relatively new;
(b) they're unlikely to be provided by upstream; and
(c) creating OpenRC services will require extra work from package
maintainers.
But has there been any general communication along the lines of
"Hey, consider creating OpenRC user services"?
If nothing else, lack of OpenRC user services can add significant
complications to wiki pages, which end up needing to describe
workarounds, ranging from 'basically okay' to 'questionable at
best'. In the context of systemd, we can usually talk about simple
calls to `systemd --user`, but in the absence of OpenRC user
services being available for a particular package, such simplicity
is not necessarily possible.
As an example, take
https://wiki.gentoo.org/wiki/PipeWire#gentoo-pipewire-launcher and
the two following sections ("GUI environments", "Restarting
PipeWire and WirePlumber"). Ris, immolo and myself all agree that
the "PipeWire" page is too complex as it stands, and having to
describe how to set things up in the absence of OpenRC services
has contributed to that. With the availability of OpenRC user
services for PipeWire and WirePlumber, i'm thinking the three
sections i mentioned could be broken out to a separate page for
those who aren't using systemd/OpenRC user services, and instead
be replaced by straightforward descriptions of enabling and
starting those services. (We've also discussed things like
breaking other content out to separate pages, such as
"Troubleshooting" sections, and i'm planning to work on that as
well.)
Thoughts?
Alexis.