From ce7644d12ef56f6d9c03ed0fb83033a1b0bc973e Mon Sep 17 00:00:00 2001 From: Pegasust Date: Wed, 4 May 2022 03:21:54 +0000 Subject: [PATCH 1/2] Add support for X11 forwarding from .devcontainer --- .devcontainer/devcontainer.json | 9 ++++++++- README_docker.md | 11 +++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 8b79bed2..43a108b0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -17,8 +17,11 @@ "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", - "seccomp=unconfined" + "seccomp=unconfined", ], + "containerEnv": { + "DISPLAY": "host.docker.internal:0", // used in X11 for display from container + }, // Set *default* container specific settings.json values on container create. "settings": { "cmake.configureOnOpen": true, @@ -42,6 +45,10 @@ //"postCreateCommand": "uname -a", // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. //"remoteUser": "vscode", + "mounts": [ + // x11 + "source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=default" + ], "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=delegated", "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", "features": { diff --git a/README_docker.md b/README_docker.md index b1f5bf52..cb75018f 100644 --- a/README_docker.md +++ b/README_docker.md @@ -69,3 +69,14 @@ run them separately. A script called `build_examples.sh` is provided to help you to build the example GUI projects in this container. +## Using X11 Forwarding from .devcontainer + +The `.devcontainer` is also configured to use X11 Forwarding to allow GUI to the +host machine, given that you have an X11 server already. + +[Here](https://en.wikipedia.org/wiki/List_of_display_servers) is a good list of +X11 servers you could try. + +For Windows, [Xming](http://www.straightrunning.com/XmingNotes/) is free and +popular, compiled with MinGW. For MSVC, [vcXsrv](https://sourceforge.net/projects/vcxsrv/) +is a good alternative. \ No newline at end of file From da215938dbe76aca18717835a1f53445b1bd5d64 Mon Sep 17 00:00:00 2001 From: Pegasust Date: Wed, 4 May 2022 03:39:23 +0000 Subject: [PATCH 2/2] add trailing newline to README_docker.md --- README_docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_docker.md b/README_docker.md index cb75018f..bfebd572 100644 --- a/README_docker.md +++ b/README_docker.md @@ -79,4 +79,4 @@ X11 servers you could try. For Windows, [Xming](http://www.straightrunning.com/XmingNotes/) is free and popular, compiled with MinGW. For MSVC, [vcXsrv](https://sourceforge.net/projects/vcxsrv/) -is a good alternative. \ No newline at end of file +is a good alternative.