尽管容器应该具有连接到显示器所需的权限,但我每次都会收到此错误:
docker exec -it my_container
/# rqt
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
No protocol specified
QXcbConnection: Could not connect to display :1
Could not connect to any X display.
Run Code Online (Sandbox Code Playgroud)
以下命令用于运行容器:
sudo docker run -itd --restart unless-stopped --name my_container --privileged --net=host --gpus all \
--env="NVIDIA_DRIVER_CAPABILITIES=all" \
--env="DISPLAY=$DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
my_image:v1.1
Run Code Online (Sandbox Code Playgroud)
解决方案是在终端中运行以下命令:
xhost +local:docker
Run Code Online (Sandbox Code Playgroud)
然后再试一次,它应该可以工作:
docker exec -it my_container
/# rqt
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12743 次 |
| 最近记录: |