Conteneur lxc avec X

 druide

Dans ce précédent post, j'explique l'installation d'un conteneur lxc.


Voici une astuce que l'on peut utiliser pour obtenir un accès au serveur graphique de la machine hôte sans installer un nouveau serveur X dans le conteneur, en effet, un second serveur X se lancerait dans une lutte sans merci avec le serveur X de l'hôte pour régner sans partage sur le seul écran de ma machine. Deux serveurs X, un écran...

L'idée est alors d'utiliser, dans le conteneur, le serveur X de la machine hôte, ainsi, on aura un seul serveur X pour un seul écran, c'est mieux...

Etape 1

Dans les fichiers de configuration du conteneur, on modifie le fichier fstab pour indiquer au système que l'on souhaite faire un bind du répertoire .X11-unix de la machine hôte avec le répertoire .X11-unix du conteneur

Remarque:
Attention à ne pas mélanger les fichiers fstab!!

- /var/lib/lxc/le_nom_de_votre_conteneur/fstab pour le fichier fstab de votre conteneur - /var/lib/lxc/le_nom_de_votre_conteneur/rootfs/etc/fstab pour le fichier fstab dans votre conteneur - /var/cache/lxc/... qui est le template lui-même

$ sudo vim /var/lib/lxc/le_nom_de_votre_conteneur/fstab

# On lui ajoute cette ligne tout en bas
/tmp/.X11-unix tmp/.X11-unix none bind 0 0

Etape 2

On démarre le conteneur

sudo lxc-start -n le_nom_de_votre_conteneur

Etape 3

On exporte la variable d'environnement DISPLAY pour indiquer "le numéro du serveur". Pour être sûr de la valeur, il suffit de regarder dans la machine hôte...

Hôte

# Sur la machine hôte
$ ls /tmp/.X11-unix
X0



Conteneur

# Dans le conteneur
$ export DISPLAY=:0
# On test avec xclock (il faut installer x11-apps)
$ xclock


Si tout se passe bien, on obtient l'horloge xclock dans l'hôte (chez moi le conteneur se nomme « quantal-i386 » :)



Links:

LXC on ubuntu LXC on stgraber web site

Tags: lxc X11

  • 8 years 3 months before
  • |