Проблема с приложениями с графическим интерфейсом: невозможно открыть дисплей [Docker Desktop, Ubuntu Host, изображение на основе Ubuntu]
У меня проблема с открытием любого приложения с графическим интерфейсом в работающем контейнере. Короче говоря, я всегда получаю одинаковые ошибки «не удается открыть дисплей» из разных приложений.
Платформа
Хост: Убунту 22.04
Докер: Докер для рабочего стола 4.15
Изображение: kalibr (некоторый образ на основе Ubuntu 20.04 и ROS Noetic) [Дополнительное примечание: я также пытался запустить простой xclock на обычном образе ubuntu: последний]
Команда Run
docker run -it --network=host -e DISPLAY -v "/tmp/.X11-unix:/tmp/.X11-unix:rw" -v <another bind mount> <image name>
Я также пробовал:
-
xhost +local:root
,xhost +local:docker
, дажеxhost +
перед запуском контейнера -
--privileged
-
--runtime=runc
-
DISPLAY=127.0.1.1:1
(т.е. мой IP-адрес хоста) -
DISPLAY=unix$DISPLAY
Дополнительная информация
Некоторые env vars в контейнере:HOSTNAME=docker-desktop
DISPLAY=:1
QT_X11_NO_MITSHM=1
Может ли виртуализация QEMU/KVM быть корнем проблемы, поскольку это Docker Desktop (не только Docker Engine)?
Ваше здоровье