xserver-xsdl
xserver-xsdl copied to clipboard
make xserver-xsdl work with isolated network namespace containers
Hi,
I noticed that xserver-xsdl sets the -nolisten unix
X server option by default.
I suppose this is done because the X server (any X server) hardcodes the unix domain socket to /tmp/.X11-unix/X<n>
, and by default on android /tmp
is not available + /
is mounted read-only + a non rooted device has no write permission outside it's app folder.
"local" connections are still available through the abstract domain socket @/tmp/.X11-unix/X<n>
(that is the "-listen local"
X server option which is on by default)
I have a rooted device so to workaround the issue I did the following:
- added
"-listen unix"
from the app configuration - before starting xserver-xsdl from my scripts, i temporarily mount
/
asrw
, symlink/data/data/x.org.server/files/tmp
to/tmp
- once xserver-xsdl is up i bind mount
/data/data/x.org.server/files/tmp/.X11-unix
to the container's/tmp
Wouldn't it be convenient to allow xserver-xsdl to create the unix domain socket in /data/data/x.org.server/files/tmp
instead? A rooted device is still needed but at least it would not require somewhat dangerous tricks to make it work
Bye