1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #!/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
|