我已经创建了一个包含 LXDE 和 TightVNCServer 的 docker 镜像。
# Pull base image.
FROM ubuntu
# Install LXDE and VNC server.
RUN apt-get update
RUN apt-get install -y xvfb
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y lxde-core lxterminal tightvncserver
RUN rm -rf /var/lib/apt/lists/*
RUN touch /root/.Xresources
RUN touch /root/.Xauthority
COPY xstartup /root/.vnc/xstartup
RUN chmod +x /root/.vnc/xstartup
#Install Node.js & npm
# Define working directory.
WORKDIR /data
COPY * /data
RUN apt-get install -y ffmpeg
我正在使用以下命令运行该容器:
docker run -it --rm -v /data:/data -p 5901:5901 -e USER=root ubuntudsktp bash -c "vncserver :1 -geometry 1280x800 -depth 24 && tail -F /root/.vnc/*.log"
我正在使用 VNC 登录到该容器并运行此命令来记录整个屏幕:
ffmpeg -f x11grab -i :1.0 output.webm
录制结束后,我打开视频,发现视频完全是空白的(黑屏)。
这也是我尝试运行时的输入glxinfo
:
# glxinfo | grep "OpenGL renderer"
Error: unable to open display
我也尝试使用以下命令运行它:
DISPLAY=:1 ffmpeg -f x11grab -i :1.0 output.webm
结果是一样的。
我在这里遗漏了什么?