在wsl2下运行docker容器,希望能显示出qt程序界面,但运行遇到以下报错:
QStandardPaths: runtime directory '/mnt/wslg/runtime-dir' is not owned by UID 0, but a directory permissions 0700 owned by UID 1000 GID 1000
这是我的docker 运行指令:
#!/usr/bin/env bash
MONITOR_HOME_DIR="$( cd "$( dirname "$0" )/.." && pwd )"
echo MONITOR_HOME_DIR: $MONITOR_HOME_DIR
display=""
if [ -z ${DISPLAY} ];then
display=":1"
else
display="${DISPLAY}"
fi
user="${USER}"
uid="$(id -u)"
group="$(id -g -n)"
gid="$(id -g)"
echo "create docker"
echo display: $display
docker run -it -d \
--name monitor_test \
--env=unix$DISPLAY \
--privileged=true \
--net host \
-v ${MONITOR_HOME_DIR}:/work \
-v /tmp/.X11-unix:/tmp/.X11-unix \
monitor
和进入docker指令:
#!/usr/bin/env bash
xhost +local:root 1>/dev/null 2>&1
docker exec \
-u root \
-it monitor \
/bin/bash
xhost -local:root 1>/dev/null 2>&1