#!/bin/sh # # Xvfb Xvfb headless X server # # chkconfig: 345 94 6 # # description: Xvfb long service description # # processname: Xvfb # config: /etc/X11/xorg.conf # pidfile: /var/run/Xvfb.pid # # Source function library . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down "Xvfb" exit 1 fi else exit 0 fi NOLISTEN="tcp" DISPLAY_NUMBER=":20" OPTIONS="" # Get service config - may override defaults [ -f /etc/sysconfig/Xvfb ] && . /etc/sysconfig/Xvfb for I in "$NOLISTEN"; do OPTIONS=$OPTIONS" -nolisten $I" done start() { # Check if the service is already running? if [ -f /var/lock/subsys/Xvfb ]; then msg_already_running "Xvfb" return fi msg_starting "Xvfb" daemon --makepid --fork --pidfile /var/run/Xvfb.pid /usr/bin/Xvfb $OPTIONS $DISPLAY_NUMBER RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/Xvfb } stop() { if [ ! -f /var/lock/subsys/Xvfb ]; then msg_not_running "Xvfb" return fi # Stop daemons. msg_stopping "Xvfb" killproc --pidfile /var/run/Xvfb.pid Xvfb -TERM rm -f /var/lock/subsys/Xvfb } condrestart() { if [ ! -f /var/lock/subsys/Xvfb ]; then msg_not_running "Xvfb" RETVAL=$1 return fi stop start } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; try-restart) condrestart 0 ;; force-reload) condrestart 7 ;; status) status Xvfb RETVAL=$? ;; *) msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" exit 3 esac exit $RETVAL