#!/bin/sh # Copyright (c) 1995-2002 SuSE Linux AG, Nuernberg, Germany. # All rights reserved. # # Author: # # /etc/init.d/gpm # # and it's symbolic link # # /usr/sbin/rcgpm # ### BEGIN INIT INFO # Provides: gpm # Required-Start: $remote_fs $syslog # Should-Start: # Required-Stop: $remote_fs $syslog # Should-Stop: # Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: Start gpm to allow mouse on console # Short-Description: Console mouse support ### END INIT INFO # Check for missing binaries (stale symlinks should not happen) GPM_BIN=/usr/sbin/gpm test -x $GPM_BIN || { echo "$GPM_BIN not installed"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } # Check for existence of needed config file and read it GPM_SYSCONFIG=/etc/sysconfig/mouse test -r $GPM_SYSCONFIG || { echo "$GPM_SYSCONFIG not existing"; echo "Run 'yast mouse' to set up gpm"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } . $GPM_SYSCONFIG # Check for existence of needed values from $GPM_SYSCONFIG test \( "$MOUSEDEVICE" -a "$MOUSETYPE" \) -o "$GPM_PARAM" || { echo "Neither the variables MOUSEDEVICE and MOUSETYPE nor the variable GPM_PARAM"; echo "is set in $GPM_SYSCONFIG"; echo "Run 'yast mouse' to set up gpm"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v ditto but be verbose in local rc status # rc_status -v -r ditto and clear the local rc status # rc_status -s display "skipped" and exit with status 3 # rc_status -u display "unused" and exit with status 3 # rc_failed set local and overall rc status to failed # rc_failed set local and overall rc status to # rc_reset clear local rc status (overall remains) # rc_exit exit appropriate to overall rc status # rc_active checks whether a service is activated by symlinks # rc_splash arg sets the boot splash screen to arg (if active) . /etc/rc.status # First reset status of this service rc_reset # Return values acc. to LSB for all commands but status: # 0 - success # 1 - generic or unspecified error # 2 - invalid or excess argument(s) # 3 - unimplemented feature (e.g. "reload") # 4 - user had insufficient privileges # 5 - program is not installed # 6 - program is not configured # 7 - program is not running # 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) # # Note that starting an already running service, stopping # or restarting a not-running service as well as the restart # with force-reload (in case signaling is not supported) are # considered a success. case "$1" in start) echo -n "Starting console mouse support (gpm)" if test "$GPM_PARAM" ; then startproc $GPM_BIN $GPM_PARAM else ADD_PARAMS="" if test "$GPM_REPEAT" ; then ADD_PARAMS="$ADD_PARAMS -R$GPM_REPEAT" fi startproc $GPM_BIN -m $MOUSEDEVICE -t $MOUSETYPE $ADD_PARAMS fi rc_status -v ;; stop) echo -n "Shutting down console mouse support (gpm)" killproc -TERM $GPM_BIN rc_status -v ;; try-restart) $0 status >/dev/null && $0 restart rc_status ;; restart) $0 stop $0 start rc_status ;; force-reload) echo -n "Reload console mouse support (gpm)" $0 stop && $0 start rc_status ;; reload) echo -n "Reload console mouse support (gpm)" rc_failed 3 rc_status -v ;; status) echo -n "Checking for console mouse support (gpm): " checkproc $GPM_BIN rc_status -v ;; probe) GPM_RESTART="False" for file in $GPM_SYSCONFIG /etc/gpm/* ; do test $file -nt /var/run/gpm.pid && GPM_RESTART="True" done test "$GPM_RESTART" = "True" && echo restart ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac rc_exit