--- a/sux +++ b/sux @@ -29,7 +29,6 @@ # are on NFS. In such a case, change the default to copy-cookies. sux_root_cookie_transfer="c" - usage() { echo "usage: `basename $0` [-m|-p|--preserve-environment]" >&2 @@ -230,10 +229,10 @@ # Remove the old cookies. They may cause trouble if we transfer only one # cookie, e.g. an MIT cookie, and there's still a stale XDM cookie hanging # around. - export TERM="xauth -q remove $DISPLAY 2>/dev/null;" + export TERM="/usr/bin/xauth -q remove $DISPLAY 2>/dev/null;" if [ -n "$sux_unix_display" ] then - TERM="$TERM xauth -q remove $sux_unix_display;" + TERM="$TERM /usr/bin/xauth -q remove $sux_unix_display;" fi # Note that there may be more than one cookie to transfer, hence @@ -250,7 +249,7 @@ sux_i=`expr $sux_i + 1` if [ $sux_i -eq 9 ] then - TERM="$TERM | xauth nmerge - ;" + TERM="$TERM | /usr/bin/xauth nmerge - ;" sux_i=0 fi done @@ -316,12 +315,12 @@ # wouldn't have the proper access rights anyway... unset XAUTHORITY +sux_home=`egrep "^$sux_username:" /etc/passwd | cut -d: -f6` ## # --preserve-environment special case if [ -n "$sux_preserve" -a -n "$sux_xauth_cmd" ] then - sux_home=`egrep "^$sux_username:" /etc/passwd | cut -d: -f6` if [ -z "$sux_home" ] then echo "WARNING: --preserve-environment has been set, but no good value was found for XAUTHORITY, expect trouble" >&2 @@ -334,4 +333,4 @@ ## # Execute su exec su $sux_su_opts -c "$sux_xauth_cmd \ - exec env $sux_xauthority $sux_term DISPLAY='$DISPLAY' $sux_cmd;" + exec env $sux_xauthority $sux_term HOME='$sux_home' DISPLAY='$DISPLAY' $sux_cmd;"