devcontainers / cli

A reference implementation for the specification that can create and configure a dev container from a devcontainer.json.
https://containers.dev
MIT License
1.6k stars 221 forks source link

X11 works with container launched via VSCode but not launched via devcontainers/cli #869

Open jbcpollak opened 3 months ago

jbcpollak commented 3 months ago

I have a script called devshell (relevant code below), which is intended to start the devcontainer if not always running, then give you a shell into the container.

When I start the container in VSCode, then in a separate terminal (outside vscode) run devshell, I can launch a GUI application like xterm no problem.

If instead, I stop VSCode and the running devcontainer, then run the devshell script below, xterm and other X11 applications do not work. It seems to me devcontainer up does something different than vscode itself when preparing the container for execution.

Here is the relevant except of devshell (the only missing contents are boilerplate setup and making sure we are in the right directory, etc):

devcontainer up --workspace-folder .

WORKDIR=/workspaces/${REPONAME}
CONTAINER_NAME=${REPONAME}_devcontainer

# Run a shell in the container
docker exec -it -e DISPLAY=":0" -w ${WORKDIR} ${CONTAINER_NAME} /bin/bash "$@"
chrmarti commented 2 months ago

The X11 forwarding is a feature of the Dev Containers extension for VS Code and not part of the Dev Containers CLI.

jbcpollak commented 2 months ago

Oh that's disappointing. Is there any way to bring it over?