温馨提示×

ubuntu tigervnc图形界面设置

小樊
45
2025-12-18 22:05:39
栏目: 智能运维

Ubuntu 上使用 TigerVNC 配置图形界面的完整步骤


一 安装与准备

  • 更新索引并安装组件(桌面环境请二选一或自选):
    • 安装 TigerVNC:sudo apt update && sudo apt install -y tigervnc-standalone-server
    • 安装桌面环境(GNOME 示例):sudo apt install -y ubuntu-desktop
    • 或安装轻量桌面(Xfce 示例):sudo apt install -y xfce4 xfce4-goodies
  • 设置 VNC 访问密码:vncpasswd(仅设置普通密码即可,view-only 选 n)
  • 如系统使用 Wayland(Ubuntu 22.04+ 默认),VNC 通常基于 Xorg 会话;确保已安装并使用 Xorg 登录或安装相应桌面会话包。

二 配置 xstartup 启动会话

  • 生成初始配置目录:vncserver(随后用 vncserver -kill :1 停止)
  • 编辑 ~/.vnc/xstartup,按桌面环境写入对应内容并赋权 chmod +x ~/.vnc/xstartup

GNOME(Ubuntu Desktop)示例:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
exec gnome-session

Xfce 示例:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4

GNOME Flashback(轻量兼容方案,适合部分老环境):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
gnome-terminal &
nautilus &
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

说明:确保已安装对应会话(如 gnome-session-flashback)。若未安装桌面环境会导致黑屏或无法进入会话。


三 启动与连接

  • 启动服务(示例为显示编号 :1,端口 5901):
    • vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
    • 参数说明::1 表示显示编号;-geometry 设置分辨率;-depth 设置色深(常用 24);-localhost no 允许非本机访问
  • 查看与关闭:
    • 查看:vncserver -list
    • 关闭:vncserver -kill :1
  • 客户端连接:
    • 地址格式:服务器IP:5901(或 IP:1,取决于客户端)
    • 推荐客户端:RealVNC Viewer、TigerVNC Viewer、MobaXterm VNC
    • 防火墙放行(UFW):sudo ufw allow 5901/tcp

四 常用图形化设置与优化

  • 分辨率与色深
    • 启动时指定:vncserver :1 -geometry 1920x1080 -depth 24
    • 运行中变更:先 vncserver -kill :1,再以新参数启动;或在部分桌面环境内通过“显示设置”调整
  • 多用户与多桌面
    • 不同编号对应不同会话与端口::1→5901,:2→5902,依次递增
  • 会话保持与锁屏
    • 避免直接“注销”(会结束会话与 VNC 进程);建议设置桌面不自动锁屏,减少断连后无法输入的问题
  • 开机自启(systemd 模板)
    • 新建服务:sudo nano /etc/systemd/system/vncserver@:1.service
    • 示例内容(替换 为实际用户名):
      [Unit]
      Description=Start TigerVNC server at startup
      After=syslog.target network.target
      
      [Service]
      Type=forking
      User=<username>
      ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
      ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24
      ExecStop=/usr/bin/vncserver -kill :%i
      Restart=on-failure
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用:sudo systemctl daemon-reload && sudo systemctl enable --now vncserver@:1
  • 安全建议
    • 优先通过 SSH 隧道访问:ssh -L 33389:localhost:5901 user@server,然后客户端连接 localhost:33389
    • 使用强密码;必要时限制来源 IP 与端口访问

五 常见问题快速排查

  • 连接超时或无法连接
    • 确认启动参数含 -localhost no;检查云服务器安全组/本机防火墙已放行 5901/tcp;用 vncserver -list 确认会话存在
  • 黑屏或闪退
    • 未安装桌面环境会导致黑屏;检查 ~/.vnc/xstartup 是否按所用桌面正确配置并具可执行权限;必要时查看 ~/.vnc/*.log 定位
  • 登录后无法输入或会话异常
    • 避免“注销”,直接断开连接;必要时重启 VNC 会话
  • 端口冲突
    • 更换显示编号(如改为 :2→5902),或结束占用端口的进程后再启动

0