This work is marked CC0 1.0.
Hopefully you’ve found this page after installing Mullvad VPN and realizing that it doesn’t work (by default) without systemd. There is, however, a work around for this problem.
Fist, you will want to create a new file named mullvad in /etc/init.d/ (e.g., sudo nano /etc/init.d/mullvad). Paste the following content into the file and save it:
#!/bin/sh
# Generated by sysd2v v0.3 -- http://www.trek.eu.org/devel/sysd2v
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides: mullvad-daemon.service
# Required-Start: $syslog $local_fs $remote_fs
# Required-Stop: $remote_fs
# Should-Start: $network NetworkManager
# Should-Stop: $network NetworkManager
# chkconfig: 35 90 10
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Mullvad VPN daemon
### END INIT INFO
DESC="mullvad-daemon"
DAEMON=/usr/bin/mullvad-daemon
DAEMON_ARGS="-v --disable-stdout-timestamps"
PIDFILE=/var/run/mullvad-daemon.service-sysd2v.pid
START_ARGS="--background --make-pidfile"
Next, you will want to give mullvad the executable permission:
sudo chmod +x /etc/init.d/mullvad
Finally, update rc.d:
sudo update-rc.d mullvad defaults
You will need to perform a system restart, but that’s all there is to it. Mullvad should work just fine now. If you continue to get errors from apt concerning mullvad-vpn, then you may want to modify mullvad-vpn.postinst (e.g., sudo nano /var/lib/dpkg/info/mullvad-vpn.postinst). You can comment out the lines calling for systemctl.