sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #04775
Re: su i xwindow, hvordan?
Brian Christensen wrote:
> På min RH 5.2 starter jeg op i xwindow (med xdm). For det meste logger
> jeg ind med min brugerkonto (altså _ikke_ root) og så bruger 'su' når
> der er brug for det.
> Men det gir' lidt problemer med bla. emacs. Jeg får flg. besked når jeg
> prøver at starte emacs fra xterm: "emacs: Cannot connect to X server
> :0.0.". Jeg mangler vist at sætte en variabel eller to - jeg mener at
> ha' set det en gang.
>
> Bruger jeg i stedet 'su -' startes consolversionen af emacs!
Når du logger ind med "su" er DISPLAY variablen ikke sat.
prøv "echo $DISPLAY"
Den skal fortælle hvilken X-server som X-programmer skal skrive til.
Hvis du kun har en X-servere kørende på din skærm (det normale) :
export DISPLAY=:.0.0 # X server på denne maskine
export DISPLAY=tux.hjemme:0.0 # X server på maskinen tux.hjemme
Evt. kan du sætte følgende i din /etc/profile :
(desværre anvender RH5.2 hvis ikke "xterm" så tilret evt. til
de i RH52 anvendte xterm typer, men ofte er det af formen
xterm, xterm-debian,.... så følgende skulle virke på alt
i TERM der starter med "xterm" :
if [ "${TERM:0:5}" != "xterm" ] ; then
if [ "$DISPLAY" = "" ] ; then
DISPLAY=":0.0"
fi
fi
export DISPLAY
Har du et lokalt hjemmet net, og laver en rlogin/telnet til en anden
maskine, og vil gerne afvikle x-programmer som visses på din egen
maskine (der f.eks. hedder tux.hjemme :) , så kan du på den maskine
du laver rlogin/telnet til, tilføje følgende i /etc/profile :
(erstatter ovenfor viste eksempel)
if [ "${TERM:0:5}" != "xterm" ] ; then
tt = `tty`; tt = ${tt/\/dev\//}
tt=`who | fgrep $tt`
tt=${tt/*(/}
DISPLAY=${tt/)*/}
if [ ! "$DISPLAY" = ":0.0" ] ; then
DISPLAY=$DISPLAY:0.0 # der vælges :0.0 som standard
fi
# lidt debug/test:
echo " --- XTERM=$XTERM --- DISPLAY=$DISPLAY"
fi
export DISPLAY
--
mvh Frank Damgaard frda@xxxxxxxxxxxxx | frank@xxxxxxxx |fido 2:236/15.2
Follow ups
References