温馨提示×

Ubuntu VNC如何连接局域网

小樊
49
2025-11-02 10:00:48
栏目: 智能运维

Ubuntu VNC连接局域网的完整步骤

1. 准备工作

确保Ubuntu设备已接入局域网(有线/无线均可),并能与其他设备互相通信(可通过ping命令测试连通性)。

2. 安装VNC服务器

Ubuntu系统需先安装VNC服务器软件,常用选项有TigerVNC(推荐,性能好)或x11vnc(支持无显示器场景):

  • 安装TigerVNC(适用于大多数桌面环境,如GNOME、XFCE):
    sudo apt update
    sudo apt install tigervnc-standalone-server tigervnc-common -y
    
  • 安装x11vnc(适合无外接显示器的服务器场景):
    sudo apt install x11vnc -y
    

3. 设置VNC访问密码

运行以下命令设置VNC连接密码(至少6位,此密码用于客户端验证,非系统登录密码):

vncpasswd

输入密码后会提示确认,完成后密码会加密保存至~/.vnc/passwd(TigerVNC)或/home/<用户名>/.vnc/passwd(x11vnc)。

4. 配置桌面环境(关键步骤)

VNC需关联桌面环境(如GNOME、XFCE)才能显示图形界面。编辑~/.vnc/xstartup文件(若不存在则创建),添加对应桌面环境的启动命令:

  • GNOME桌面(Ubuntu默认)
    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
    
  • XFCE桌面(轻量级,推荐用于老设备)
    nano ~/.vnc/xstartup
    
    添加以下内容:
    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    exec startxfce4
    

保存文件后,赋予可执行权限:

chmod +x ~/.vnc/xstartup

5. 启动VNC服务器

使用以下命令启动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

6. 配置防火墙(允许VNC端口)

若Ubuntu启用了防火墙(如UFW),需开放VNC端口(默认5901,对应:1):

sudo ufw allow 5901/tcp
sudo ufw reload

7. 获取Ubuntu设备的局域网IP地址

在Ubuntu终端运行以下命令,查看本机IP地址(通常为192.168.x.x格式):

ip a

找到inet字段对应的地址(如inet 192.168.1.100/24),记下该IP。

8. 客户端连接Ubuntu VNC服务器

在另一台局域网设备(Windows、Mac或Linux)上安装VNC客户端(如RealVNC ViewerTightVNC Viewer),输入以下信息进行连接:

  • 服务器地址<Ubuntu的局域网IP>:5901(如192.168.1.100:5901);
  • 密码:之前设置的VNC密码。
    连接成功后,即可看到Ubuntu的图形化桌面。

9. (可选)设置VNC开机自启动

若需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

常见问题排查

  • 连接被拒绝:检查VNC服务是否运行(ss -tulnp | grep vnc),防火墙是否放行端口,xstartup文件是否可执行。
  • 黑屏无响应:确认xstartup文件配置了正确的桌面环境,或尝试删除~/.vnc/*.log日志文件后重启VNC。
  • 无显示器时无法连接:使用x11vnc替代TigerVNC,并创建虚拟显示器(sudo Xorg :1 -configure生成xorg.conf.new,复制至/etc/X11/xorg.conf)。

0