资讯动态

TigerVNC 安装流程

发布时间:2026/8/7 11:27:10 来源:尧图企业网站定制
本文来自 ChatGPT 问答本人仅对文章的部分内容进行了删减、补充、调整。文章目录0.前言1. 更新软件源2. 安装 XFCE 桌面环境3. 安装 TigerVNC Server4. 创建 VNC 用户密码5. 配置“用户-窗口”映射6. 配置全局默认参数6. 配置用户默认参数【可选】7. 启动 systemd 服务8. 测试连接9. 新增用户10. 安全建议生产环境0.前言在 Linux 上安装远程桌面的方案很多如VNC、RDP、类向日葵的软件但最通用的方案还是 VNC。VNC 的实现项目很多其中 TigerVNC 在 GitHub 上的星星最多于是我便选择它作为本次的实验对象。以下便是由 ChatGPT 整理好的一套在 Ubuntu Server 上安装 TigerVNC XFCE 桌面环境的标准流程目标架构Windows 客户端 | | VNC Viewer | ↓ Ubuntu Server | ├── TigerVNC Server | └── XFCE Desktop适用于Ubuntu Server 22.04 / 24.04无 GUI 的纯服务器环境运维远程桌面场景软件架构/etc/tigervnc/ │ ├── vncserver-config-defaults │ | │ └── 全局 XFCE 配置 │ └── vncserver.users | ├── :1user1 ├── :2user2 └── :3user3 /home/user1/ └── .vnc/ └── passwd └── config 用户 XFCE 配置 /home/user2/ └── .vnc/ └── passwd └── config 用户 XFCE 配置1. 更新软件源sudoaptupdate2. 安装 XFCE 桌面环境Ubuntu Server 默认没有桌面需要安装。推荐 XFCE轻量sudoaptinstallxfce4 xfce4-goodies-y注仅安装 xfce4 而不安装显示管理器的话在本机上是无法正常登录的因此我建议将sudo apt install gdm3也安装上。但如果没有本地登录的需求仅仅只是远程登录的话那是否还需要安装显示管理器这个未实验情况不明。【各种桌面环境项目的示例可参考此文章。】检查whichstartxfce4正常/usr/bin/startxfce43. 安装 TigerVNC ServerUbuntu 官方源sudoaptinstalltigervnc-standalone-server tigervnc-tools-y确认版本vncserver--version例如TigerVNC server version 1.13.14. 创建 VNC 用户密码切换到你的普通用户例如subot007执行vncpasswd输入密码。【注这个密码是登录 vnc 时的独立密码和用户登录 ssh 时的密码不是一回事。】生成~/.vnc/passwd检查ls-la~/.vnc/应该看到passwd5. 配置“用户-窗口”映射Ubuntu 新版 TigerVNC 使用/etc/tigervnc/vncserver.users创建sudovim/etc/tigervnc/vncserver.users加入:1bot007含义显示编号 :1 | 用户 bot007对应端口5900 1 59016. 配置全局默认参数编辑sudovim/etc/tigervnc/vncserver-config-defaultsUbuntu 的 TigerVNC 1.13 通常使用 Perl 格式$sessionxfce;# 控制远程桌面时使用哪个桌面环境$geometry1920x1080;$localhostno;# 控制 VNC 服务是否只能在本机开放$alwayssharedyes;# 打开桌面会话共享功能使得同一个账户的 VNC 画面可以被实时显示给不同的连接客户端。注意每行末尾必须有封号。6. 配置用户默认参数【可选】注用户默认参数和全局默认参数是类似的但用户的优先级要高于全局。编辑vim~/.vnc/config加入localhostno geometry1920x1080 sessionxfce alwaysshared以上~/.vnc/config的效果和/etc/tigervnc/vncserver-config-defaults的效果是一样的。注此外如果还想控制远程桌面的会话被启动时还可以一同去启动其它应用那么可以自定义 xstartup 脚本例如cat~/.vnc/xstartup#!/bin/bashunsetSESSION_MANAGERunsetDBUS_SESSION_BUS_ADDRESS#exec gnome-sessionexecstartxfce4execfirefox如果你想尝试 GNOME 桌面环境则需要安装sudo apt install ubuntu-desktop gnome-session gnome-shell -y然后将上面注释的 gnome-session 那行取消注释即可亦或者直接在 参数配置文件中进行指定。7. 启动 systemd 服务启动sudosystemctlenabletigervncserver:1sudosystemctl start tigervncserver:1查看sudosystemctl status tigervncserver:1正常Active: active (running)8. 测试连接查看vncserver-list例如TigerVNC server sessions: X DISPLAY # RFB PORT :1 5901然后在 Windows 安装 TigerVNC Viewer 连接TigerVNC 官方客户端下载链接其中tigervnc-X.Y.Z.exe是 VNC 客户端安装版vncviewer-X.Y.Z.exe是 VNC 客户端免装版tigervnc-winvnc-X.Y.Z.exe是 VNC 服务端的 Windows 安装包。服务器IP:5901例如192.168.1.100:5901输入 VNC 密码。正常应该进入XFCE Desktop9. 新增用户新增 VNC 用户需要先在 Linux 系统中创建该用户然后 su 切换到该用户的 shell 环境然后按照步骤4、5、7 的动作即可。总的操作流程如下#1新增用户sudoaddusertest#2切换到新用户的 shell 环境sutest#3为新用户设置 vnc 登录密码vncpasswd#4为新用户分配 VNC 窗口cat/etc/tigervnc/vncserver.users :1ubuntu :2test#5启动专属于新用户的 VNC 桌面服务sudosystemctl start tigervncserver:2#6VNC 客户端连接 ip:590210. 安全建议生产环境由于 VNC 的登录只验证 VNC 密码不需要经过 shell 环境的账户密码登录因此只要 VNC 密码正确登录者便可以直接进入到机器的桌面环境。这对于攻击者来说通过密码爆破非常容易做到。因此在公网环境下非常不推荐暴露 tcp/590X 端口更推荐通过 SSH 建立本地隧道。然后通过 VNC 客户端去连接。具体做法就是VNC 服务器保持$localhostyes;VNC 客户端处先建立 ssh 隧道ssh-L5901:localhost:5901 userserver-ip然后再通过 VNC 客户端连接本地的隧道端口localhost:5901如此一来一样可以对 inux 发起远程桌面连接而且在认证上还加了两道保险1ssh 隧道的建立需要验证 Linux 系统的账户密码。2连接VNC 需要验证 VNC 密码。我的博客园

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价