web-dev-qa-db-fra.com

Fournir un Xserver à Chroot

La description:

J'utilise un livecd Lubuntu 13.10 X86-64 pour chroot dans un autre Lubuntu 13.10 X86-64 situé sur mon disque dur dans un dossier appelé chroot. Je n'ai eu aucun problème à utiliser le terminal pour chrooter, et je peux lancer des applications graphiques sur mon serveur actuel à partir du chroot après avoir utilisé "xhost +" sur le livecd, mais je dois fournir au chroot sa propre sortie X. J'ai googlé, cherché askubuntu, et tapé chaque commande sous le soleil et la lune, en vain. J'aimerais une solution, mais je serais même heureux de deviner si vous en avez une. J'ai sauvegardé le chroot pour pouvoir le restaurer s'il est endommagé. J'ai aussi essayé d'utiliser Xnest mais cela ne veut pas fonctionner non plus. Je voudrais exécuter l'environnement de bureau lxde dans le chroot, si possible en me connectant en tant qu'utilisateur spécifique.

Détails:

Vous trouverez ci-dessous les commandes que j'ai utilisées pour commencer le chroot.

Sudo mount --bind /dev /media/lubuntu/os/chroot/dev

Sudo mount --bind /proc /media/lubuntu/os/chroot/proc

Sudo mount --bind /sys /media/lubuntu/os/chroot/sys

Sudo cp /etc/resolv.conf /media/lubuntu/os/chroot/etc/resolv.conf

xhost +

Sudo chroot /media/lubuntu/os/chroot

J'aurais aussi tapé "export DISPLAY =: 0.0" dans le chroot, mais cela a fonctionné sans lui.

Résultats de test:

Test n ° 1:

La description:

Je reçois un écran noir sur toutes les sorties (control + alt + Fkeys) et je ne peux rien taper. Je suis obligé de tuer l'ordinateur à la main.

Détails:

En type de terminal chroot

export DISPLAY=localhost:1

En type de terminal chroot

startx -- :1

Test n ° 2:

La description:

Je reçois un écran noir pour F1, appuyer sur "control + alt + F7" me ramène à mon bureau normal. Je ne peux rien taper sur l'écran noir. Lorsque j'entre "gksu leafpad" dans le terminal chroot sur F7, un message d'erreur s'affiche: "Impossible d'ouvrir display localhost: 1". Lorsque je passe en F1, il affiche maintenant une invite de terminal pour le livecd, pas le chroot.

Détails:

En type de terminal chroot

export DISPLAY=localhost:1

En type de terminal livecd

Sudo startx -- :1

Test n ° 3: [Edité dans]

La description:

Je reçois une fenêtre noire et blanche, comme je le ferais pour Xnest. Lorsque j'essaie de lancer xterm, un message d'erreur "Impossible de résoudre le nom d'hôte lubuntu: nom ou service inconnu" s'affiche. J'ai également essayé d'installer "openssh-server" dans le chroot et sur le livecd. Lorsque j'utilise les mêmes commandes sur le livecd uniquement et que je tente de lancer xterm à partir du livecd, je ne reçois pas la même erreur. Au lieu de cela, je reçois une invite de mot de passe. L'utilisateur livecd "lubuntu" n'a pas de mot de passe. Si je laisse le mot de passe vide, j'obtiens l'erreur "permission refusée. Si je crée un compte d'utilisateur, je réessaie. Je reçois l'erreur" autorisation refusée, veuillez réessayer "lors de la saisie du mot de passe de l'utilisateur correct. L'erreur" impossible de résoudre le nom d'hôte lubuntu " avec le chroot se produit également lors de l'utilisation d'apt-get dans le chroot, bien que je puisse et ai installé des choses à partir d'apt.

Détails:

En type de terminal livecd

Xephyr -ac -screen 1024x768 -br -reset -terminate 2> /dev/null :1 &

En type de terminal chroot

DISPLAY=:1.0

J'ai aussi essayé "DISPLAY =: 1.0" dans le terminal livecd.

En type de terminal chroot

ssh -XfC -c blowfish root@lubuntu xterm

J'ai aussi essayé "user @ server" et "root @ localhost" dans le terminal chroot.

Information additionnelle

Vous voulez savoir autre chose? Je vais essayer de l'ajouter ici.

3
please delete me

Utilisez Xephyr

Sudo apt-get install xserver-xephyr

Démarrer Xephyr

Xephyr -ac -screen 1280x1024 -br -reset -terminate 2> /dev/null :1 &

Le ": 1" = votre affichage (les affichages sont numérotés en commençant par 0)

-ac = désactiver les restrictions de contrôle d'accès = vous autoriser à transférer X

-écran 1280x1024 = taille de l'écran

-br = fond noir

-reset -terminate = Xephyr devrait se fermer automatiquement lorsque le dernier client X est tué, ne fonctionne pas toujours.

2>/dev/null redirige les messages d'erreur.

Configurez votre affichage (pour X)

DISPLAY=:1.0

ssh dans votre chroot (vous devrez peut-être installer un serveur ssh, vous voudrez peut-être aussi regarder LXC)

ssh -XfC -c blowfish user@server xterm

ou utilisez tout autre outil graphique de votre choix.

Voir également

http://ubuntuforums.org/showthread.php?t=6200

https://help.ubuntu.com/lts/serverguide/lxc.html

2
Panther