#!/bin/sh PIDOF="/sbin/pidof" GNOMESESSION="/usr/bin/gnome-session" GNOMESESSIONSAVE="/usr/bin/gnome-session-save" GNOMESESSIONSAVEARGS="--kill" XMESSAGE=/usr/bin/X11/xmessage POWEROFF="/sbin/poweroff" XF86SERVER="/usr/bin/X11/X" XF86XAUTHORITY="/var/gdm/:0.Xauth" PS="/bin/ps" PSUSERFIELD="1" CAT="/bin/cat" GREP="/bin/grep" CUT="/bin/cut" PASSWDFILE="/etc/passwd" PASSWDFILEHOMEDIRFIELD="6" GFXOK="no" GNOMEOK="no" if ( $PIDOF $XF86SERVER >/dev/null 2>&1 ) then export DISPLAY=":0" if [ -f $XF86XAUTHORITY ]; then export XAUTHORITY=$XF86XAUTHORITY fi PIDOFGNOMESESSION="`$PIDOF $GNOMESESSION`" if [ $PIDOFGNOMESESSION != "" ]; then if [ -f $PASSWDFILE ]; then export SESSION_MANAGER="local/`hostname`:/tmp/.ICE-unix/$PIDOFGNOMESESSION" USER="`$PS hu $PIDOFGNOMESESSION | $CUT -d' ' -f$PSUSERFIELD`" export HOME="`$CAT $PASSWDFILE | $GREP ^$USER: | $CUT -d':' -f$PASSWDFILEHOMEDIRFIELD`" GNOMEOK="yes" fi fi GFXOK="yes" fi if [ $GFXOK = "yes" ]; then if [ $GNOMEOK = "yes" ]; then exec $GNOMESESSIONSAVE $GNOMESESSIONSAVEARGS else $XMESSAGE -timeout 15 -center -buttons Cancel:0,Poweroff:2\ -default Cancel "Poweroff the computer?" >/dev/null 2>&1 if [ $? -eq 2 ]; then exec $POWEROFF fi fi else exec $POWEROFF fi #--