Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > by-pkgid > a804ef007a99f7d26cf24253c2994680 > files > 2351

howto-html-ja-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE> Remote X Apps mini-HOWTO : $BJL$N%f!<%6(B ID $B$+$i$N(B X $B%"%W%j%1!<%7%g%s(B</TITLE>
 <LINK HREF="Remote-X-Apps-8.html" REL=next>
 <LINK HREF="Remote-X-Apps-6.html" REL=previous>
 <LINK HREF="Remote-X-Apps.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="Remote-X-Apps-8.html">$B<!$N%Z!<%8(B</A>
<A HREF="Remote-X-Apps-6.html">$BA0$N%Z!<%8(B</A>
<A HREF="Remote-X-Apps.html#toc7">$BL\<!$X(B</A>
<HR>
<H2><A NAME="s7">7. $BJL$N%f!<%6(B ID $B$+$i$N(B X $B%"%W%j%1!<%7%g%s(B</A></H2>

<P>root $BFC8"$NI,MW$J!"%0%i%U%#%+%k$J@_Dj%D!<%k$r<B9T$7$?$$$H$7$^$7$g$&!#$7$+$7!"(B
X $B%;%C%7%g%s$OIaDL$N%"%+%&%s%H$G<B9T$7$F$$$^$9!#;O$a$O4qL/$K;W$&$+$b(B
$B$7$l$^$;$s$,!"(BX $B%5!<%P$O%D!<%k$,%G%#%9%W%l%$$K%"%/%;%9$9$k$3$H$r5v$7$^$;$s!#(B
root $B$GIaDL$K2?$+$7$?$$;~$K!"$I$&$9$l$P2DG=$G$9$+!)(B
$B$=$7$F$I$&$9$l$P$3$NLdBj$r2sHr$G$-$^$9$+!)(B
<P>
<P>$B%f!<%6(B ID <CODE>clientuser</CODE> $B$G(B X $B%"%W%j%1!<%7%g%s$r5/F0$7$?$$$,(B X $B%;%C%7%g%s$O(B
<CODE>serveruser</CODE> $B$G5/F0$5$l$F$$$k$H$$$&!"0lHLE*$J>u67$K$7$^$7$g$&!#%/%C%-!<$N(B
$B%;%/%7%g%s$rFI$s$G$$$l$P!"$J$<(B <CODE>clientuser</CODE> $B$,%G%#%9%W%l%$$K(B
$B%"%/%;%9$G$-$J$$$N$+J,$+$k$O$:$G$9!#(B
<BLOCKQUOTE>
<CODE>~clientuser/.Xauthority</CODE> $B$O%G%#%9%W%l%$$K%"%/%;%9$9$k$?$a$N(B
$B@5$7$$%^%8%C%/%/%C%-!<$r4^$s$G$$$^$;$s!#@5$7$$%/%C%-!<$O(B
<CODE>~serveruser/.Xauthority</CODE> $B$K$"$j$^$9!#(B
</BLOCKQUOTE>
<P>
<H2><A NAME="ss7.1">7.1 $BF10l%[%9%H>e$N0[$J$k%f!<%6(B</A>
</H2>

<P>$B$b$A$m$s!"%j%b!<%H(B X $B$GF0:n$9$k$b$N$O!"0[$J$k%f!<%6(B ID $B$N(B X $B$G$bF1$8$h$&$K(B
$BF0:n$7$^$9(B ($BC<E*$K$O(B <CODE>slogin localhost -l clientuser</CODE>)$B!#(B
$B%/%i%$%"%s%H%[%9%H$H%5!<%P%[%9%H$,$?$^$?$^F1$8$@$H$$$&$@$1$G$9!#$7$+$7!"(B
$BN>J}$N%[%9%H$,F1$8;~!"%^%8%C%/%/%C%-!<$NE>Aw$K$O6aF;$,$"$j$^$9!#(B
<P>
<P>$B%f!<%6(B ID $B$N@Z$jBX$($K(B <CODE>su</CODE> $B$r;H$&$H2>Dj$7$^$9!#(B
$B4pK\E*$K!"9T$o$J$1$l$P$J$i$J$$$3$H$O!"(B<CODE>su</CODE> $B$r8F$V%9%/%j%W%H$r=q$-!"(B
$B$=$3$G(B <CODE>su</CODE> $B$N9T$&%3%^%s%I$r!"%j%b!<%H(B X $B$KI,MW$J=hM}$r9T$&(B
$BE,@Z$J%3!<%I$G%i%C%W$9$k$3$H$G$9!#(B
$BI,MW$J=hM}$H$O(B
<CODE>DISPLAY</CODE> $BJQ?t$N@_Dj$H%^%8%C%/%/%C%-!<$NE>Aw$G$9!#(B
<P>
<P><CODE>DISPLAY</CODE> $B$N@_Dj$OHf3SE*4JC1$G$9!=!=(Bsu $B%3%^%s%I$r<B9T$9$kA0$K!"(B
$B$=$N0z?t$H$7$F(B <CODE>DISPLAY="$DISPLAY"</CODE> $B$rDj5A$9$k$@$1$G$9!#(B
$B0J2<$N$h$&$K$7$^$9!#(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
su - clientuser -c "env DISPLAY=$DISPLAY clientprogram &amp;"
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>$B$3$l$@$1$G$OF0:n$7$^$;$s!#$5$i$K%/%C%-!<$NE>Aw$r9T$&I,MW$,$"$j$^$9!#(B
$B%/%C%-!<$N<hF@$O(B <CODE>xauth list "$DISPLAY"</CODE> $B$r;H$($P2DG=$G$9!#(B
$B$3$N%3%^%s%I$,%/%C%-!<$N%j%9%H$KMQ$$$k=q<0$O!"$?$^$?$^(B
<CODE>xauth add</CODE> $B%3%^%s%I$KM?$($k:]$N=q<0$K9gCW$7$F$$$^$9(B
$B!=!=$A$g$&$II,MW$H$7$F$$$?$b$N$G$9!#(B
<P>$BEvA3%Q%$%W$G%/%C%-!<$rEO$7$?$$$H$3$m$G$9!#;DG0$J$,$i!"(B<CODE>su</CODE> $B$O(B
$B$=$NI8=`F~NO$+$i%Q%9%o!<%I$rFI$b$&$H$9$k$N$G!"(B<CODE>su</CODE> $B%3%^%s%I$K%Q%$%W$GEO$9(B
$B$3$H$O4JC1$G$O$"$j$^$;$s!#$3$3$G$bET9g$N$$$$$3$H$K$O!"(B
$B%7%'%k%9%/%j%W%H$NFbIt$G$O(B
$B%U%!%$%k5-=R;R$r$$$8$j2s$9$3$H$,$G$-$^$9$N$G!"$3$l$,2DG=$K$J$j$^$9!#(B
<P><CODE>clientuser</CODE> $B$H(B <CODE>clientprogram</CODE> $B$r%Q%i%a!<%?2=$7HFMQ2=$7$?%9%/%j%W%H$r(B
$B=q$-$^$9!#FI$_$d$9$5$O>/$75>@7$K$7$F4h6/$K$J$k$h$&$K!"%9%/%j%W%H$r2~A1(B
$B$7$^$7$g$&!#0J2<$N$h$&$K$J$j$^$9!#(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/sh

if [ $# -lt 2 ]
then echo "usage: `basename $0` clientuser command" >&amp;2
     exit 2
fi

CLIENTUSER="$1"
shift

# FD 4 becomes stdin too
exec 4>&amp;0

xauth list "$DISPLAY" | sed -e 's/^/add /' | {

    # FD 3 becomes xauth output
    # FD 0 becomes stdin again
    # FD 4 is closed
    exec 3>&amp;0 0>&amp;4 4>&amp;-

    exec su - "$CLIENTUSER" -c \
         "xauth -q &lt;&amp;3
          exec env DISPLAY='$DISPLAY' "'"$SHELL"'" -c '$*' 3>&amp;-"

}
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$[$H$s$I$N>u67$G!"0\?"@-$HF0:n$K==J,$@$H9M$($^$9!#(B
$B8=:_Cx<T$,9M$($&$k7gE@$O!"(B<CODE>'$*'</CODE> $B$r;H$C$F$$$k$?$a!"(B
<CODE>command</CODE> $BFbIt$G%7%s%0%k%/%)!<%H$rMQ$$$k$H(B
<CODE>su</CODE> $B%3%^%s%I$N0z?t(B (<CODE>'$*'</CODE>) $B$,2u$l$F$7$^$&$3$H$G$9!#(B
$B$b$7B>$K$b$J$K$+?<9o$J4V0c$$$,$"$C$?$i!"Cx<T$K(B email $B$r=q$-Aw$C$F(B
$B$/$@$5$$!#(B
<P>
<P>$B%9%/%j%W%H$r(B <CODE>/usr/local/bin/xsu</CODE> $B$H$9$l$P(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
xsu clientuser 'command &amp;'
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$H$G$-$^$9!#(B
<P>
<P>$B%Q%9%o!<%I$r;H$&8B$j!"$3$l0J>e$=$&4JC1$K$O$G$-$^$;$s!#(B
$B$($(!"(B(<CODE>sudo</CODE>) $B$r;H$&J}K!$b$"$j$^$9$M!#$G$b$3$3$G$O07$$$^$;$s!#(B
<P>
<H2><A NAME="ss7.2">7.2 $B%/%i%$%"%s%H%f!<%6$,(B root</A>
</H2>

<P>$BEvA3!"(Broot $B$G$O$J$$%/%i%$%"%s%H%f!<%6$,(B root $B$GF0:n$9$k$3$H$bF1MM$K$G$-$^$9!#(B
$B$7$+$7!"(Broot $B$O$9$Y$F$N?M$N(B <CODE>~/.Xauthority</CODE> $B%U%!%$%k$rFI$`$3$H$,(B
$B$G$-$k$N$G!"(Broot $B$N>l9g$O$h$j4JC1$G$9!#%/%C%-!<$rAw$kI,MW$,$"$j$^$;$s!#(B
<CODE>DISPLAY</CODE> $B4D6-JQ?t$r@_Dj$7!"(B<CODE>XAUTHORITY</CODE> $B$,(B
<CODE>~serveruser/.Xauthority</CODE> $B$r8+$k$h$&$K@_Dj$9$k$@$1$G$9!#$D$^$j(B:
<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
su - -c "exec env DISPLAY='$DISPLAY' \
                  XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}' \
                  command"
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>$B$3$l$r%9%/%j%W%HCf$K=q$/$H0J2<$N$h$&$K$J$k$G$7$g$&!#(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/sh
if [ $# -lt 1 ]
then echo "usage: `basename $0` command" >&amp;2
     exit 2
fi
su - -c "exec env DISPLAY='$DISPLAY' \
                  XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}' \
                  "'"$SHELL"'" -c '$*'"
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>$B%9%/%j%W%H$r(B <CODE>/usr/local/bin/xroot</CODE> $B$H$9$l$P(B
<P>
<BLOCKQUOTE><CODE>
<PRE>
xroot 'control-panel &amp;'
</PRE>
</CODE></BLOCKQUOTE>
<P>$B$H$G$-$^$9!#(B
<P>
<P>$B$G$b!"$b$7(B <CODE>xsu</CODE> $B$r$9$G$K@_Dj$7$F$"$l$P!"(B
$B$3$N$h$&$K$7$J$1$l$P$J$i$J$$M}M3$O$"$j$^$;$s!#(B
<P>
<HR>
<A HREF="Remote-X-Apps-8.html">$B<!$N%Z!<%8(B</A>
<A HREF="Remote-X-Apps-6.html">$BA0$N%Z!<%8(B</A>
<A HREF="Remote-X-Apps.html#toc7">$BL\<!$X(B</A>
</BODY>
</HTML>