Skip to content

Instantly share code, notes, and snippets.

@nirvdrum
Created February 24, 2011 14:28
Show Gist options
  • Save nirvdrum/842216 to your computer and use it in GitHub Desktop.
Save nirvdrum/842216 to your computer and use it in GitHub Desktop.
<%-
@path = '/etc/init.d/xvfb'
@perms = 0755
@post = 'update-rc.d xvfb defaults && /etc/init.d/xvfb restart'
args = rubber_env.xvfb_display_number.to_s
rubber_env.xvfb_screen_count.to_i.times do |i|
args << " -screen #{i} 1024x768x24"
end
args << " -ac"
%>
#!/bin/bash
### BEGIN INIT INFO
# Provides: xvfb
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start X virtual framebuffer.
### END INIT INFO
set -e
DAEMON="/usr/bin/Xvfb"
ARGS=":<%= args %>"
NAME="xvfb"
DESC="X virtual framebuffer"
case "$1" in
start)
echo -n "Starting $DESC: "
echo -n "$NAME"
start-stop-daemon --start --background --quiet --make-pidfile --pidfile /var/run/$NAME.pid \
--exec $DAEMON > /dev/null 2>&1 -- $ARGS
echo "."
;;
stop)
echo -n "Stopping $DESC: "
echo -n "$NAME"
start-stop-daemon --retry 5 --oknodo --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON > /dev/null 2>&1
echo "."
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|syntax}" >&2
exit 1
;;
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment