summaryrefslogtreecommitdiff
blob: 5be78fd7b7d2e58cf6fdbdf2e4c8f3ff791fb03b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
--- 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/X11R6/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/X11R6/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/X11R6/bin/xauth nmerge - ;"
       sux_i=0
     fi
   done
@@ -316,12 +316,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 +334,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;"