温馨提示×

TigerVNC在Linux上如何安装

小樊
32
2025-12-16 16:42:33
栏目: 智能运维

TigerVNC在Linux上的安装与快速配置

一 安装步骤

  • 不同发行版的安装命令如下(任选其一执行):
    • Ubuntu/Debian
      • 更新索引并安装:sudo apt update && sudo apt install -y tigervnc-standalone-server tigervnc-common
    • CentOS/RHEL 7
      • 安装服务器:sudo yum install -y tigervnc-server
    • Fedora
      • 安装服务器:sudo dnf install -y tigervnc-server
    • Arch Linux
      • 安装:sudo pacman -S tigervnc
  • 提示:TigerVNC需要系统已安装桌面环境(如 GNOME、Xfce、KDE)。未安装可先安装相应桌面再继续。

二 首次配置与启动

  • 设置VNC连接密码(首次运行会提示创建):vncpasswd(密码保存在 ~/.vnc/passwd,建议复杂度高一些)。
  • 配置桌面会话(创建或编辑 ~/.vnc/xstartup,并赋予可执行权限):
    • Xfce(轻量稳定,推荐):
      #!/bin/sh
      unset SESSION_MANAGER
      unset DBUS_SESSION_BUS_ADDRESS
      exec startxfce4
      
    • GNOME(以Ubuntu默认会话为例):
      #!/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
      
    • 赋权:chmod +x ~/.vnc/xstartup
  • 启动VNC服务(示例为显示编号 :1,对应端口 5901):vncserver :1 -geometry 1920x1080 -depth 24
  • 常用管理:
    • 查看会话:vncserver -list
    • 停止会话:vncserver -kill :1
  • 端口说明:显示编号 :n 对应 5900+n(例如 :1 → 5901)。

三 防火墙与开机自启

  • 防火墙放行(按需开放对应端口,示例为 5901/tcp):
    • firewalld(CentOS/RHEL/Fedora):sudo firewall-cmd --add-port=5901/tcp --permanent && sudo firewall-cmd --reload
    • UFW(Ubuntu/Debian):sudo ufw allow 5901/tcp && sudo ufw reload
  • Systemd 服务自启(推荐):
    • 创建服务文件:sudo nano /etc/systemd/system/vncserver@.service,内容示例(将 替换为实际用户名):
      [Unit]
      Description=Start TigerVNC server at startup
      After=syslog.target network.target
      
      [Service]
      Type=forking
      User=<USER>
      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 --now vncserver@1.service
  • 旧版 RHEL/CentOS 7 也可复制并修改系统提供的模板:/lib/systemd/system/vncserver@.service → /etc/systemd/system/vncserver@:2.service,将 替换为实际用户后启用。

四 客户端连接与安全建议

  • 直连方式:在VNC客户端输入 服务器IP:5901(对应 :1)。如使用云服务器或公网,建议仅开放 SSH(22/tcp),通过 SSH 隧道转发:
    • 建立隧道:ssh -L 5901:127.0.0.1:5901 @<SERVER_IP>
    • 客户端连接:localhost:5901
  • 客户端工具可选:TigerVNC Viewer、RealVNC、Remmina、MobaXterm 等。

五 常见问题排查

  • 黑屏或无响应:检查 ~/.vnc/xstartup 是否按所用桌面环境正确配置,查看日志 cat ~/.vnc/*.log 定位错误。
  • 连接被拒绝或超时:确认服务已启动 ss -tulnp | grep vnc,并核对防火墙/安全组已放行对应 590n 端口。
  • 多用户与端口:每个显示编号 :n 占用 5900+n,避免端口冲突;必要时规划端口段并统一放行策略。

0