First post! I run several desktop applications in LXD containers on Arch Linux and use the following line so that the container can use the host’s X server.
lxc config device add opera x disk source=/tmp/.X11-unix/ path=/tmp/.X11-unix/
This works fine until I reboot, at which point I have to remove and then add again, as the container has lost access to X. Is this normal? And if so, is there a way to make the assignment permanent?
Have a look at this guide on how to create a LXD profile that you can then use to launch such GUI containers,
That guide also includes support for audio on top of accelerated X support.
The guide has been tested on all sort of Ubuntu combinations, therefore it would be good to get feedback on ArchLinux.
I think that the issue with your command is that you do not bind-mount the socket but the directory it is in.
/tmp is wiped by most Linux distributions on boot, so having LXD bind-mount something there doesn’t really work since it will either get overmounted by a tmpfs or wiped during boot.