Linux系统安装配置TigerVNC服务器完整指南

引言:TigerVNC 适用场景

TigerVNC 是一个高性能、跨平台的虚拟网络计算(VNC)服务器,主要用于远程桌面访问。以下是一些典型的使用场景:

1. 服务器远程管理

  • 无图形界面服务器:为仅安装了命令行界面的 Linux 服务器提供远程桌面环境,方便进行图形化配置和管理。
  • 数据中心运维:在机房环境中,通过 VNC 远程访问服务器桌面,减少物理接触需求。

2. 开发与测试环境

  • 远程开发:在远程服务器上运行 IDE 或图形化开发工具,从本地机器访问。
  • 软件测试:测试需要图形界面的应用程序,尤其是在无显示器的服务器上。

3. 教育培训

  • 教学演示:教师可以共享桌面给学生,进行软件操作演示。
  • 实验室环境:学生通过 VNC 访问实验室的 Linux 机器,进行编程和实验。

4. 多用户协作

  • 技术支持:技术支持人员通过 VNC 远程协助用户解决问题。
  • 团队协作:多个团队成员可以同时查看或操作同一台机器的桌面。

5. 个人使用

  • 家庭服务器:访问家庭媒体服务器或 NAS 的图形界面。
  • 旧设备利用:将旧电脑或迷你主机作为远程桌面服务器使用。

TigerVNC 的优势

  • 开源免费:完全开源,无需支付许可费用。
  • 跨平台:支持 Windows、Linux、macOS 等多种操作系统。
  • 高性能:采用高效的编码算法,在低带宽下也能提供流畅的体验。
  • 安全性:支持多种认证方式和加密传输。

本文将以 CentOS/RHEL 系统为例,详细介绍 TigerVNC 服务器的安装、配置和使用方法。

1. 环境检查与软件安装

1.1 检查是否已安装TigerVNC

bash 复制代码
# 检查系统是否有安装tigervnc-server软件包
rpm -qa | grep vnc

1.2 安装TigerVNC服务器

bash 复制代码
# 安装tigervnc-server软件包
yum install tigervnc-server

2. 配置VNC服务

2.1 进入systemd配置目录

bash 复制代码
cd /lib/systemd/system

2.2 复制VNC服务配置文件

bash 复制代码
# 复制配置文件模板,创建1号窗口的VNC服务配置
cp vncserver@.service vncserver@:1.service

2.3 编辑VNC服务配置文件

使用VI编辑器修改 vncserver@:1.service 文件,将 <USER> 替换为实际用户名:

ini 复制代码
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"       # <USER>修改为你需要的用户名
PIDFile=/home/<USER>/.vnc/%H%i.pid                                 # <USER>修改为你需要的用户名
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

3. 应用配置与启动服务

3.1 重新加载systemd配置

bash 复制代码
# 更新systemctl,使刚才的修改生效
systemctl daemon-reload

3.2 设置VNC用户密码

bash 复制代码
# 设置用户vnc的密码(使用第2.3步中设置的用户名)
vncpasswd <USER>
# 系统会提示输入密码并确认

3.3 启动VNC服务

bash 复制代码
# 使用1号窗口启动VNC服务
vncserver :1

4. 连接VNC服务器

4.1 服务器信息

  • VNC服务器端口:5901(1号窗口对应5901端口)

4.2 客户端连接

使用VNC客户端工具(如VNC-Viewer-6.1.1-Windows-64bit.exe)连接VNC服务器:

  • 服务器地址:IP地址:5901
  • 输入第3.2步设置的密码

5. 注意事项

  1. 配置文件说明 :/lib/systemd/system/vncserver@.service 是配置文件模板,可以根据需要创建多个VNC窗口配置
  2. 端口对应关系 :VNC窗口号与端口号的对应关系为 5900 + 窗口号
  3. 用户权限:确保配置文件中指定的用户有相应的家目录和权限
  4. 防火墙:如果启用了防火墙,需要开放对应的VNC端口(如5901)

6. 常用管理命令

bash 复制代码
# 查看VNC服务状态
systemctl status vncserver@:1.service

# 停止VNC服务
vncserver -kill :1

# 设置VNC服务开机自启
systemctl enable vncserver@:1.service

# 禁用VNC服务开机自启
systemctl disable vncserver@:1.service
相关推荐
Z21-X13 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla20 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
Decay__21 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
天远API1 天前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
程序员初一1 天前
8080 打不开的四层定位:监听地址、ufw、DOCKER 链、安全组
linux·ssh
程序开发阿元1 天前
swappiness 60 和 10 差在哪:一台 1C1G 的三轮对比
linux·ssh
无足鸟ICT1 天前
【RHCA+】mpstat命令(监控CPU)
linux
乐维_lwops1 天前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
GeW1 天前
新质生产力Linux和数据库为啥这么关键
linux