home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / etc / init.d / pulseaudio < prev    next >
Encoding:
Text File  |  2009-04-08  |  2.1 KB  |  83 lines

  1. #!/bin/sh -e
  2. ### BEGIN INIT INFO
  3. # Provides:          pulseaudio esound
  4. # Required-Start:    $remote_fs $syslog hal
  5. # Required-Stop:     $remote_fs $syslog hal
  6. # Should-Start:      hal
  7. # Should-Stop:       hal
  8. # Default-Start:     2 3 4 5
  9. # Default-Stop:      1
  10. # Short-Description: Start the PulseAudio sound server
  11. # Description:       System mode startup script for
  12. #                    the PulseAudio sound server.
  13. ### END INIT INFO
  14.  
  15. DAEMON=/usr/bin/pulseaudio
  16. PIDDIR=/var/run/pulse
  17. PIDFILE=$PIDDIR/pid 
  18. DAEMONUSER=pulse
  19. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  20.  
  21. test -x $DAEMON || exit 0
  22.  
  23. . /lib/lsb/init-functions
  24.  
  25. PULSEAUDIO_SYSTEM_START=0
  26. DISALLOW_MODULE_LOADING=1
  27. test -f /etc/default/pulseaudio && . /etc/default/pulseaudio
  28. if [ "$PULSEAUDIO_SYSTEM_START" != "1" ]; then
  29.     log_warning_msg "PulseAudio configured for per-user sessions"
  30.     exit 0
  31. fi
  32.  
  33. pulseaudio_start () {
  34.     log_daemon_msg "Starting system PulseAudio Daemon"
  35.     if [ ! -d $PIDDIR ]; then
  36.         mkdir -p $PIDDIR
  37.         chown $DAEMONUSER:$DAEMONUSER $PIDDIR
  38.     fi
  39.     start-stop-daemon -x $DAEMON -p $PIDFILE --start -- --system --daemonize --high-priority --log-target=syslog --disallow-module-loading=$DISALLOW_MODULE_LOADING
  40.     if [ -e /var/run/pulse/.esd_auth ]; then
  41.         chown pulse:pulse-access /var/run/pulse/.esd_auth
  42.         chmod 640 /var/run/pulse/.esd_auth
  43.     fi
  44.     if [ -e /var/run/pulse/.pulse-cookie ]; then
  45.         chown pulse:pulse-access /var/run/pulse/.pulse-cookie
  46.         chmod 640 /var/run/pulse/.pulse-cookie
  47.     fi
  48.     log_end_msg $?
  49. }
  50.  
  51. pulseaudio_stop () {
  52.     log_daemon_msg "Stopping system PulseAudio Daemon"
  53.     start-stop-daemon -p $PIDFILE --stop --retry 5 || echo -n "...which is not running"
  54.     log_end_msg $?
  55. }
  56.  
  57. case "$1" in
  58.     start|stop)
  59.         pulseaudio_${1}
  60.         ;;
  61.     restart|reload|force-reload)
  62.         if [ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
  63.             pulseaudio_stop
  64.             pulseaudio_start
  65.         fi
  66.         ;;
  67.     force-stop)
  68.         pulseaudio_stop
  69.         killall pulseaudio || true
  70.         sleep 2
  71.         killall -9 pulseaudio || true
  72.         ;;
  73.     status)
  74.         status_of_proc -p $PIDFILE "$DAEMON" "system-wide PulseAudio" && exit 0 || exit $?
  75.         ;;
  76.     *)
  77.         echo "Usage: /etc/init.d/pulseaudio {start|stop|force-stop|restart|reload|force-reload|status}"
  78.         exit 1
  79.         ;;
  80. esac
  81.  
  82. exit 0
  83.