上一篇文章介绍了 命令行版 Centos 7 虚拟机安装 xfce4 桌面 + x11vnc + novnc,本篇文章介绍 docker centos7 如何安装使用 xfce4 桌面 + x11vnc + novnc。
docker run --name centos7 -p 5901:5901 -p 6080:6080 -i -t centos:7.9.2009
export VNC_COL_DEPTH=24
export VNC_RESOLUTION=1280x1024
export DISPLAY=:0
export VNC_PORT=5901
export NOVNC_PORT=6080
虚拟机有真实的显示器、键盘、鼠标,相当于一台真实的计算机,可以运行真正的 x server,但 docker 与虚拟机不同,没有这些外设,不能直接运行真实的 x server,一个替代方案是使用虚拟的 x server,比如 Xvfb,或者 tigervnc 中的 Xvnc,由于之后要使用 x11vnc,所以这是选用的是 Xvfb 作为虚拟的 x server。
# 安装 Xvfb
yum -y install Xvfb
# 启动 Xvfb(虚拟 x server)
Xvfb $DISPLAY -ac -listen tcp -screen 0 ${VNC_RESOLUTION}x${VNC_COL_DEPTH} -noreset &
# 安装 xfce4 桌面
yum -y install epel-release
yum -y groupinstall "Xfce"
# 启动 xfce4 桌面
xfce4-session &
yum -y install x11vnc
x11vnc -display $DISPLAY -rfbport $VNC_PORT -scale $VNC_RESOLUTION -repeat -shared -forever -bg
使用 vnc viewer 连接 127.0.0.1:5901

yum -y install git python36
git clone https://github.com/novnc/noVNC.git
cd noVNC/
./utils/novnc_proxy --vnc localhost:5901

使用浏览器访问 novnc 主页 127.0.0.1:6080/vnc.html
