我刚买了一台新电脑,并在上面安装了 Ubuntu 22.04。接下来,我在 docker 容器中运行了一些与 ROS(Gazebo、Rviz)相关的模拟程序,一切运行正常(此时我没有检查 DISPLAY 变量)。
跳到第二天,我尝试进入我的容器并再次运行模拟。我尝试运行 Gazebo,它像往常一样在终端中打印出很多东西,但没有打开新的 Gazebo 窗口。然后我尝试运行 Rviz,我得到:
Authorization required, but no authorization protocol specified
qt.qpa.xcb: could not connect to display :1
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Aborted (core dumped)
然后我检查容器中以及我的 ubuntu 上的 DISPLAY 变量,得到
echo $DISPLAY
:1
我只有一个监视器,据我所知,这个变量在我的情况下应该是 0。我怀疑可能是我的 docker 容器搞乱了 X 会话。
任何帮助都非常感谢。
我正在运行的图像是提供给我,我必须运行这个docker运行脚本(也许有人可以看到它的问题):
#!/bin/bash
xhost +
docker run \
-it \
--gpus all \
-e "ACCEPT_EULA=Y" \
-e DISPLAY=$DISPLAY \
-e SSH_AUTH_SOCK=/run/host_ssh_auth_sock \
--env LOCAL_USER_ID \
--env LOCAL_GROUP_ID \
--env LOCAL_GROUP_NAME \
--net=host \
--privileged \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/Documents/Projects/docker_exchange:/home/user/exchange \
-v /var/run/docker.sock:/var/run/docker.sock \
--runtime=nvidia \
tiago_arl \
bash
xhost -
最后,这是我的 neofetch:
.-/+oossssoo+/-. sergej@sergej-vienna
`:+ssssssssssssssssss+:` --------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 22.04.4 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: B760M DS3H AX DDR4
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 6.5.0-28-generic
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 4 hours, 36 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 2240 (dpkg), 13 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: bash 5.1.16
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 4096x2304
ossyNMMMNyMMhsssssssssssssshmmmhssssssso DE: GNOME 42.9
ossyNMMMNyMMhsssssssssssssshmmmhssssssso WM: Mutter
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ WM Theme: Adwaita
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Theme: Yaru-dark [GTK2/3]
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ Icons: Yaru [GTK2/3]
+sssssssssdmydMMMMMMMMddddyssssssss+ Terminal: x-terminal-emul
/ssssssssssshdmNNNNmyNMMMMhssssss/ CPU: 13th Gen Intel i7-13700KF (24) @ 5.300GHz
.ossssssssssssssssssdMMMNysssso. GPU: NVIDIA 01:00.0 NVIDIA Corporation Device 2786
-+sssssssssssssssssyyyssss+- Memory: 6251MiB / 31919MiB
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.