ghdl / docker

Scripts to build and use docker images including GHDL
40 stars 10 forks source link

Update info about running GUI #44

Open GlenNicholls opened 1 year ago

GlenNicholls commented 1 year ago

I recently asked this in the Gitter:

I'm using the ghdl/ext:latest image and would like to run the gtkwave GUI. I am SSH'd to a server with the image via MobaXTerm and can run GUI apps directly on that server. However, when I pass DISPLAY to the container, gtkwave gives an error. Is there a way to get this to work? The x11docker script that is mentioned seems like it's specifically for MSYS2?

I ended up figuring this out. For reference, I was able to accomplish this by volume mounting my users home directory and passing the HOME and DISPLAY env vars to the container. Note, home is passed to the container for the ~/.Xauthority file.

For example, after I SSH to Linux server using MobaXTerm, I run something along the lines of this to open the GUI:

docker run --user=$(id -u):$(id -g) --interactive $TTY --rm \
  --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --network=host \
  -e HOME=$HOME \
  -e DISPLAY=$DISPLAY
  -v $HOME:$HOME \
  ... \
  <image> <command>

where command might be python3 run.py -g. It might be good to add this to the USE_CASES since it took me a lot of digging to get it working right. Probably not very secure, though.