[LAU] Using udev to launch JACK as specific user?

Mario Lang mlang at delysid.org
Sat Jan 11 19:55:43 CET 2020


After 2 hours of "edit, reboot, fail" I am giving up and ask here.
I feel like what I want should be relatively simple, but it isn't.

I'd like to launch JACK via Systemd whenever a certain
card is present.  I have a udev rule in /etc/udev/rules.d/10-8A.rules
that looks like this:

ACTION=="add", SUBSYSTEMS=="sound", ATTRS{id}=="D8A", TAG+="systemd",

This works, I get a /dev/MOTU-8A symlink.  The idea was to declare


in my systemd user service for JACK.  However, contrary to
what the web seems to document, the symlinked device does not
show up in systemctl.  So apparently, I can't depend on it either.

I am guessing anyone here must have a similar setup.
In its purest form, I am looking for a way to launch
a systemd user service once a certain ALSA hw device is available.

I see references to ENV{SYSTEMD_USER_WANTS}="jack.service", however,
I totally fail how this should work.  Udev has no idea which user
should launch this service.

Any hints to untangle this sort of messy situation?


More information about the Linux-audio-user mailing list