mirror of
https://github.com/mumble-voip/mumble.git
synced 2025-10-26 11:19:16 +00:00
As things are now, 'systemctl start murmur' hangs and eventually times out. The problem is that in the unit file, both Type=forking and PIDFile=/run/murmur/murmur.pid are specified. In this scenario systemd will wait for the PID file to appear. However, it will never appear there, as murmur does setuid on its own before writing the pid file, and thus lacks the rights to write to /run, and even if it had the rights, it doesn't try to create a missing directory anyway. Switch to Type=exec and foreground mode to fix this. systemd services don't really need forking behaviour anyway, and in fact handling forking servers requires some extra hoops to jump through on the systemd side. This change also makes murmur (when run with murmur.service) to log to the systemd journal instead of log files. Although the unit file has been broken for a long time, Debian-based distros still use the /etc/init.d/mumble-server wrapped with systemd-sysv-generator, and haven't noticed the problem.
16 lines
252 B
Desktop File
16 lines
252 B
Desktop File
[Unit]
|
|
Description=Mumble Daemon
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=exec
|
|
ExecStart=/usr/bin/murmurd -fg -ini /etc/murmur.ini
|
|
Restart=always
|
|
PrivateDevices=true
|
|
PrivateTmp=true
|
|
ProtectSystem=full
|
|
ProtectHome=true
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|