概述 VNC(Virtual Network Computing)通过 RFB 协议实现远程控制。客户端/服务器模型:
VNC 客户端 :本地计算机
VNC 服务器 :远程系统,传输显示画面副本
安装 VNC 服务器 1 2 sudo apt updatesudo apt -y install tightvncserver
安装桌面环境 使用 Xfce 桌面环境:
1 sudo apt install xfce4 xfce4-goodies
配置 VNC 服务器 设置密码 1 2 3 vncpasswd Password: Verify:
启动 VNC 服务器
输出示例:
1 2 3 4 New 'ubuntu-01:1 (user)' desktop is ubuntu-01:1 Creating default startup script /home/user/.vnc/xstartup Starting applications specified in /home/user/.vnc/xstartup Log file is /home/user/.vnc/ubuntu-01:1.log
终止 VNC 服务器
配置桌面环境 编辑 VNC 启动脚本:
添加内容:
1 exec /usr/bin/startxfce4 &
启动参数说明
参数
含义
示例值
:1
显示编号
:1
-geometry
分辨率
800x600
-depth
颜色深度
24
启动示例:
1 vncserver :1 -geometry 800x600 -depth 24
连接 VNC 桌面 SSH 隧道 创建安全隧道:
1 ssh <username>@<vncserver-ip> -C -L 5901:127.0.0.1:5901
安装客户端 Ubuntu:
1 sudo apt install tigervnc-viewer
Arch Linux:
连接 SSH 隧道运行后,连接 localhost:5901,输入 VNC 密码。
配置 Systemd 服务 停止现有实例
创建服务文件 1 sudo vim /etc/systemd/system/vncserver@1.service
写入配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [Unit] Description =Start TightVNC server at startupAfter =syslog.target network.target[Service] Type =forkingUser =your_usernameGroup =your_usernameWorkingDirectory =/home/your_usernamePIDFile =/home/your_username/.vnc/%H:%i.pidExecStartPre =-/usr/bin/vncserver -kill :%i > /dev/null 2 >&1 ExecStart =/usr/bin/vncserver -depth 24 -geometry 1280 x800 :%iExecStop =/usr/bin/vncserver -kill :%i[Install] WantedBy =multi-user.target
注意 :将 your_username 替换为实际用户名。
启用服务 1 2 sudo systemctl daemon-reloadsudo systemctl enable --now vncserver@1
检查状态 1 systemctl status vncserver@1
安全建议 VNC 密码传输无加密,推荐使用:
VPN :加密连接,隐藏服务器位置
SSH 隧道 :如上述配置
防火墙 :限制 5900 端口访问
总结 完成以下步骤即可在 Ubuntu 上运行 VNC 服务器:
安装 tightvncserver 和 Xfce 桌面
配置密码和 xstartup 脚本
设置 SSH 隧道保证连接安全
配置 Systemd 服务实现开机自启