TurboVNC 安装和配置指南

TurboVNC 安装和配置指南

turbovnc Main TurboVNC repository turbovnc 项目地址: https://gitcode.com/gh_mirrors/tu/turbovnc

1. 项目基础介绍和主要编程语言

基础介绍

TurboVNC 是一个高性能的虚拟网络计算(VNC)实现,它是从 TightVNC 派生出来的。TurboVNC 特别优化了图像密集型应用(如 VirtualGL、视频应用和图像编辑器)的性能,同时也能很好地支持其他类型的应用。TurboVNC 与 VirtualGL 结合使用,可以提供完整的远程显示 3D 应用的解决方案。

主要编程语言

TurboVNC 主要使用 C 语言编写,同时也包含部分 Java 代码。

2. 项目使用的关键技术和框架

关键技术

  • VNC 协议:TurboVNC 基于 VNC 协议,允许用户通过网络远程控制另一台计算机的桌面。
  • Tight 编码:TurboVNC 包含一种优化的 Tight 编码,用于提高图像密集型应用的性能。
  • VirtualGL:与 VirtualGL 结合使用,可以实现硬件加速的 OpenGL 远程显示。
  • libjpeg-turbo:使用 SIMD 加速的 JPEG 编解码器,提高图像传输效率。

框架

  • CMake:用于构建 TurboVNC 的跨平台构建系统。
  • Xvnc:TurboVNC 使用 Xvnc 作为其 X 服务器实现。

3. 项目安装和配置的准备工作和详细安装步骤

准备工作

  1. 操作系统:TurboVNC 支持多种操作系统,包括 Linux、Windows 和 macOS。
  2. 依赖包:确保系统中已安装必要的依赖包,如 libjpeg-turboOpenJDK(用于 Java 部分)、cmake 等。
  3. 网络配置:确保目标机器和客户端机器之间的网络连接正常。

详细安装步骤

步骤 1:下载源代码

首先,从 GitHub 仓库下载 TurboVNC 的源代码:

git clone https://github.com/TurboVNC/turbovnc.git
cd turbovnc
步骤 2:安装依赖

根据你的操作系统,安装必要的依赖包。例如,在 Ubuntu 上,可以使用以下命令:

sudo apt-get update
sudo apt-get install build-essential cmake libjpeg-turbo8-dev openjdk-17-jdk
步骤 3:构建 TurboVNC

使用 CMake 构建 TurboVNC:

mkdir build
cd build
cmake ..
make
步骤 4:安装 TurboVNC

构建完成后,安装 TurboVNC:

sudo make install
步骤 5:配置 TurboVNC

安装完成后,可以通过编辑配置文件来配置 TurboVNC。配置文件通常位于 /etc/turbovnc/turbovncserver.conf

例如,可以设置 VNC 服务器的端口、密码等:

# 设置 VNC 服务器的端口
export TURBOVNC_PORT=5901

# 设置 VNC 服务器的密码
vncpasswd
步骤 6:启动 TurboVNC 服务器

配置完成后,启动 TurboVNC 服务器:

vncserver
步骤 7:连接到 TurboVNC 服务器

在客户端机器上,使用 VNC 客户端连接到 TurboVNC 服务器。例如,使用 vncviewer 连接:

vncviewer <服务器IP>:5901

总结

通过以上步骤,你可以成功安装和配置 TurboVNC,并开始使用它进行远程桌面控制。TurboVNC 的高性能和优化使其特别适合图像密集型应用的远程显示。

turbovnc Main TurboVNC repository turbovnc 项目地址: https://gitcode.com/gh_mirrors/tu/turbovnc

TurboVNCVNC(虚拟网络计算)的派生产品,其经过调整可为3D和视频工作负载提供最佳性能。 TurboVNC最初是TightVNC 1.3.x的分支,从表面上看,X服务器和Windows查看器的行为仍然与其父代相似。但是,当前版本的TurboVNC包含更新得多的X服务器代码库(基于X.org 7.7)以及TightVNC中不存在的各种其他功能和修补程序,包括高性能Java查看器。此外,TurboVNC压缩3D和视频工作负载的性能明显好于TightVNC 1.3.x中的“最紧密”压缩模式,而通常只使用后者的15-20%的CPU时间。使用非默认设置,TurboVNC还可以匹配TightVNC 1.3.x对2D工作负载产生的最佳压缩率。此外,TurboVNC包含一些专门为可视化应用程序设计的独特功能。所有VNC实现(包括TurboVNC)都使用RFB(远程帧缓冲器) 从VNC服务器向所有连接的“查看器”发送“帧缓冲区更新”的协议。每个帧缓冲区更新可以包含多个“矩形”(自上次更新以来已更改的区域。)与TightVNC一样,TurboVNC分析每个矩形,将其拆分为多个“子矩形”,并尝试使用“子编码类型”对每个子矩形进行编码给定子矩形中唯一颜色的数量,它将提供最有效的压缩。 TurboVNC执行此操作的过程称为“编码方法”。首先分析矩形以确定矩形的重要部分是否为实心,如果是,则将该部分编码为边界框和填充颜色(“实数子编码”。)在其余子矩形中,只有两种颜色的子矩形为编码为带有2色调色板的“每像素1位”位图(“单声道子编码”),具有少量唯一颜色的那些将被编码为调色板和8位每像素的位图(“颜色子编码”),和 根据编码方法,使用JPEG或RGB像素阵列对具有大量唯一颜色的子矩形进行编码(“原始子编码”)。 zlib可以可选地用于压缩索引颜色,单色和原始子矩形。 TurboVNC加速的一部分来自libjpeg-turbo的使用。但是,TurboVNC还消除了TightVNC 1.3.x用来确定子矩形是否是JPEG压缩的良好候选者的CPU占用率过高的检测例程,并且TurboVNC的编码方法倾向于更多地使用JPEG,因为现在通常使用JPEG。最快的子编码类型。此外,TurboVNC消除了缓冲区副本,它通过将帧缓冲区更新划分为相对较大的子矩形来最大化网络效率,并且仅使用zlib压缩级别,可以证明具有可衡量的性能优势。 TurboVNC是广泛研究的产物,其中TightVNC编码器的许多不同排列都以 低级,针对各种捕获的RFB会话,这些会话模拟2D和3D的实际应用程序工作负载。 TigerVNC和libvncserver已采用TurboVNC的编码方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭蔷丹Vanessa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值