Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#37800 - [mpd] Can't autostart mpd with systemd --user

Attached to Project: Arch Linux
Opened by oleg burchakov (archetype) - Sunday, 17 November 2013, 10:52 GMT
Last edited by Gaetan Bisson (vesath) - Sunday, 17 November 2013, 18:29 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Gaetan Bisson (vesath)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Steps to reproduce:
[archetype@creationcore ~]$ systemctl --user enable mpd
Failed to issue method call: No such file or directory

Description:
There are two mpd.service files in package mpd:
[archetype@creationcore ~]$ pacman -Ql mpd | grep service
mpd /usr/lib/systemd/system/mpd.service
mpd /usr/lib/systemd/user/mpd.service


mpd.service for user is just symlink on system:
[archetype@creationcore ~]$ ls -l /usr/lib/systemd/user/mpd.service
lrwxrwxrwx 1 root root 21 ноя 13 22:58 /usr/lib/systemd/user/mpd.service -> ../system/mpd.service

[archetype@creationcore ~]$ grep WantedBy /usr/lib/systemd/user/mpd.service
WantedBy=multi-user.target


As you can see, both system and user service needs multi-user.target. This will work for system, but won't for user because systemd hasn't multi-user target for user:
[archetype@creationcore ~]$ pacman -Ql systemd | grep multi-user.target
systemd /etc/systemd/system/multi-user.target.wants/
systemd /etc/systemd/system/multi-user.target.wants/remote-fs.target
systemd /usr/lib/systemd/system/multi-user.target
systemd /usr/lib/systemd/system/multi-user.target.wants/
systemd /usr/lib/systemd/system/multi-user.target.wants/getty.target
systemd /usr/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path
systemd /usr/lib/systemd/system/multi-user.target.wants/systemd-logind.service
systemd /usr/lib/systemd/system/multi-user.target.wants/systemd-user-sessions.service


When the user instance starts, it launches the default target, so I copy mpd.service to ~./config/systemd/user and replace WantedBy=multi-user.target with WantedBy=default.target:
[archetype@creationcore ~]$ systemctl --user enable mpd
ln -s '/home/archetype/.config/systemd/user/mpd.service' '/home/archetype/.config/systemd/user/default.target.wants/mpd.service'

So I think WantedBy=default.target should be in user/mpd.service (in mpd package)

Additional info:
mpd 0.18.4-1
This task depends upon

Closed by  Gaetan Bisson (vesath)
Sunday, 17 November 2013, 18:29 GMT
Reason for closing:  Fixed
Additional comments about closing:  mpd-0.18.4-2 in [extra]

Loading...