# [chroot] ouvrir une session X en chroot

## -SputNick-

Salut,

suite à une discution sur le channel IRC #gentoofr, je décide de poser la question suivante:

est-ce possible et si oui comment de chrooter en graphique sur une partition "/" différente de la courante ?

Pour info, chez moi il s'agit de archlinux (très bonne distro binaire www.archlinuxfr.org )

Merci de vos lumières éventuelles ...

;E

Peut-etre quelque chose sur le principe du mode utilisateur (sous system dans /home par exemple) ?

http://www.gentoo.org/doc/fr/uml.xml

++

----------

## BuBuaBu

C'est possible : 

chroot sur la partition en console puis lancer X avec l'option pour lui indiquer la variable display a utiliser.

EDIT : 

un X :8 suffit

----------

## -SputNick-

Salut,

merci de ton attention.

Quand je fait X :8

 *Quote:*   

> [sputnick@stardust /]$ X :8
> 
> _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
> 
> _XSERVTransOpen: transport open failed for inet6/stardust:8
> ...

 

Pareil en root...Last edited by -SputNick- on Tue Jun 06, 2006 11:47 pm; edited 2 times in total

----------

## Enlight

```
mount -o bind /dev /rep/du/chroot/dev

```

sinon X c'est bien beau mais faut lancer un wm derrière, par exemple moi je fais :

```
X :1 &

DISPLAY=:1 e16 -f &
```

----------

## -SputNick-

Résumons:

mount -o bind /dev /mnt/aroot/dev

chroot /mnt/aroot /bin/bash

X :8 &

là X commence à se charger mais une erreur survient:

(EE) No devices detected.

Fatal server error:

no screens found

perso j'ai kde, je doit adapter ta commande comment ?

DISPLAY=:1 e16 -f &

DISPLAY=:8 kde -f &

?

je tape cette commande à quel moment ? avec un retour clavier entre les 2 dernieres commandes ça passe pas car bash cherche à interpreter "&&" ou ";"

----------

## idodesuke

euh jamais essayé tout ca mais dans un .xinitrc je met plutôt un startkde moi.

----------

## -SputNick-

wé wé, mon ~/.xinitrc contient startkde ou startxgl suivant mon humeur  :Wink: 

----------

## idodesuke

Bah alors un truc comme ca non?

X :1 &

DISPLAY=:1 startkde -f &

----------

## -SputNick-

tu te doute bien que j'ai essayé  :Smile: 

----------

## BuBuaBu

 *-SputNick- wrote:*   

> 
> 
> mount -o bind /dev /mnt/aroot/dev
> 
> chroot /mnt/aroot /bin/bash
> ...

 

Que donne le log de X ?

La config de X doit être viable sur le pc hôte évidement.

----------

## Enlight

 *BuBuaBu wrote:*   

> 
> 
> Que donne le log de X ?
> 
> La config de X doit être viable sur le pc hôte évidement.

 

Erf ça m'est même pas venu a l'esprit   :Confused:  cp /etc/X11/xorg.conf /machin/etc/X11/xorg.conf

----------

## BuBuaBu

Un autre truc, pour le log de X, le fichier se normera "Xorg.8.log" et non plus 0 (valeur par default).

----------

## -SputNick-

Enlight BuBuaBu:

Mon /var/log/Xorg.8.log:

http://pastebin.com/765158

Bien sur, archlinux est configuré avec un X valide.

( donc pas besoin de recopier mon xorg.conf (!?))

J'ai kde et xfce dessus.

Je peut tres bien me logger sous X en rebootant...

----------

## BuBuaBu

le driver nvidia avec xorg 7.1 ca me fait peur.

----------

## -SputNick-

Wé moi aussi ça me fait peur, mais sur #archlinuxfr le modo dit qu'il n'y a pas de bleme avec nvidia et xorg-7.1.

Ce qui fait aussi peur c'est "(EE) No devices detected."

edit 16h51:

mon xorg.conf sans commentaires de archlinux:

grep -v '^#' xorg-PBM > http://pastebin.com/765311

----------

## BuBuaBu

il faudrait peut etre monter /proc ?

----------

## -SputNick-

arf! wé:

donc:

```
mount -t proc none /mnt/aroot/proc

mount -o bind /dev /mnt/aroot/dev

chroot /mnt/aroot /bin/bash

X :8 &
```

jusque là ça va, X se lance mais reste bloqué sur un écran noir avec le X qui bouge avec la sourie.

je ne sait pas quoi faire de 

```
DISPLAY=:8 ??? -f &   
```

j'ai essayé de coller: 

```
X :8 &

DISPLAY=:8 startx -f &

```

 (j'ai essayé avec startx, startkde, kde)

en une seule fois mais je suis tjrs bloqué sur X...

Pour ce qui était des erreurs, j'avait fait un update du system via 

```
pacman -Syu
```

 équivalent à 

```
emerge --sync && emerge -u world
```

 qui avait effacé le module nvidia. J'ai réinstallé ce module.

----------

## Enlight

euh juste -f c'est le mode "fast launch" de e16

----------

## BuBuaBu

 *-SputNick- wrote:*   

> 
> 
> ```
> mount -t proc none /mnt/aroot/proc
> 
> ...

 

Le plus gros est fait.

Reste a lancer kde. que donne :

```
DISPLAY=:8 /usr/kde/3.5/bin/startkde &
```

----------

## -SputNick-

```
chroot[root@stardust /]# DISPLAY=:8 /usr/kde/3.5/bin/startkde &

[4] 8392

bash: /usr/kde/3.5/bin/startkde: No such file or directory
```

```
chroot[root@stardust /]# ls /usr/

ls: unrecognized prefix: su

ls: unparsable value for LS_COLORS environment variable

bin  include  lib  libexec  local  man  sbin  share  src  var
```

locate m'a donné ce chemin:

```
X :8 &

DISPLAY=:8 /opt/kde/bin/startkde &
```

----------

## BuBuaBu

a oué, après un chroot, il faut faire :

```
env-update

source /etc/profile
```

et pour startkde, il faut evidement adapté le path a ta config.

----------

## -SputNick-

pas de env-update en chroot sur archlinux... (command not found)

c'est spécifique à gentoo me semble t-il...

quand je lance

```
X :8 &

DISPLAY=:8 /opt/kde/bin/startkde &

 
```

 j'ai en console:

```
kpersonalizer: cannot connect to X server :8

AUDIT: Wed Jun  7 20:42:44 2006: 8608 X: client 1 rejected from local host

Xlib: connection to ":8.0" refused by server

Xlib: No protocol specified
```

----------

## Enlight

 *-SputNick- wrote:*   

> pas de env-update en chroot sur archlinux... (command not found)
> 
> c'est spécifique à gentoo me semble t-il...
> 
> quand je lance
> ...

 

c'est du mytho cette erreur en général ça marche quand même.

----------

## -SputNick-

qui a reussi la blague sous kde ?

----------

