Comments (4)
This root cause is that /tmp
is referring to a Linux tmpfs here, not the macOS one which is actually a symlink to /private/tmp
. I've fixed /tmp
mounting for the next version.
Neither OrbStack nor Docker Desktop supports forwarding Unix sockets through bind mounts, so even if the directory is mounted correctly, you can't connect to the socket. I plan to explore how feasible it would be to implement this in the future, but it's a very difficult problem (for several reasons) that can usually be worked around easily by using TCP instead.
Your first command works because -v
auto-creates the source directory if it doesn't exist. It would be empty, but it still works because DISPLAY=host.docker.internal:0
makes X11 clients connect to the server over the network (TCP). The Unix socket isn't used in this case.
Unlike -v
, --mount type=bind
fails if the directory doesn't exist instead of creating it. The second command still wouldn't be able to run X apps, however, because you don't have DISPLAY
set to the TCP host. The real Exegol environment probably works under Docker Desktop because it sets DISPLAY
correctly to use TCP, so the /tmp/.X11-unix
mount isn't actually doing anything functionally.
Until the next version is released, you should be able to work around the issue by removing the /tmp/.X11-unix
mount.
cc @ShutdownRepo @QU35T-code @podjackel @Dramelac
from orbstack.
@Dramelac Mounting the WSLg socket works because the Xwayland and Wayland servers are running on the Linux side, whereas the XQuartz server is running on macOS in this case. Microsoft uses RDP to stream windows from Linux instead of passing through an X/Wayland server.
from orbstack.
Thanks you @kdrag0n for this explanation, it makes way more sense now.
I still have a last question, is the implementation of docker desktop on Windows different than the one on macOs ? Because (I would have to double check but) on Windows I manage to mount Unix socket from the WSL2 environment (the same x11 socket from WSLg), maybe WSL2 have a custom bypass / implementation ?
from orbstack.
Very interesting read , thank you very much !
I thought I had a better understanding of the underlying issue 😅
Thanks for such reactivity. Can't wait for the next release !
from orbstack.
Related Issues (20)
- Give the ability to sort by size on containers/volumes/image
- Permission denied for ~/OrbStack/docker/volumes/<volume_name> with 1.6.0-rc2 HOT 2
- how can i mount /lib/modules to contianer HOT 1
- Large modal messages can't be closed HOT 2
- Istio with Ambient Mode not work / how to install CNI HOT 2
- Startup spins forever on 1.6.0-rc2 HOT 6
- Mac Os Sonoma - Restore from Time Machine is not working
- DD works where Orb fails when FS volume (type: bind) used HOT 2
- Version 1.6.0 (16999): fatal error on launch HOT 3
- Hang at Starting HOT 2
- Update to v1.6 on Intel CPU crashes HOT 5
- Failed to do setup after Migration Assistant
- OrbStack crashes after upgrading to 1.6.0 HOT 10
- Failed to do setup: Request error: POSIXErrorCode(rawValue: 2): No such file or directory HOT 2
- Failed to do setup HOT 3
- Newest version 1.6.0 cause "Unable to find existing allocation for shared memory segment to unmap" HOT 5
- OrbStack.app v1.6.0 (16999) launches with fatal error: Can't create HVF vCPU: VcpuSetRegister HOT 5
- Allow passing `orbctl create` a NixOS configuration
- NixOS documentation doesn't include some man pages, including that of nixos-rebuild
- Cabal build does not work with 1.6.0 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orbstack.