From 1d927e87ad5183c56e3b24e403c1a1c6e53795d7 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 14 Oct 2008 21:07:15 +0000 Subject: * added distro specific runlevel scripts * fixed bug #281 git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2300 95ad53e4-c205-0410-b2fa-d234c58c8868 --- os-plugins/plugins/x11vnc/files/x11vnc-init | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100755 os-plugins/plugins/x11vnc/files/x11vnc-init (limited to 'os-plugins/plugins/x11vnc/files/x11vnc-init') diff --git a/os-plugins/plugins/x11vnc/files/x11vnc-init b/os-plugins/plugins/x11vnc/files/x11vnc-init new file mode 100755 index 00000000..a074d8dc --- /dev/null +++ b/os-plugins/plugins/x11vnc/files/x11vnc-init @@ -0,0 +1,80 @@ +#!/bin/bash +# -------------------------------- +# /etc/init.d/x11vnc +# -------------------------------- + +if [ -f /etc/x11vnc/x11vnc.conf ] +then + . /etc/x11vnc/x11vnc.conf +fi + +# find xauthority file +find_xauth () { + FOUND=0 + RETRIES=4 + [ -z "$1" ] || RETRIES="$1" + + [ -e "/var/lib/kdm/" ] && + XAUTHFILE_KDM=`find /var/lib/kdm/ -iname "A\:0-*"` + [ -e "/var/lib/xdm/authdir/authfiles/" ] && + XAUTHFILE_XDM=`find /var/lib/xdm/authdir/authfiles/ -iname "A\:0-*"` + [ -e "/var/lib/gdm/" ] && + XAUTHFILE_GDM=`find /var/lib/gdm/ -iname *Xauth*` + + [ -f "$XAUTHFILE_KDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM" + [ -f "$XAUTHFILE_XDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_XDM" + [ -f "$XAUTHFILE_GDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_GDM" + + if [ "$FOUND" -eq "0" ]; then + if [ "$RETRIES" -gt "0" ]; then + let "RETRIES-=1" + find_xauth "$RETRIES" + else + echo "start FAILED (can't find way to authenticate myself against X)" >>/var/log/x11vnc.debug + exit -1 + fi + else + echo "found authfile ($XAUTHORITY)" >>/var/log/x11vnc.debug + fi +} + +START_COMMAND="x11vnc" + +case "$1" in + start) + + if [ ! -f /etc/x11vnc/passwd ]; then + echo " start FAILED (/etc/x11vnc/passwd not found)" >>/var/log/x11vnc.debug + echo " Create it manualy and retry starting x11vnc" >>/var/log/x11vnc.debug + exit -1; + fi + + #su -c "$COMMAND" -l x11vnc & + if [ $X11VNC_X11 = 1 ]; then + find_xauth + START_COMMAND="$START_COMMAND -auth $XAUTHORITY $X11VNC_PARAMS" + else + START_COMMAND="$START_COMMAND $X11VNC_PARAMS" + fi + OUTPUT=`$START_COMMAND` + echo "$START_COMMAND" >>/var/log/x11vnc.debug + echo "$OUTPUT" >>/var/log/x11vnc.debug + ;; + stop) + pid=`pidof x11vnc` + if [ -z "$pid" ] + then + echo "x11vnc not running" >>/var/log/x11vnc.debug + exit -1; + else + kill -9 $pid + echo "x11vnc stopped" >>/var/log/x11vnc.debug + fi + + ;; + *) + echo "x11vnc startscript" + echo "Usage: $0 (start|stop)" + ;; +esac +exit 0 -- cgit v1.2.3-55-g7522