Ubuntu VNC连接局域网的完整步骤
确保Ubuntu设备已接入局域网(有线/无线均可),并能与其他设备互相通信(可通过ping命令测试连通性)。
Ubuntu系统需先安装VNC服务器软件,常用选项有TigerVNC(推荐,性能好)或x11vnc(支持无显示器场景):
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common -y
sudo apt install x11vnc -y
运行以下命令设置VNC连接密码(至少6位,此密码用于客户端验证,非系统登录密码):
vncpasswd
输入密码后会提示确认,完成后密码会加密保存至~/.vnc/passwd(TigerVNC)或/home/<用户名>/.vnc/passwd(x11vnc)。
VNC需关联桌面环境(如GNOME、XFCE)才能显示图形界面。编辑~/.vnc/xstartup文件(若不存在则创建),添加对应桌面环境的启动命令:
nano ~/.vnc/xstartup
添加以下内容(替换<用户名>为你的实际用户名):#!/bin/sh
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
exec /etc/X11/Xsession ubuntu-xsession
nano ~/.vnc/xstartup
添加以下内容:#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
保存文件后,赋予可执行权限:
chmod +x ~/.vnc/xstartup
使用以下命令启动VNC服务(:1表示显示编号,对应端口号5901;:2对应5902,依此类推):
vncserver :1 -geometry 1920x1080 -depth 24
-geometry:设置远程桌面分辨率(如1920x1080);-depth:设置颜色深度(16/24/32,推荐24)。New 'ubuntu:1 (username)' desktop is ubuntu:1
Starting applications specified in /home/username/.vnc/xstartup
Log file is /home/username/.vnc/ubuntu:1.log
若Ubuntu启用了防火墙(如UFW),需开放VNC端口(默认5901,对应:1):
sudo ufw allow 5901/tcp
sudo ufw reload
在Ubuntu终端运行以下命令,查看本机IP地址(通常为192.168.x.x格式):
ip a
找到inet字段对应的地址(如inet 192.168.1.100/24),记下该IP。
在另一台局域网设备(Windows、Mac或Linux)上安装VNC客户端(如RealVNC Viewer、TightVNC Viewer),输入以下信息进行连接:
<Ubuntu的局域网IP>:5901(如192.168.1.100:5901);若需Ubuntu重启后自动启动VNC服务,可创建systemd服务文件:
sudo nano /etc/systemd/system/vncserver@.service
添加以下内容(替换<用户名>为你的实际用户名):
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<用户名>
Group=<用户名>
WorkingDirectory=/home/<用户名>
PIDFile=/home/<用户名>/.vnc/%H:%i.pid
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存后,执行以下命令启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service
ss -tulnp | grep vnc),防火墙是否放行端口,xstartup文件是否可执行。xstartup文件配置了正确的桌面环境,或尝试删除~/.vnc/*.log日志文件后重启VNC。sudo Xorg :1 -configure生成xorg.conf.new,复制至/etc/X11/xorg.conf)。