83 lines
2.1 KiB
Bash
83 lines
2.1 KiB
Bash
#!/bin/sh -e
|
|
### BEGIN INIT INFO
|
|
# Provides: pulseaudio esound
|
|
# Required-Start: $remote_fs $syslog
|
|
# Required-Stop: $remote_fs $syslog
|
|
# Should-Start: avahi udev NetworkManager
|
|
# Should-Stop: avahi udev NetworkManager
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Start the PulseAudio sound server
|
|
# Description: System mode startup script for
|
|
# the PulseAudio sound server.
|
|
### END INIT INFO
|
|
|
|
DAEMON=/usr/bin/pulseaudio
|
|
PIDDIR=/var/run/pulse
|
|
PIDFILE=$PIDDIR/pid
|
|
DAEMONUSER=pulse
|
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
|
|
|
test -x $DAEMON || exit 0
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
PULSEAUDIO_SYSTEM_START=0
|
|
DISALLOW_MODULE_LOADING=1
|
|
test -f /etc/default/pulseaudio && . /etc/default/pulseaudio
|
|
if [ "$PULSEAUDIO_SYSTEM_START" != "1" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
pulseaudio_start () {
|
|
log_daemon_msg "Starting system PulseAudio Daemon"
|
|
if [ ! -d $PIDDIR ]; then
|
|
mkdir -p $PIDDIR
|
|
chown $DAEMONUSER:$DAEMONUSER $PIDDIR
|
|
fi
|
|
start-stop-daemon -x $DAEMON -p $PIDFILE --start -- --system --disallow-exit --disallow-module-loading=$DISALLOW_MODULE_LOADING --daemonize --log-target=syslog --high-priority
|
|
status=$?
|
|
if [ -e /var/run/pulse/.esd_auth ]; then
|
|
chown pulse:pulse-access /var/run/pulse/.esd_auth
|
|
chmod 640 /var/run/pulse/.esd_auth
|
|
fi
|
|
if [ -e /var/run/pulse/.pulse-cookie ]; then
|
|
chown pulse:pulse-access /var/run/pulse/.pulse-cookie
|
|
chmod 640 /var/run/pulse/.pulse-cookie
|
|
fi
|
|
log_end_msg ${status}
|
|
}
|
|
|
|
pulseaudio_stop () {
|
|
log_daemon_msg "Stopping system PulseAudio Daemon"
|
|
start-stop-daemon -p $PIDFILE --stop --retry 5 || echo -n "...which is not running"
|
|
log_end_msg $?
|
|
}
|
|
|
|
case "$1" in
|
|
start|stop)
|
|
pulseaudio_${1}
|
|
;;
|
|
restart|force-reload)
|
|
if [ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
|
|
pulseaudio_stop
|
|
pulseaudio_start
|
|
fi
|
|
;;
|
|
force-stop)
|
|
pulseaudio_stop
|
|
killall pulseaudio || true
|
|
sleep 2
|
|
killall -9 pulseaudio || true
|
|
;;
|
|
status)
|
|
status_of_proc -p $PIDFILE "$DAEMON" "system-wide PulseAudio" && exit 0 || exit $?
|
|
;;
|
|
*)
|
|
echo "Usage: /etc/init.d/pulseaudio {start|stop|force-stop|restart|force-reload|status}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|