systemd-nspawn + application graphique
Rédigé par uTux 1 commentaireDans l'article systemd, c'est bien je citais systemd-nspawn qui est plus ou moins un équivalent à docker exec (lancement d'un binaire dans un container) ou lxc (démarrage complet du container) mais en upstream. Voici un petit cas pratique avec le lancement d'une application graphique :
Avertissement : cet article a pour but de montrer un cas d'utilisation intéressant de systemd-nspawn, mais la manipulation ci-dessous n'est pas propre, ne la faites pas à l'aveugle. La commande xhost autorise les connexions au serveur graphique tandis qu'un peu plus bas je lance l'application graphique directement en root. Vous devez donc être sûr que votre application n'est pas un keylogger ou un spyware.
$ xhost +local:
$ sudo apt-get install debootstrap
$ sudo /usr/sbin/debootstrap jessie jessie http://ftp.fr.debian.org/debian/
$ sudo systemd-nspawn -D jessie/
# apt-get update && apt-get install myapp
# export DISPLAY=:0
# myapp
La commande xhost +local: est volatile donc à refaire après un redémarrage de l'hôte. C'est pareil pour export DISPLAY=:0 dans le container car c'est une variable d'environnement.
Cette petite astuce en vrac me sert pour pac que je fais tourner dans un container Debian Jessie car il ne fonctionne actuellement plus en Testing.