Hey Mantas and others, On Thu, May 9, 2019 at 11:57 PM Mantas Mikulėnas <[email protected]> wrote:
> On Fri, May 10, 2019 at 5:22 AM Matt Zagrabelny <[email protected]> > wrote: > >> Greetings, >> >> I am attempting to get a user service running on my session login. >> >> The unit is called jack. I've enabled it via: >> >> $ systemctl --user enable jack >> >> When I boot up the system and log in I see that it is inactive. I can >> start it manually without issue: >> >> $ systemctl --user status jack >> ● jack.service - JACK 2 >> Loaded: loaded (/home/theophilus/.config/systemd/user/jack.service; >> enabled; vendor preset: enabled) >> Active: inactive (dead) >> >> $ journalctl --user -u jack -b >> -- Logs begin at Thu 2019-05-09 20:54:31 CDT, end at Thu 2019-05-09 >> 21:13:53 CDT. -- >> -- No entries -- >> >> $ systemctl --user cat jack >> # /home/theophilus/.config/systemd/user/jack.service >> [Unit] >> Description=JACK 2 >> Before=sound.target >> Before=pulseaudio.service >> Requires=dbus.socket >> >> [Service] >> Type=dbus >> BusName=org.jackaudio.Controller >> > > Among other things, the bus name seems to be incorrect. In jack2-dbus the > only claimed name appears to be "org.jackaudio.service". > > >> ExecStart=/usr/bin/jack_control start >> > > The jack_control program does not spawn nor directly execute the actual > jackd daemon. Instead it *remotely* activates org.jackaudio.service through > D-Bus (you'll see jackdbus under the dbus.service cgroup), then sends it a > single method call and exits. > > In other words, jack_control is not a Type=dbus service, it's a oneshot > script that controls another Type=dbus service. You can imagine that it's > just a wrapper around `dbus-send` or `gdbus call`, and is something you'd > instead use in JACK's *ExecStartPost=*. > > A direct conversion of jackdbus to a systemd service would look like this > – because of the way jackdbus is written, it always needs that extra > command to be sent over D-Bus (either by running `jack_control start` or by > using the manual tools): > > (~/.config/systemd/user/jack.service) > [Service] > Type=dbus > BusName=org.jackaudio.service > ExecStart=/usr/bin/jackdbus auto > #ExecStartPost=/usr/bin/jack_control start > #ExecStartPost=/usr/bin/gdbus call -e -d org.jackaudio.service -o > /org/jackaudio/Controller -m org.jackaudio.JackControl.StartServer > ExecStartPost=/usr/bin/busctl call --user org.jackaudio.service > /org/jackaudio/Controller org.jackaudio.JackControl StartServer > > I used this service file (thank you for providing it!), but it seems jack is still not starting when the user logs in to the session: $ systemctl --user status jack ● jack.service Loaded: loaded (/home/theophilus/.config/systemd/user/jack.service; enabled; vendor preset: enabled) Active: inactive (dead) $ ps -ef | grep jack theophi+ 1200 1183 0 09:30 pts/3 00:00:00 grep jack $ systemctl --user status jack ● jack.service Loaded: loaded (/home/theophilus/.config/systemd/user/jack.service; enabled; vendor preset: enabled) Active: inactive (dead) $ systemctl --user cat jack # /home/theophilus/.config/systemd/user/jack.service [Service] Type=dbus BusName=org.jackaudio.service ExecStart=/usr/bin/jackdbus auto #ExecStartPost=/usr/bin/jack_control start #ExecStartPost=/usr/bin/gdbus call -e -d org.jackaudio.service -o /org/jackaudio/Controller -m org.jackaudio.JackControl.StartServer ExecStartPost=/usr/bin/busctl call --user org.jackaudio.service /org/jackaudio/Controller org.jackaudio.JackControl StartServer $ systemctl --user is-enabled jack enabled $ systemctl --user is-active jack inactive $ systemctl --user | grep jack $ systemctl --user | grep bus at-spi-dbus-bus.service loaded active running Accessibility services bus dbus.service loaded active running D-Bus User Message Bus dbus.socket loaded active running D-Bus User Message Bus Socket If I start ardour (which makes use of jack) it (ardour) tells me jack is not running. I can start the jack service: $ systemctl --user start jack So... How can I figure out why it is not starting automatically? Thanks! -m
_______________________________________________ systemd-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/systemd-devel
