# Köra program som root i X

## alu

Tja,

jag undrar ifall man kan göra program som root under en 'normal' användares x-server?

Har hört att man kan exportera nån variabel eller nått sådant för att få programet att fatta vilken display den ska köra på.

Nån som vet? Är väldigt störande t.ex när man ska ändra något via nått GUI.

MVH,

alu.

----------

## megadonkey

Variabeln du menar är nog xhost + men vad jag har hört/läst är det ingen vidare bra ide.

Kör du kde kan du använda dig av kdesu för att köra program som root.

Andra alternativ är:

```
x11-misc/sux 

     Available versions:  1.0-r2 ~1.0-r3

     Installed:           none

     Homepage:            http://fgouget.free.fr/sux/sux-readme.shtml

     Description:         "su" wrapper which transfers X credentials

```

```
* app-admin/xsu 

     Available versions:  0.2.3

     Installed:           none

     Homepage:            http://xsu.freax.eu.org/

     Description:         Interface for 'su - username -c command' in GNOME.

```

```
app-admin/xsu2 

     Available versions:  0.2.5

     Installed:           0.2.5

     Homepage:            http://xsu.freax.eu.org/

     Description:         Interface for 'su - username -c command' in GNOME2.
```

Eller oxå kan du testa det som diskuteras i de 2 sista posterna i  denna tråd och använda sudo.

----------

## creideiki

Egentligen är det där två frågor.

1: Programmet skall veta att det skall visa sina fönster på användarens X-server. Detta åstadkommer du genom att sätta miljövariabeln DISPLAY till samma värde för programmet du kör som root som för program du kör som vanlig användare. Kanske så här:

```
$ echo $DISPLAY

:0.0

$ su -

Password:

# export DISPLAY=':0.0'
```

2: Programmet skall kunna bevisa för X-servern att det har rätt att prata med den. Kör du xhost + så får alla prata med servern, vilket är en väldigt dålig idé. En bättre idé är att kopiera den magiska kakan som gör att alla den vanliga användarens program får prata med servern. Den ligger i filen ~<användare>/.Xauthority, vilken manipuleras med programmet xauth (x11-apps/xauth, följer med som beroende för x11-base/xorg-x11). I normala fall kan den filen bara läsas av användaren själv, men du är ju root nu och kan göra vad du vill. Så här, t.ex.:

```
# xauth merge ~<användare>/.Xauthority
```

Efter det har alla roots program rättigheter att prata med alla X-servrar som den vanliga användaren hade rätt att prata med.

----------

## catopett

 *alu wrote:*   

> Tja,
> 
> jag undrar ifall man kan göra program som root under en 'normal' användares x-server?
> 
> Har hört att man kan exportera nån variabel eller nått sådant för att få programet att fatta vilken display den ska köra på.
> ...

 

Det er egentlig veldig enkelt og logge på som root, du åpner ett shell (terminal) og ved kommandolinjen, skriver du følgende:

passwd root

Da får du opp en ny kommandolinje, mulig det blir spurt etter gammelt passord, der skriver du det nye passordet ditt og trykker enter, 

dette gjentar seg en gang til for og bekrefte nytt passord, 

og du er ferdig med denne delen.

Deretter skriver du SU, mulig det blir spurt etter passordet.

For ikke og gå tilbake til orginaloppsettet, må du ha terminalen oppe hele tiden i bakgrunnen.

----------

