3

在我的结束时Dockerfile,基于ubuntu:latest我正在准备所有我认为我需要运行tightvncserver 的东西xfce4

我配置了启动脚本并设置了密码

COPY vncserver /etc/init.d/vncserver
COPY vncservers.conf /etc/vncserver/vncservers.conf

RUN mkdir -p "$HOME/.vnc" && chmod go-rwx "$HOME/.vnc" ; \
    /bin/bash -c "vncpasswd -f <<< mypwd > $HOME/.vnc/passwd"; \
    echo "#!/bin/bash" >  ~/.vnc/xstartup; \
    echo "unset SESSION_MANAGER" >>  ~/.vnc/xstartup; \
    echo "unset DBUS_SESSION_BUS_ADDRESS" >>  ~/.vnc/xstartup; \
    echo "startxfce4 &" >>  ~/.vnc/xstartup; \
    echo "[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup" >>  ~/.vnc/xstartup; \
    echo "[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources" >>  ~/.vnc/xstartup; \
    echo "xsetroot -solid grey"  >>  ~/.vnc/xstartup; \
    echo "vncconfig -iconic &    " >>  ~/.vnc/xstartup; \
    sudo chmod +x ~/.vnc/xstartup; \
    touch ~/.Xauthority ;

ENTRYPOINT export USER=realtebo; vncserver :1 && /bin/bash

问题是在运行时我还是收到了密码请求

You will require a password to access your desktops.

如何避免密码请求?

4

1 回答 1

2

我找到了一个窍门

RUN mkdir "$HOME/.vnc" && chmod go-rwx "$HOME/.vnc" ; 

# Configurazione
COPY vncserver        /etc/init.d/vncserver
COPY vncservers.conf  /etc/vncserver/vncservers.conf
COPY startup          /home/realtebo/.vnc/xstartup

RUN \
    /bin/bash -c "echo -e 'password\npassword\nn' | vncpasswd"; echo; \
    sudo chown realtebo:realtebo ~/.vnc/xstartup; \
    sudo chmod +x ~/.vnc/xstartup; \
    touch ~/.Xauthority ;

ENTRYPOINT export USER=realtebo; export DISPLAY=1; vncserver :1 && /bin/bash

关键是我将创建密码文件的方式更改为

/bin/bash -c "echo -e 'password\npassword\nn' | vncpasswd"; echo; \
于 2018-02-03T19:59:51.577 回答