温馨提示×

Ubuntu VNC如何配置VNC服务器

小樊
41
2025-12-08 10:08:43
栏目: 云计算

Ubuntu 配置 VNC 服务器简明步骤

一 安装桌面环境与 VNC 服务器

  • 更新索引并安装轻量桌面与服务器:sudo apt update && sudo apt install xfce4 xfce4-goodies tightvncserver
  • 首次设置 VNC 访问密码:vncpasswd(密码长度通常为6–8个字符,超出会被截断;可选择性设置仅查看密码)

二 配置 xstartup 启动脚本

  • 停止默认实例:vncserver -kill :1
  • 备份并写入启动脚本:
    • nano ~/.vnc/xstartup
    • 内容:
      #!/bin/bash
      xrdb $HOME/.Xresources
      startxfce4 &
      
    • 赋权:chmod +x ~/.vnc/xstartup
  • 说明:上述配置将使用 Xfce 作为远程桌面;如使用其他桌面(如 GNOME),需相应调整启动命令

三 配置 systemd 服务实现开机自启

  • 新建服务单元:sudo nano /etc/systemd/system/vncserver@.service
  • 示例内容(将 sammy 替换为你的用户名):
    [Unit]
    Description=Start TightVNC server at startup
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=sammy
    Group=sammy
    WorkingDirectory=/home/sammy
    PIDFile=/home/sammy/.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
    • 常用操作:sudo systemctl status vncserver@1;vncserver -kill :1(停止某实例)

四 建立 SSH 隧道并连接

  • 本地端口转发(推荐):
    • Linux/macOS:ssh -L 5901:127.0.0.1:5901 -N -f -l 用户名 服务器IP
    • Windows(PuTTY):Connection → SSH → Tunnels 添加源端口 5901,目标 localhost:5901,Add 后 Apply
  • 客户端连接:连接到 localhost:5901,使用前述设置的 VNC 密码
  • 说明:VNC 显示号与端口关系为“显示号 :N → 端口 5900+N”,例如 :1 对应 5901;使用 -localhost 仅监听回环,配合 SSH 隧道更安全

五 防火墙与常见问题

  • 防火墙放行(如启用 UFW):sudo ufw allow 5901/tcp(仅建议在使用 SSH 隧道或受控网络时开放;若直接暴露 VNC 端口,存在安全风险)
  • 常见问题速查:
    • 无法显示桌面:检查 ~/.vnc/xstartup 是否可执行、是否启动了正确的桌面(如 startxfce4 &)
    • 黑屏或花屏:在启动时调整分辨率与色深(例如 -geometry 1280x800 -depth 24
    • 端口未监听:确认服务已启动(systemctl status vncserver@1)、显示号与端口对应正确(:1 → 5901)
    • 日志排查:查看 ~/.vnc/主机名:1.log 获取具体错误信息

0