Inciar programas com o usuário
Muitas da vezes precisamos que um programa que gostamos inicie com o nosso usuário, más só com o nosso usuário. Como fazer?
Vamos usar o exemplo do MPD.
e por isso vamos escrever nosso serviço em ~/.config/systemd/user/default.target.wants/mpd.service:
[Unit]
Description=Music Player Daemon
Documentation=man:mpd(1) man:mpd.conf(5)
After=network.target sound.target
[Service]
Type=notify
ExecStart=/usr/bin/mpd --no-daemon ~/.config/mpd/config
# allow MPD to use real-time priority 50
LimitRTPRIO=50
LimitRTTIME=infinity
# disallow writing to /usr, /bin, /sbin, ...
ProtectSystem=yes
# more paranoid security settings
NoNewPrivileges=yes
ProtectKernelTunables=yes
ProtectControlGroups=yes
# AF_NETLINK is required by libsmbclient, or it will exit() .. *sigh*
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX AF_NETLINK
RestrictNamespaces=yes
# Note that "ProtectKernelModules=yes" is missing in the user unit
# because systemd 232 is unable to reduce its own capabilities
# ("Failed at step CAPABILITIES spawning /usr/bin/mpd: Operation not
# permitted")
[Install]
WantedBy=default.target$loginctl enable-linger {seu_user}
$systemctl --user daemon-reload
$systemctl --user enable --now mpd
Fonte: https://wiki.archlinux.org/Systemd/User