Comment puis-je exécuter efficacement des applications X dans un conteneur LXC?
ssh -Y guest
est trop lent - il n'y a pas d'accélération graphique avec ssh -Y
- tout doit voyager sur le réseau virtuel avec le protocole X11 traditionnel.
Pouvoir copier-coller entre les applications hôtes et invitées est souhaitable mais pas essentiel. L'exécution de deux serveurs X, un pour l'hôte et un pour l'invité, est (pour moi) essentielle.
Je ne peux pas exécuter un Xorg natif à partir de l'invité, car il se plaint d' /dev/tty0
être manquant, et je ne peux pas mknod
ce périphérique dans l'invité car j'obtiens une autorisation refusée, même lorsque je le fais en tant que root.
la source
REMARQUE : cette approche est un peu un hack. Il ne prend pas non plus en charge le copier-coller entre l'hôte et l'invité - et est totalement peu sûr!
/tmp
tant que système de fichiers supplémentaire dans la configuration d'invité, qui passe/tmp
sur l'hôte.xhost +
dans une fenêtre de terminal.DISPLAY=:0 Xephyr :2 -screen 1024x768 -dpi 96 &
DISPLAY=:2 /etc/X11/xinit/Xsession
à l'intérieur de l'invité (en remplaçant les deux
2
par le numéro de l'écran à utiliser si vous l'utilisez pour vous connecter à plusieurs machines virtuelles LXC.) Ajustez les paramètres de résolution (-screen
) et DPI (-dpi
) en fonction.Cela permet de configurer des connexions "proxy" à un serveur X imbriqué Xephyr exécuté sur l'invité (qui utilise à la fois les sockets de domaine UNIX et l'extension MIT-SHM) et une autre connexion de Xephyr à votre serveur X hôte (qui utilise des sockets de domaine UNIX , mais ne peut pas, pour autant que je sache, utiliser MIT-SHM, en raison de la conception de LXC). Cela semble être la configuration la plus rapide possible avec un invité LXC, au moins avec le pilote open source pour mon matériel (nvidia).
la source