本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:VNC是一种远程桌面协议,”VNC-6.1.0-Linux-x86-ANY.tar.gz”是适用于32位Linux系统的VNC服务器安装包,兼容多种Linux发行版。该软件通过解压配置后可部署为远程访问服务,支持多用户并发连接,广泛应用于远程技术支持、云服务器管理和远程办公场景。本文档围绕该安装包,提供完整的部署流程、安全配置建议和远程连接操作指南,帮助用户快速搭建稳定安全的VNC服务。
VNC

1. VNC远程桌面协议原理简介

VNC(Virtual Network Computing)是一种基于RFB(Remote FrameBuffer)协议的远程桌面控制技术,允许用户通过网络远程访问和控制另一台计算机的图形界面。其核心原理是通过客户端与服务器之间的通信,将服务器端的屏幕帧图像传输至客户端显示,并将客户端的键盘与鼠标事件反馈至服务器端执行。

RFB协议采用客户端-服务器架构,通信过程主要包括初始化、认证、桌面尺寸与像素格式协商、图像更新与事件同步等阶段。图像数据通过多种编码方式进行压缩传输,如原始(Raw)、复制区域(CopyRect)、Hextile、ZRLE等,以提升传输效率和性能。

本章将深入剖析VNC的工作机制,为后续部署与配置打下坚实的理论基础。

2. Linux平台VNC服务器部署流程

Linux平台上的VNC服务器部署是一项常见的远程桌面管理任务,尤其在没有图形界面的服务器环境下,VNC可以为系统管理员提供一个可视化的操作界面。本章将围绕VNC服务器的安装与部署流程展开,包括VNC版本与组件概述、系统环境准备、安装VNC服务器软件、配置服务启动脚本等内容。通过本章的学习,您将能够掌握如何在Linux系统中独立部署VNC服务器,并理解其核心组件的工作机制。

2.1 VNC服务器的版本与组件概述

VNC服务器有多个实现版本,不同版本在功能、兼容性和配置方式上存在差异。此外,VNC服务器的运行依赖于若干核心组件,包括 vncserver 、 xstartup 、 vncpasswd 等。了解这些内容有助于我们选择适合当前系统的VNC版本,并正确配置其运行环境。

2.1.1 不同版本VNC的特性对比

目前主流的VNC服务器实现包括:

VNC版本 开发者 特点与适用场景 是否开源
TigerVNC TigerVNC项目组 高性能,支持多种图像编码,适用于远程桌面控制 是
TightVNC TightVNC项目组 压缩率高,适合低带宽环境 是
RealVNC RealVNC公司 商业版本功能强大,社区版本功能有限 否
UltraVNC UltraVNC项目组 支持Windows平台,跨平台能力较弱 是
x11vnc Karl J. Runke 专为X11设计,可连接已运行的X服务器 是

特性对比说明:

  • TigerVNC 是目前最流行的VNC服务器之一,支持多种图像编码(如ZRLE、Hextile、Tight等),具有良好的性能和稳定性,适合大多数Linux发行版。
  • TightVNC 以图像压缩率高著称,适用于网络带宽较低的场景,但其图像渲染速度略逊于TigerVNC。
  • RealVNC 提供了商业级支持和高级功能(如加密、远程打印等),但社区版功能受限,适合企业级部署。
  • UltraVNC 更偏向于Windows平台,Linux支持较弱。
  • x11vnc 与其他VNC不同,它不创建虚拟X服务器,而是连接到当前运行的X服务器,适合调试现有桌面环境。

2.1.2 核心组件介绍:vncserver、xstartup、vncpasswd

VNC服务器的运行依赖于以下几个核心组件:

  • vncserver :启动VNC服务的主程序,用于创建和管理虚拟X桌面。
  • xstartup :启动脚本文件,用于定义VNC连接后启动的桌面环境(如GNOME、KDE、XFCE等)。
  • vncpasswd :用于设置VNC连接密码的工具,生成的密码文件默认位于用户主目录下的 .vnc/passwd 。
示例:使用 vncpasswd 设置密码
vncpasswd

执行后会提示用户输入密码,确认后生成 .vnc/passwd 文件。密码以加密形式存储,确保安全性。

逻辑分析与参数说明:
  • vncpasswd 不带参数时默认为当前用户设置密码。
  • 使用 -f 参数可指定生成的密码文件路径:
    bash vncpasswd -f /path/to/custom/passwd
示例:启动VNC服务
vncserver :1
  • :1 表示显示编号(Display Number),每个VNC会话必须使用唯一的编号。
  • 启动后会在用户目录下生成 .vnc 目录,包含日志文件、密码文件和 xstartup 脚本。

2.2 Linux系统环境准备

在安装VNC服务器之前,需要确保系统环境满足其运行要求。主要包括检查是否安装图形界面、安装必要的依赖库和开发包等。

2.2.1 检查图形界面是否安装

VNC服务器需要图形界面支持,若系统未安装图形界面,需先安装桌面环境。

示例:检查是否安装图形界面
runlevel

输出为 N 3 或 N 5 ,其中:
- 3 表示命令行模式;
- 5 表示图形模式。

若为 3 ,则需要安装桌面环境。

示例:安装GNOME桌面(以CentOS为例)
sudo yum groupinstall "GNOME Desktop"
示例:切换运行级别至图形界面
sudo ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
sudo reboot
逻辑分析与参数说明:
  • groupinstall 表示安装一个软件包组。
  • "GNOME Desktop" 是CentOS中GNOME桌面的安装组名。
  • 修改默认运行级别通过软链接实现。

2.2.2 安装必要的依赖库和开发包

VNC服务器依赖X Window系统库和其他图形库。

示例:安装Xorg和相关库(以Ubuntu为例)
sudo apt install xorg xf86-video-dummy
  • xorg 是X Window系统的核心组件。
  • xf86-video-dummy 是虚拟显卡驱动,用于无图形硬件的VNC会话。
示例:安装字体支持
sudo apt install xfonts-base xfonts-100dpi

这些字体包确保VNC桌面中的文字正常显示。

2.3 安装VNC服务器软件

VNC服务器可以通过系统包管理器安装,也可以从源码或tar.gz包安装,后者适用于需要自定义编译或使用最新版本的场景。

2.3.1 使用系统包管理器安装

示例:在Ubuntu上安装TigerVNC服务器
sudo apt install tigervnc-standalone-server tigervnc-common
示例:在CentOS上安装TigerVNC
sudo yum install tigervnc-server
逻辑分析与参数说明:
  • tigervnc-standalone-server 提供独立运行的VNC服务。
  • tigervnc-common 包含公共库和工具。

2.3.2 从源码或tar.gz包安装

示例:下载并解压tar.gz包
wget https://github.com/TigerVNC/tigervnc/archive/refs/tags/v1.12.0.tar.gz
tar -zxvf v1.12.0.tar.gz
cd tigervnc-1.12.0
示例:编译并安装
mkdir build && cd build
cmake ..
make
sudo make install
逻辑分析与参数说明:
  • cmake 是跨平台构建工具,用于生成Makefile。
  • make 编译源码。
  • make install 将编译好的程序安装到系统路径。

2.4 配置VNC服务启动脚本

VNC服务启动后默认会运行一个最小化的X桌面环境。为了使用完整的桌面环境(如GNOME、KDE、XFCE),需要修改 xstartup 文件。

2.4.1 修改xstartup文件以启动桌面环境

示例:编辑xstartup文件
nano ~/.vnc/xstartup

修改内容如下:

#!/bin/sh

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

若使用XFCE桌面:

#!/bin/sh

unset SESSION_MANAGER
exec startxfce4 &

保存并退出。

逻辑分析与参数说明:
  • unset SESSION_MANAGER :禁用会话管理器以避免冲突。
  • exec startxfce4 & :后台启动XFCE桌面环境。

2.4.2 设置用户启动脚本权限

确保 xstartup 文件具有可执行权限:

chmod +x ~/.vnc/xstartup
逻辑分析与参数说明:
  • chmod +x 给文件添加可执行权限。
  • VNC服务启动时将调用该脚本初始化图形界面。

本章流程图示意(mermaid)

graph TD
    A[选择VNC版本] --> B[安装依赖库]
    B --> C[安装VNC服务器]
    C --> D[配置xstartup]
    D --> E[设置密码]
    E --> F[启动VNC服务]

通过本章内容的学习,您已经掌握了Linux平台VNC服务器的部署全过程,包括版本选择、环境准备、安装配置等关键步骤。在下一章节中,我们将深入讲解如何解压并安装 .tar.gz 格式的VNC安装包,进一步提升您对Linux系统下软件部署的掌握能力。

3. tar.gz格式安装包解压操作

在Linux系统中,tar.gz是一种非常常见的压缩包格式,尤其在软件安装包中被广泛使用。它结合了tar打包工具和gzip压缩算法,能够高效地将多个文件和目录打包并压缩,便于传输和分发。对于VNC等开源软件来说,tar.gz格式的安装包常用于提供源码或预编译版本,供用户自行解压、配置和安装。

本章将从tar.gz压缩包的组成结构入手,逐步讲解如何使用tar命令进行解压操作,并以 VNC-6.1.0-Linux-x86-ANY.tar.gz 为例,详细介绍解压到指定目录、进入安装目录以及执行安装脚本的全过程。最后还将演示如何验证安装是否成功,确保后续VNC服务的配置与运行能够顺利进行。

3.1 tar.gz压缩包的结构与组成

tar.gz压缩包由两个核心部分组成:tar打包机制和gzip压缩机制。tar负责将多个文件和目录打包成一个单一的 .tar 文件,而gzip则负责将该文件进一步压缩,生成 .tar.gz 格式的压缩包。

3.1.1 tar与gzip的结合原理

tar(Tape ARchive)是一种用于打包文件的工具,最初设计用于磁带备份。它可以将多个文件和目录合并成一个单一的 .tar 文件。虽然tar本身不进行压缩,但可以通过配合gzip等压缩工具来实现高效的压缩。

其结合流程如下:

graph TD
    A[原始文件] --> B(tar打包)
    B --> C[.tar文件]
    C --> D(gzip压缩)
    D --> E[.tar.gz压缩包]

在这个流程中,tar将多个文件打包为一个归档文件,然后gzip对其进行压缩,最终生成一个更小体积的 .tar.gz 文件。

3.1.2 常见的安装包目录结构分析

以 VNC-6.1.0-Linux-x86-ANY.tar.gz 为例,解压后通常包含如下结构:

目录/文件名 说明
bin/ 可执行文件目录,如vncserver、vncviewer等
lib/ 动态链接库文件
share/ 共享资源文件,如图标、文档等
doc/ 文档目录,包含README、INSTALL等说明文件
README 安装说明文档
INSTALL 安装步骤指南

这种结构类似于Linux系统中常见的软件安装目录布局,便于用户快速定位所需文件并完成安装。

3.2 解压tar.gz文件的操作流程

在Linux中,使用tar命令可以轻松解压tar.gz格式的压缩包。tar命令支持多种参数,能够实现查看内容、解压到指定目录等功能。

3.2.1 使用tar命令进行解压操作

解压tar.gz文件的基本命令如下:

tar -zxvf 文件名.tar.gz
  • -z :表示使用gzip压缩算法。
  • -x :表示解压。
  • -v :显示解压过程中的文件列表。
  • -f :指定要操作的文件。

例如,解压 VNC-6.1.0-Linux-x86-ANY.tar.gz :

tar -zxvf VNC-6.1.0-Linux-x86-ANY.tar.gz

执行后,系统将按照压缩包内的目录结构解压文件到当前目录。

代码逻辑分析:
  • tar :调用tar命令。
  • -z :启用gzip压缩/解压。
  • -x :执行解压操作。
  • -v :显示详细解压过程,便于用户查看当前解压的文件。
  • -f :指定具体操作的文件名。
  • VNC-6.1.0-Linux-x86-ANY.tar.gz :要解压的目标文件。

3.2.2 查看解压后的文件内容与结构

解压完成后,可以使用 ls 命令查看当前目录下的文件结构:

ls -R VNC-6.1.0-Linux-x86-ANY/

输出结果可能如下:

VNC-6.1.0-Linux-x86-ANY/:
bin/  doc/  lib/  share/

VNC-6.1.0-Linux-x86-ANY/bin:
vncserver  vncviewer

VNC-6.1.0-Linux-x86-ANY/doc:
INSTALL  README

VNC-6.1.0-Linux-x86-ANY/lib:
libvncclient.so.0

VNC-6.1.0-Linux-x86-ANY/share:
icons/  vnc/

通过这种方式,可以确认解压后的目录结构是否完整,以及是否包含所需的可执行文件和库文件。

3.3 安装VNC-6.1.0-Linux-x86-ANY.tar.gz的具体步骤

接下来以 VNC-6.1.0-Linux-x86-ANY.tar.gz 为例,详细讲解解压、进入安装目录以及执行安装脚本的完整流程。

3.3.1 解压到指定目录并进入安装目录

建议将VNC解压到 /opt 目录下,以便统一管理第三方软件:

sudo tar -zxvf VNC-6.1.0-Linux-x86-ANY.tar.gz -C /opt/
  • -C :指定解压的目标目录。

进入安装目录:

cd /opt/VNC-6.1.0-Linux-x86-ANY/

3.3.2 执行安装脚本或手动配置安装路径

有些tar.gz包中包含安装脚本,例如 install.sh 。如果没有,则需要手动配置环境变量或创建软链接。

以手动配置为例:

sudo ln -s /opt/VNC-6.1.0-Linux-x86-ANY/bin/vncserver /usr/local/bin/vncserver
sudo ln -s /opt/VNC-6.1.0-Linux-x86-ANY/bin/vncviewer /usr/local/bin/vncviewer

该操作将VNC的可执行文件添加到系统路径中,便于后续调用。

代码逻辑分析:
  • ln -s :创建符号链接。
  • /opt/.../bin/vncserver :源文件路径。
  • /usr/local/bin/vncserver :目标路径,位于系统PATH中。
  • 这样用户在任意位置均可执行 vncserver 命令。

3.4 安装后的初步验证

安装完成后,必须验证VNC命令是否可用、路径是否正确,以确保后续配置和运行不会出错。

3.4.1 检查可执行文件路径是否正确

使用 which 命令检查VNC命令是否在PATH中:

which vncserver

输出应为:

/usr/local/bin/vncserver

使用 ls -l 查看链接是否正确指向:

ls -l /usr/local/bin/vncserver

输出示例:

lrwxrwxrwx 1 root root 39 Oct 15 10:00 /usr/local/bin/vncserver -> /opt/VNC-6.1.0-Linux-x86-ANY/bin/vncserver

3.4.2 测试VNC命令行工具是否可用

尝试运行 vncserver 命令查看帮助信息:

vncserver -help

若输出如下内容,说明安装成功:

vncserver: A program to start a VNC server session.

Usage: vncserver [OPTIONS] [DISPLAY]
Options:
  -name NAME        Set the VNC desktop name.
  -depth D          Set pixel depth in bits (8, 16, 24, or 32).
  -geometry WxH     Set the desktop geometry.
  -localhost        Only allow connections from localhost.
  -displaynumber N  Use this display number instead of searching for one.
  -kill             Kill the Xvnc server specified by DISPLAY.
  -list             List active Xvnc servers.

这表明VNC命令行工具已成功安装,并可正常使用。

本章详细讲解了tar.gz格式安装包的结构、解压流程、具体安装步骤以及安装后的验证方法。通过掌握这些内容,读者能够独立完成VNC等开源软件的tar.gz包安装工作,为后续服务的配置与运行打下坚实基础。

4. VNC Server配置与密码设置

在完成VNC服务器的安装之后,接下来的步骤是进行服务的配置与密码设置。良好的配置不仅能够提升VNC服务的可用性,还能增强其安全性。本章将深入讲解VNC服务的配置文件结构、用户账户管理、密码安全设置以及桌面环境的自定义,帮助读者实现一个稳定、安全且个性化的远程桌面环境。

4.1 VNC服务的配置文件解析

VNC服务的配置主要依赖于其配置文件和相关启动脚本。理解这些文件的结构与作用,是进行有效配置的前提。

4.1.1 配置文件位置与结构分析

在Linux系统中,VNC服务的配置文件通常位于用户的主目录下。对于某个用户来说,其VNC配置目录一般为 ~/.vnc/ 。该目录下常见的文件包括:

文件名 说明
xstartup VNC启动时执行的脚本,用于启动桌面环境
passwd VNC连接密码文件,经过加密处理
config 可选的配置文件,用于指定默认参数
log 文件 日志文件,记录VNC服务运行过程中的信息
host:display.log 每个显示编号对应的日志文件,用于调试

以 xstartup 文件为例,其内容通常如下:

#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

代码逻辑分析:

  • #!/bin/sh :指定脚本使用sh解释器执行。
  • unset SESSION_MANAGER :取消会话管理器,避免与VNC冲突。
  • exec /etc/X11/xinit/xinitrc :执行系统默认的X会话启动脚本。

该脚本决定了VNC启动时使用的桌面环境。如果需要更换为GNOME或KDE等桌面环境,可以修改该文件内容。

4.1.2 修改默认端口与显示编号

VNC服务默认监听的端口为 5900 + N ,其中 N 是显示编号(display number)。例如,显示编号为1的VNC服务监听端口为5901。

要修改默认端口或显示编号,可以通过在启动VNC服务时指定参数来实现:

vncserver :2 -rfbport 5902
  • :2 表示显示编号为2,对应端口5902。
  • -rfbport 5902 明确指定RFB协议监听端口为5902。

参数说明:

参数 说明
:N 指定显示编号N,对应端口为5900+N
-rfbport 自定义RFB协议端口
-geometry 设置默认分辨率,如 -geometry 1280x800
-depth 设置颜色深度,如 -depth 24

4.2 用户账户与访问权限管理

VNC服务支持多用户并发访问,每个用户可以拥有独立的配置文件和桌面环境。因此,合理的用户账户管理至关重要。

4.2.1 创建VNC用户并设置主目录

建议为每个需要远程访问的用户单独创建系统账户。例如:

useradd -m vncuser
passwd vncuser
  • -m 表示自动创建用户的主目录。
  • passwd vncuser 用于设置用户密码。

创建完成后,切换到该用户并初始化VNC配置:

su - vncuser
vncserver

首次运行 vncserver 时会提示设置连接密码,并自动生成 ~/.vnc/ 目录及其配置文件。

4.2.2 配置多用户访问权限

多个用户可以同时运行各自的VNC服务实例,但需使用不同的显示编号。例如:

su - vncuser1
vncserver :1

su - vncuser2
vncserver :2

注意事项:

  • 每个用户的服务独立运行,互不影响。
  • 不同显示编号对应不同端口(如 :1 对应5901, :2 对应5902)。
  • 可通过防火墙规则限制特定IP访问特定端口,增强安全性。

4.3 VNC密码的安全设置

密码是VNC服务的第一道防线,合理设置与管理密码是保障远程访问安全的关键。

4.3.1 使用vncpasswd命令设置密码

每个VNC用户应使用 vncpasswd 命令设置连接密码:

vncpasswd

该命令会提示用户输入并确认密码,并将加密后的密码存储在 ~/.vnc/passwd 文件中。

执行流程:

  1. 用户运行 vncpasswd
  2. 系统提示输入密码(最多8字符)
  3. 密码被加密后写入 ~/.vnc/passwd

安全性建议:

  • 密码长度不应超过8字符,但应尽量复杂。
  • 不应与其他系统密码重复。
  • 定期更换密码,避免泄露。

4.3.2 密码文件的存储位置与安全性分析

VNC密码文件位于 ~/.vnc/passwd ,其权限应设置为仅用户可读写:

chmod 600 ~/.vnc/passwd
chown vncuser:vncuser ~/.vnc/passwd

文件权限说明:

权限 说明
600 只有文件所有者可读写,其他用户无权限
644 所有用户可读,但不推荐,存在安全隐患

安全风险分析:

  • 如果密码文件权限过大(如644),其他用户可能读取并尝试破解。
  • 不建议将密码文件设置为全局可读,否则可能导致账户被入侵。

4.4 自定义桌面环境与分辨率设置

VNC服务默认可能不会加载完整的桌面环境,用户可以通过修改配置文件来定制自己的远程桌面体验。

4.4.1 修改xstartup文件以启动不同桌面环境

如需启动GNOME桌面环境,可将 ~/.vnc/xstartup 文件内容修改为:

#!/bin/sh
unset SESSION_MANAGER
exec /usr/bin/gnome-session

代码逐行分析:

  • #!/bin/sh :指定使用sh解释器。
  • unset SESSION_MANAGER :防止与GNOME会话管理冲突。
  • exec /usr/bin/gnome-session :启动GNOME桌面会话。

其他桌面环境示例:

桌面环境 启动命令
GNOME /usr/bin/gnome-session
KDE /usr/bin/startkde
XFCE /usr/bin/xfce4-session
LXDE /usr/bin/startlxde

确保所用命令路径正确,可通过 which 或 locate 命令查找。

4.4.2 设置默认分辨率与颜色深度

在启动VNC服务时,可以指定分辨率和颜色深度:

vncserver :1 -geometry 1280x800 -depth 24

参数说明:

参数 说明
-geometry 设置桌面分辨率,如 1280x800
-depth 设置颜色深度,常见值为16、24、32位

推荐设置:

  • 分辨率根据客户端屏幕大小设置,建议不低于1024x768。
  • 颜色深度建议设置为24位,兼顾画质与性能。
Mermaid流程图:VNC启动流程
graph TD
    A[用户执行vncserver命令] --> B[检查配置文件]
    B --> C[加载xstartup脚本]
    C --> D[启动X Server]
    D --> E[启动指定桌面环境]
    E --> F[服务启动成功]
    F --> G[客户端通过IP:端口连接]

该流程图清晰展示了VNC服务从启动到客户端连接的全过程。

通过本章的详细讲解,读者应能够完成VNC服务的配置、用户权限管理、密码设置以及桌面环境的个性化定制。下一章将深入讲解如何启动与管理VNC虚拟桌面会话,包括多用户并发访问的配置与服务管理方式。

5. 启动与管理虚拟桌面会话

VNC服务部署完成后,如何启动和管理虚拟桌面会话是确保远程访问顺利运行的关键步骤。本章将详细介绍如何使用命令行工具启动、查看、停止和重启VNC会话,并探讨如何配置多用户并发访问及系统级服务管理,以提升VNC服务的可用性和稳定性。

5.1 启动VNC虚拟桌面会话

5.1.1 使用vncserver命令启动指定显示编号

VNC会话通过显示编号(Display Number)进行区分,通常以 :1 、 :2 等形式表示。启动VNC服务的基本命令如下:

vncserver :1

执行该命令后,系统会提示你设置一个密码(如果尚未设置),并创建一个对应显示编号的X桌面环境。

参数说明:
- :1 表示该VNC服务运行在显示编号1上,对应的端口为5901(5900 + 显示编号)。

你也可以指定分辨率和颜色深度启动:

vncserver :1 -geometry 1280x800 -depth 24

参数说明:
- -geometry :设置桌面分辨率。
- -depth :设置颜色深度,常用值为16、24、32位。

5.1.2 检查日志文件确认启动状态

VNC会话的日志文件通常位于用户主目录下的 .vnc 子目录中,例如:

~/.vnc/your-hostname:1.log

可以通过以下命令查看日志:

cat ~/.vnc/your-hostname:1.log

如果看到类似以下输出,则表示VNC服务已成功启动:

Xvnc TigerVNC 1.12.0 - built Sep  1 2023 10:34:12
Copyright (C) 1999-2022 TigerVNC Team and many others (see README)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 40900000, The X.Org Foundation

Initializing built-in extension VNC-EXTENSION

5.2 管理VNC会话生命周期

5.2.1 查看当前运行的VNC会话

可以使用以下命令查看当前所有正在运行的VNC会话:

vncserver -list

输出示例如下:

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:1      12345
:2      12367

该信息可以帮助你了解哪些显示编号已被占用,便于后续管理。

5.2.2 停止与重启指定编号的VNC服务

要停止某个VNC会话,使用如下命令:

vncserver -kill :1

说明:
- :1 是要终止的显示编号。
- 此命令会删除对应的X服务器进程和 .vnc 目录下的锁文件。

若要重启某个会话,先终止再重新启动即可:

vncserver -kill :1
vncserver :1

5.3 多用户并发访问的配置

5.3.1 配置多个显示编号支持并发访问

每个用户可以配置不同的显示编号来实现并发访问。例如,用户A使用 :1 ,用户B使用 :2 :

su - userA
vncserver :1

su - userB
vncserver :2

每个用户的配置和桌面环境相互独立,互不影响。

5.3.2 资源分配与性能优化建议

  • 限制并发数量 :根据系统资源(CPU、内存)合理分配显示编号,避免资源耗尽。
  • 设置分辨率限制 :高分辨率会增加带宽和渲染负担,建议普通用户使用1024x768或1280x800。
  • 启用压缩编码 :在客户端连接时启用 tight 或 zrle 编码方式,可显著降低带宽占用。
  • 使用只读模式 :对于监控类用户,可配置只读模式防止误操作。

5.4 VNC服务的系统级管理

5.4.1 设置VNC服务开机自启

要实现VNC服务在系统启动时自动运行,可以将其添加到系统服务中。以使用 systemd 的系统为例,创建服务文件:

sudo nano /etc/systemd/system/vncserver@:1.service

写入如下内容(以用户 userA 为例):

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=userA
PAMName=login
PIDFile=/home/userA/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill %i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver %i -geometry 1280x800 -depth 24
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

保存后,启用并启动服务:

sudo systemctl daemon-reexec
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service

5.4.2 使用systemd或init脚本管理服务

对于较老版本系统(使用 init ),可以创建init脚本:

sudo nano /etc/init.d/vncserver

添加如下示例内容(以用户userA为例):

#!/bin/bash
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start VNC Server
### END INIT INFO

PATH="$PATH:/usr/X11R6/bin/"

# The Username:Group that will run VNC
export USER="userA"

# The display that VNC will use
DISPLAY="1"

case "$1" in
start)
  su - $USER -c "vncserver :$DISPLAY"
  ;;
stop)
  su - $USER -c "vncserver -kill :$DISPLAY"
  ;;
restart)
  $0 stop
  $0 start
  ;;
*)
  echo "Usage: $0 {start|stop|restart}"
  exit 1
esac

赋予执行权限并加入开机启动:

sudo chmod +x /etc/init.d/vncserver
sudo update-rc.d vncserver defaults

通过以上方式,可以将VNC服务纳入系统级管理,提升服务的稳定性和可维护性。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:VNC是一种远程桌面协议,”VNC-6.1.0-Linux-x86-ANY.tar.gz”是适用于32位Linux系统的VNC服务器安装包,兼容多种Linux发行版。该软件通过解压配置后可部署为远程访问服务,支持多用户并发连接,广泛应用于远程技术支持、云服务器管理和远程办公场景。本文档围绕该安装包,提供完整的部署流程、安全配置建议和远程连接操作指南,帮助用户快速搭建稳定安全的VNC服务。


本文还有配套的精品资源,点击获取
menu-r.4af5f7ec.gif

更多推荐