fix(mmserver): try to avoid binding the system x11 abstract socket #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A real xserver sometimes creates "abstract" sockets, which transcend the filesystem and can leak into our container (because we don't use a network namespace). That means when running on a system with the system xserver at :1, we would potentially end up colliding with it, and the app would connect to the system xserver instead of xwayland.
Note that we can't just use
DISPLAY=/path/to/internal/socket
, because that's not supported on even some recent libxcb versions.However, we can avoid this specific situation by just checking whether an abstract socket exists for a given display number, and choosing a higher number if so.