确定容器开通5901端口
version: "3.8"
services:
ubuntu-nomachine:
image: ubuntu:22.04
container_name: u22-desktop
restart: unless-stopped
privileged: true
shm_size: 2g
ports:
- "8001:5901"
- "8002:22"
volumes:
- ./data:/data
cap_add:
- SYS_ADMIN
devices:
- /dev/fuse
stdin_open: true
tty: true
安装vncserver
apt install xfce4 xfce4-goodies xterm nano -y
wget -O turbovnc_3.deb https://onboardcloud.dl.sourceforge.net/project/turbovnc/3.1/turbovnc_3.1_amd64.deb?viasf=1
apt install ./turbovnc_3.deb
设置VNC密码
export USER=root
/opt/TurboVNC/bin/vncserver
- 记住密码,VNC Viewer登录的时候要用
设置默认进入桌面
/opt/TurboVNC/bin/vncserver -kill :1
nano ~/.vnc/xstartup
#!/bin/bash
export XDG_RUNTIME_DIR=/run/user/$(id -u)
export $(dbus-launch)
export DESKTOP_SESSION=xfce
export XDG_SESSION_DESKTOP=xfce
export XDG_CURRENT_DESKTOP=Xfce
export XDG_CONFIG_HOME=$HOME/.config
export XDG_RUNTIME_DIR=$HOME/.cache/xdg
export XDG_DATA_HOME=$HOME/.local/share
/opt/TurboVNC/bin/vncserver -geometry 1280x1024
startxfce4 &
启动新的虚拟桌面
chmod +x ~/.vnc/xstartup
/opt/TurboVNC/bin/vncserver
启用ssh
passwd
apt install ssh nano -y
/etc/init.d/ssh start
nano /etc/ssh/sshd_config
PermitRootLogin yes
- 记住密码,ssh时需要
非局域网走ssh隧道
客户端运行:
ssh -p 22 -NL 8001:localhost:5901 name@ip
- 22 是远程主机的ssh端口
- 8001 是本机监听端口
- 5901 是远程主机nomachine使用端口
连接到远程主机
客户端打开 VNC Viewer 客户端
VNC Viewer:localhost:8001
Name:root