温馨提示×

ubuntu如何设置vnc连接

小樊
54
2025-10-11 22:54:09
栏目: 智能运维

Ubuntu设置VNC连接详细步骤

1. 准备工作

  • 确保Ubuntu系统已联网,且用户具有管理员权限(sudo权限);
  • 更新系统软件包列表,避免依赖冲突:
    sudo apt update && sudo apt upgrade -y
    

2. 安装VNC服务器

推荐使用TigerVNC(性能优、兼容性好),通过APT包管理器安装:

sudo apt install tigervnc-standalone-server tigervnc-common -y

3. 设置VNC密码

运行vncpasswd命令设置连接密码(至少6位,区分大小写):

vncpasswd
  • 密码会加密存储在~/.vnc/passwd文件中(仅用于VNC连接,与系统用户密码无关)。

4. 配置桌面环境与启动脚本

VNC需要指定桌面环境(如GNOME、XFCE)才能正常启动。编辑~/.vnc/xstartup文件(若不存在则创建):

nano ~/.vnc/xstartup
  • 若使用Ubuntu默认GNOME桌面,添加以下内容:
    #!/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桌面(推荐,资源占用低),添加以下内容:
    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    exec startxfce4
    
  • 保存文件后,赋予可执行权限:
    chmod +x ~/.vnc/xstartup
    

5. 启动VNC服务器

  • 手动启动:指定显示编号(如:1,对应端口号5901:2对应5902,依此类推),并设置分辨率、颜色深度:
    vncserver :1 -geometry 1920x1080 -depth 24
    
    • 首次启动会提示设置密码(若已设置可跳过),显示类似以下信息即为成功:
      New 'X' desktop is your_hostname:1
      Starting applications specified in ~/.vnc/xstartup
      Log file is /home/your_username/.vnc/your_hostname:1.log
      
  • 停止VNC服务:若需关闭指定会话,运行:
    vncserver -kill :1
    

6. 配置防火墙(可选但推荐)

若系统启用了UFW防火墙,需允许VNC端口通过(默认5901对应:1):

sudo ufw allow 5901/tcp
sudo ufw reload
  • 验证防火墙状态:
    sudo ufw status
    
    应显示5901/tcpALLOW

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

若需VNC服务器随系统启动,创建Systemd服务文件:

sudo nano /etc/systemd/system/vncserver@:1.service
  • 将以下内容粘贴到文件中(替换your_username为实际用户名):
    [Unit]
    Description=Remote desktop service (VNC)
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=your_username
    Group=your_username
    WorkingDirectory=/home/your_username
    PIDFile=/home/your_username/.vnc/%H:1.pid
    ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
    ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :1
    ExecStop=/usr/bin/vncserver -kill :1
    
    [Install]
    WantedBy=multi-user.target
    
  • 保存文件后,重新加载Systemd配置并启用服务:
    sudo systemctl daemon-reload
    sudo systemctl enable vncserver@:1.service
    sudo systemctl start vncserver@:1.service
    
  • 验证服务状态:
    sudo systemctl status vncserver@:1.service
    
    应显示active (running)

8. 客户端连接

  • 在本地设备(如Windows、Mac)上安装VNC客户端(如TigerVNC ViewerRealVNCTightVNC);
  • 打开客户端,输入Ubuntu服务器的IP地址+显示编号(如192.168.1.100:1,对应:1端口5901);
  • 点击“连接”,输入之前设置的VNC密码,即可远程访问Ubuntu桌面。

注意事项

  • 安全性:VNC协议本身未加密,建议通过SSH隧道转发端口(命令示例:ssh -L 5901:localhost:5901 your_username@your_server_ip),再通过localhost:1连接;
  • 端口冲突:若5901端口被占用,可更换显示编号(如:2对应5902);
  • 桌面环境兼容性:若使用GNOME桌面,需确保gnome-sessiongnome-panel等组件已安装(可通过sudo apt install ubuntu-desktop补充)。

0