我正在尝试使用VNC在Docker映像上运行桌面显示。似乎建立了连接,但是我出现黑屏。
这是我的docker文件:
#sudo docker build --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" --tag=XXXXX .
FROM ros:kinetic-robot-xenial
RUN apt-get update
RUN apt-get install -y git x11vnc xvfb
RUN apt-get -yq update && \
apt-get -yqq install ssh
ARG SSH_PRIVATE_KEY
RUN mkdir /root/.ssh/
RUN echo "${SSH_PRIVATE_KEY}" > /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
RUN git clone git@github.com:XXXXX.git
RUN cd XXXXX/catkin_ws/ && \
rm -r devel && rm -r build && \
/bin/bash -c '. /opt/ros/kinetic/setup.bash; catkin_make; catkin_make run_tests_wei_talkercpp_example'
ADD . /usr/sh
ENV DISPLAY :10
RUN chmod 755 /usr/sh/entrypoint.sh \
&& sed -i 's/\r$//' /usr/sh/entrypoint.sh
#Expose port 5920 to view display using VNC Viewer
EXPOSE 5910
#Execute entrypoint.sh at start of container
ENTRYPOINT ["/usr/sh/entrypoint.sh"]
这是entrypoint.sh:
#!/bin/bash
export DISPLAY=:10
Xvfb :10 -screen 0 800x600x16 &
x11vnc -passwd TestVNC -display :10 -N -forever -ncache 10 &
wait
要构建并运行此程序,我尝试过:
sudo docker build --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" --tag=XXXXX .
并且:
sudo docker run --rm -ti -p 5910:5910 XXXXX
但是当我尝试使用VNC查看器连接到localhost:5910时出现黑屏。任何建议将不胜感激。谢谢。