tigervnc在ubuntu上如何配置
导读:Ubuntu 上配置 TigerVNC 的完整步骤 一 环境准备与安装 更新索引并安装桌面与服务器组件(以 Ubuntu 22.04/24.04 为例,若已安装桌面可跳过桌面安装): 安装桌面(二选一): 完整桌面:sudo apt...
Ubuntu 上配置 TigerVNC 的完整步骤
一 环境准备与安装
- 更新索引并安装桌面与服务器组件(以 Ubuntu 22.04/24.04 为例,若已安装桌面可跳过桌面安装):
- 安装桌面(二选一):
- 完整桌面:sudo apt install ubuntu-desktop
- 轻量替代:sudo apt install xfce4 xfce4-goodies
- 安装 TigerVNC 服务端:sudo apt install tigervnc-standalone-server
- 安装桌面(二选一):
- 若系统为 Ubuntu Server,需先启用图形目标:sudo systemctl set-default graphical.target
- 防火墙放行(如启用 UFW):sudo ufw allow 5901:5910/tcp(示例开放 5901–5910,对应 :1–:10)
二 初始化与基础配置
- 切换到目标普通用户,初始化 VNC 密码(不要使用 sudo):vncpasswd(只读密码建议选 n)
- 首次运行会自动创建 ~/.vnc,可查看实例:vncserver -list;停止实例:vncserver -kill :1
- 端口规则:显示号 :n 对应端口 5900+n(如 :1 → 5901)
- 常用启动参数(示例):vncserver :1 -geometry 1600x900 -depth 24 -localhost no
- 说明:-localhost no 允许远程直连;如仅本机隧道访问可保持默认 localhost 限制
三 桌面会话与 xstartup 配置
- 使用 Xfce(轻量稳定,推荐服务器场景):
- 配置 ~/.vnc/xstartup:
#!/bin/sh xrdb $HOME/.Xresources startxfce4 & - 赋权:chmod +x ~/.vnc/xstartup
- 配置 ~/.vnc/xstartup:
- 使用 GNOME(两种常见做法,二选一)
- 方式 A(会话文件选择,较新版本常用):创建 ~/.xsessionrc
之后直接启动 VNC,TigerVNC 会使用 /etc/X11/Xtigervnc-session 启动 GNOME(通常无需手写 xstartup)。export XAUTHORITY=$HOME/.Xauthority export XDG_CURRENT_DESKTOP=ubuntu:GNOME export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg - 方式 B(显式启动会话,兼容旧版/Flashback):配置 ~/.vnc/xstartup
赋权:chmod +x ~/.vnc/xstartup#!/bin/sh export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS [ -x /etc/vnc/xstartup ] & & exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] & & xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &
- 方式 A(会话文件选择,较新版本常用):创建 ~/.xsessionrc
- 提示:可用 ls /usr/share/xsessions/ 查看可用会话名(如 ubuntu.desktop、xfce.desktop),据此调整启动命令
四 连接与安全加固
- 直接远程连接(开放端口时):客户端连接 服务器IP:5901(对应 :1)。为降低暴露面,优先使用 SSH 隧道:
- 本地端口转发:ssh -L 5901:127.0.0.1:5901 用户名@服务器IP
- 客户端连接:localhost:1
- 证书加密(可选,提升安全性与完整性):
- 生成证书(将 x.x.x.x 替换为服务器 IP 或域名):
openssl req -x509 -newkey rsa -days 3650 -nodes \ -config /usr/lib/ssl/openssl.cnf \ -keyout ~/.vnc/vnc-server-private.pem \ -out ~/.vnc/vnc-server.pem \ -subj '/CN=你的服务器名称' \ -addext "subjectAltName=IP:x.x.x.x" - 配置 ~/.vnc/config:
session=ubuntu geometry=1600x900 depth=24 localhost=no X509Cert=/home/你的用户名/.vnc/vnc-server.pem X509Key=/home/你的用户名/.vnc/vnc-server-private.pem SecurityTypes=X509Vnc - 重启实例后生效
- 生成证书(将 x.x.x.x 替换为服务器 IP 或域名):
五 开机自启与多用户扩展
- 单用户便捷方案(推荐):创建自动登录的 getty 服务,登录即自动启动 vncserver,体验接近物理登录(适合个人单用户)。思路为复制并改造 /lib/systemd/system/getty@.service 为自定义服务,在登录会话中启动 vncserver。该方式权限与本地登录一致,便于需要 sudo 的图形化操作。具体单元文件与改造步骤可参考实践文章说明。
- 系统级服务方案(传统做法,示例):
- 新建 /etc/systemd/system/vncserver@:1.service(以 :1 为例,其他显示号替换即可):
[Unit] Description=TigerVNC Server :1 After=syslog.target network.target [Service] Type=forking User=你的用户名 Group=你的用户名 WorkingDirectory=/home/你的用户名 PIDFile=/home/你的用户名/.vnc/%H:1.pid ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2> & 1 ExecStart=/usr/bin/vncserver :1 -geometry 1600x900 -depth 24 -localhost no ExecStop=/usr/bin/vncserver -kill :1 [Install] WantedBy=multi-user.target - 启用与启动:
sudo systemctl daemon-reload sudo systemctl enable --now vncserver@:1.service sudo systemctl status vncserver@:1.service
- 新建 /etc/systemd/system/vncserver@:1.service(以 :1 为例,其他显示号替换即可):
- 多用户扩展:为每个用户分别初始化 vncpasswd、配置 xstartup 或 ~/.xsessionrc,分配不同显示号(如 :1、:2),并确保防火墙与端口范围放行;必要时使用独立的 systemd 服务单元(如 vncserver@:2.service)管理。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: tigervnc在ubuntu上如何配置
本文地址: https://pptw.com/jishu/787317.html
