Ubuntu VNC如何进行远程培训
小樊
45
2025-12-12 09:27:55
Ubuntu VNC 远程培训实操指南
一 架构与方案选型
- 面向培训,建议采用“轻量桌面 + VNC 服务 + SSH 隧道”的组合:在受训机上安装Xfce与TightVNC,通过 SSH 隧道转发 VNC 端口,既稳定又安全;演示者可用“仅查看”密码进行授课,学员用可操作账号练习。若需浏览器接入,可在受训机加一层noVNC + Websockify,学员无需安装客户端即可参会。
二 快速搭建步骤
- 受训机准备
- 安装桌面与 VNC:sudo apt update && sudo apt install -y xfce4 xfce4-goodies tightvncserver
- 首次启动设密:vncserver(密码长度6–8字符;可设“仅查看”密码)
- 停止默认实例:vncserver -kill :1
- 配置启动脚本:编辑 ~/.vnc/xstartup
- #!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
- chmod +x ~/.vnc/xstartup
- 以“本地主机绑定”方式启动:vncserver -localhost(仅本机可达,更安全)
- 学员侧连接
- 建立 SSH 隧道(Linux/macOS):ssh -L 59000:localhost:5901 -C -N -l <学员用户名> <受训机IP>
- 使用 VNC Viewer 连接:localhost:59000,输入第 2 步设置的 VNC 密码
- 授课演示
- 为讲师创建“仅查看”密码:vncpasswd(在受训机上执行),讲师用只读账号连接,避免误操作
- 说明
- 显示端口规则::1 → 5901,:2 → 5902;分辨率可在启动时指定,如 vncserver -geometry 1920x1080 :1。
三 安全与运维
- 安全加固
- 始终优先使用SSH 隧道或企业内网直连,避免直接对公网开放 5901/59000 等端口;必要时仅临时放通并配合强口令与密钥登录。
- 使用“仅查看”密码进行演示,学员用可操作账号练习,降低误触风险。
- 开机自启与多用户
- 创建 systemd 服务:/etc/systemd/system/vncserver@.service
- [Unit] Description=Start TightVNC server at startup
After=syslog.target network.target
- [Service] Type=forking
User=<培训账号>; Group=<培训组>
WorkingDirectory=/home/<培训账号>
PIDFile=/home/<培训账号>/.vnc/%H:%i.pid
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
- [Install] WantedBy=multi-user.target
- 启用与启动:sudo systemctl daemon-reload && sudo systemctl enable --now vncserver@1
- 常见问题
- 连接被拒绝:确认已用 vncserver -localhost 启动,且本地隧道端口(如59000)未被占用。
- 黑屏/未进桌面:检查 ~/.vnc/xstartup 是否可执行且包含 startxfce4 &;必要时恢复备份后重启 vncserver。
四 浏览器接入与扩展
- 在受训机部署 noVNC(便于学员用浏览器参会)
- 安装:sudo apt install -y git python3-websockify
- 拉取并启动:
- git clone https://github.com/novnc/noVNC.git && cd noVNC
- ./utils/novnc_proxy --vnc localhost:5900
- 学员访问:http://<受训机IP或域名>:6080,输入 VNC 密码即可(注意 6080/5900 的防火墙放行与内网穿透设置)。