ubuntu-unity-novnc 桌面游览器安装部署 安装部署 系统软件 File


https://hub.docker.com/r/chenjr0719/ubuntu-unity-novnc/

https://github.com/chenjr0719/Docker-Ubuntu-Unity-noVNC

https://github.com/chenjr0719/Docker-Ubuntu-MATE-noVNC

https://github.com/TigerVNC/tigervnc/releases

https://github.com/novnc/noVNC/releases

https://github.com/novnc/websockify/releases

https://ngrok.com/download


#run

docker run -d -p 1000:6080 --name novnc  --restart always  -e PASSWORD=wdq54321 -e NGROK=Yes  -e SUDO=Yes  -v /data/file:/data/file   chenjr0719/ubuntu-unity-novnc:latest 


应用: tools-> 添加服务: novnc

镜像: chenjr0719/ubuntu-unity-novnc:latest  or  140.cndo.org:5000/os:novnc-20180910

变量:

PASSWORD = w1

NGROK = Yes

SUDO = Yes

卷:

/data/file:/data/file

端口(http):1000-6080

保存ip: 升级或替换 不变

主机名: 使用容器名称


访问形式: http://ip:1000/vnc.html


===============

docker run -itd -p 8091:6080  -e PASSWORD=w1 -e NGROK=Yes   -e SUDO=Yes 140.cndo.org:5000/os:novnc-20180910 

===============

# 系统说明

sed -i "s|-geometry 1600x900|-geometry 1024x768|g" /etc/supervisor/conf.d/supervisor.conf   # Screen size

cat /home/ubuntu/password.txt      # 查看密码

SUDO=yes                                   # 拥有sudo权限,  man sudo_root

NGROK=Yes                                # 解决的外网访问内网


docker exec -it novnc /bin/bash


# 修改后可以升级

vi  /etc/apt/apt.conf.d/70debconf

Acquire::AllowInsecureRepositories “true”;   # 在true前面有个空格,如果没敲就会飘红

apt-get update && apt-get upgrade


# 安装中文:

apt-get install language-pack-zh-hant language-pack-zh-hans  -y


vi  /etc/environment   # 增加

LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
dpkg-reconfigure locales  # 重新设置本地配置


linux搜狗输入法安装

https://abc.htmltoo.com/thread-46244.htm


# 安装中文字体:

apt-get install xfonts-wqy
mkdir /usr/share/fonts/opentype
git clone https://github.com/adobe-fonts/source-code-pro.git /usr/share/fonts/opentype/scp
cd /usr/share/fonts/opentype/scp
fc-cache -f -v
rm -rf /usr/share/fonts/opentype/scp/.git*
fc-list             # 查看中文字体
fc-list :lang=zh-cn # 查看字体命令,注意冒号之前有个空格


# 安装火狐浏览器

add-apt-repository ppa:mozillateam/firefox-next
apt update
apt install firefox -y
apt-get install firefox-locale-zh-hans -y


# 卸载火狐浏览器

apt remove firefox
add-apt-repository --remove ppa:mozillateam/firefox-next
apt install firefox


# 媒体编解码器

apt install ubuntu-restricted-extras


# 安装谷歌游览器

echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list
wget https://dl-ssl.google.com/linux/linux_signing_key.pub
apt-key add linux_signing_key.pub
apt-get update
apt-get install google-chrome-stable


# 系统升级

apt-get install -y wget vim net-tools curl git 
apt autoremove     # Debian系统中删除过时/不需要的软件包。


# 安装kali工具包:     https://github.com/LionSec/katoolin

cd  /opt

git clone https://github.com/LionSec/katoolin.git && cp katoolin/katoolin.py /usr/bin/katoolin

chmod +x /usr/bin/katoolin

katoolin

apt update && apt upgrade

apt-get upgrade --allow-unauthenticated  # 更新实际的软件包文件

apt-get dist-upgrade --allow-unauthenticated # 根据依赖关系更新

apt-get -y install kali-linux-all      # 将安装全部的kali工具

apt-get -y install kali-linux-web   # 将安装所有和web相关的工具

apt-get update

apt-get dist-upgrade -y


Dockerfile

FROM ubuntu:16.04
MAINTAINER Jacob <chenjr0719@gmail.com>
ENV DEBIAN_FRONTEND noninteractive
ENV USER ubuntu
ENV HOME /home/$USER
# Create new user for vnc login.
RUN adduser $USER --disabled-password
# Install Ubuntu Unity.
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ubuntu-desktop \
        unity-lens-applications \
        gnome-panel \
        metacity \
        nautilus \
        gedit \
        xterm \
        sudo
# Install dependency components.
RUN apt-get install -y \
        supervisor \
        net-tools \
        curl \
        git \
        pwgen \
        libtasn1-3-bin \
        libglu1-mesa \
    && apt-get autoclean \
    && apt-get autoremove \
    && rm -rf /var/lib/apt/lists/*
# Download tigerVNC binaries
ADD https://dl.bintray.com/tigervnc/stable/tigervnc-1.9.0.x86_64.tar.gz $HOME/tigervnc/tigervnc.tar.gz
RUN tar xmzf $HOME/tigervnc/tigervnc.tar.gz -C $HOME/tigervnc/ && rm $HOME/tigervnc/tigervnc.tar.gz
RUN cp -R $HOME/tigervnc/tigervnc-1.9.0.x86_64/* / && rm -rf $HOME/tigervnc/
# Clone noVNC.
RUN git clone https://github.com/novnc/noVNC.git $HOME/noVNC
RUN cp $HOME/noVNC/vnc.html $HOME/noVNC/index.html
# Clone websockify for noVNC
Run git clone https://github.com/kanaka/websockify $HOME/noVNC/utils/websockify
# Download ngrok.
ADD https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip $HOME/ngrok/ngrok.zip
RUN unzip -o $HOME/ngrok/ngrok.zip -d $HOME/ngrok && rm $HOME/ngrok/ngrok.zip
# Copy supervisor config
COPY supervisor.conf /etc/supervisor/conf.d/
# Set xsession of Unity
COPY xsession $HOME/.xsession
# Copy startup script
COPY startup.sh $HOME
EXPOSE 6080 5901 4040
CMD ["/bin/bash", "/home/ubuntu/startup.sh"]


startup.sh

#!/bin/bash
if [ ! -f $HOME/.vnc/passwd ] ; then
    if  [ -z "$PASSWORD" ] ; then
        PASSWORD=`pwgen -c -n -1 12`
        echo -e "PASSWORD = $PASSWORD" > $HOME/password.txt
    fi
    echo "$USER:$PASSWORD" | chpasswd
    # Set up vncserver
    su $USER -c "mkdir $HOME/.vnc && echo '$PASSWORD' | vncpasswd -f > $HOME/.vnc/passwd && chmod 600 $HOME/.vnc/passwd && touch $HOME/.Xresources"
    chown -R $USER:$USER $HOME
    if [ ! -z "$SUDO" ]; then
        case "$SUDO" in
            [yY]|[yY][eE][sS])
                adduser $USER sudo
        esac
    fi
else
    VNC_PID=`find $HOME/.vnc -name '*.pid'`
    if [ ! -z "$VNC_PID" ] ; then
        vncserver -kill :1
        rm -rf /tmp/.X1*
    fi
fi
if [ ! -z "$NGROK" ] ; then
        case "$NGROK" in
            [yY]|[yY][eE][sS])
                su ubuntu -c "$HOME/ngrok/ngrok http 6080 --log $HOME/ngrok/ngrok.log --log-format json" &
                sleep 5
                NGROK_URL=`curl -s http://127.0.0.1:4040/status | grep -P "http://.*?ngrok.io" -oh`
                su ubuntu -c "echo -e 'Ngrok URL = $NGROK_URL/vnc.html' > $HOME/ngrok/Ngrok_URL.txt"
        esac
fi
/usr/bin/supervisord -n


supervisor.conf

[program:vncserver]
command=vncserver -geometry 1600x900 :1
user=ubuntu
[program:noVNC]
command=/home/ubuntu/noVNC/utils/launch.sh --vnc localhost:5901
user=ubuntu
stdout_logfile=/var/log/novnc.log
redirect_stderr=true


xsession

/usr/lib/gnome-session/gnome-session-binary --session=ubuntu &
/usr/lib/x86_64-linux-gnu/unity/unity-panel-service &
/usr/lib/unity-settings-daemon/unity-settings-daemon &
for indicator in /usr/lib/x86_64-linux-gnu/indicator-*; do
  basename=`basename ${indicator}`
  dirname=`dirname ${indicator}`
  service=${dirname}/${basename}/${basename}-service
  ${service} &
done
unity


cd  /data/docker/tools/Dockerfile/novnc

docker build -t novnc .

docker tag novnc:latest hub.htmltoo.com:5000/os:novnc-20200301

docker push hub.htmltoo.com:5000/os:novnc-20200301


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回