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 "$@"
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 medevcontainer 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):