因为系统装了16的ubuntu系统,但是open3d目前显示功能只是支持18及以上的系统,所以用来docker容器,为了有显示,我采用了其他博主提到的第二种方法,第一种没成功,好像是因为不支持那个服务。
在服务器端宿主安装如下
安装xserver
$ sudo apt install x11-xserver-utils
许可所有用户都可访问xserver
xhost +
B.在docker 容器创建时
-v /tmp/.X11-unix:/tmp/.X11-unix
-e DISPLAY=:0
例如:
docker run -itd --name 容器名 -h 容器主机名 --privileged \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=:0 镜像名或id /bin/bash
我自己的命令就是
docker run --gpus all -it -v /data/Bill:/Bill -v /etc/apt:/home/etc/apt -e DISPLAY=:10.0 --net=host -v $HOME/.Xauthority:/root/.Xauthority --name Bill-pytorch-1.6.0-ubuntu-18.04-desktop-vnc pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel /bin/bash
重点就是:
-v $HOME/.Xauthority:/root/.Xauthority --net=host -e DISPLAY=:10.0
验证:
使用带有界面功能的时钟软件尝试
在docker容器中:
$ sudo apt-get install xarclock
$ xarclock
应该可以看到xserver端显示器显示时钟界面。
参考:
https://www.csdn.net/article/2015-07-30/2825340
https://blog.csdn.net/wzw_mzm/article/details/70916202
https://blog.csdn.net/wp133716/article/details/107821784
https://blog.csdn.net/Frank_Abagnale/article/details/80243939?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param