Qt-Vnc远程
VNC简介
VNC(Virtual Network Computing)是基于RFB(Remote Frame Buffer)协议的远程系统,C/S端口默认为5900,B/S端口默认为5800。
RFB (远程帧缓存) 是一个远程图形用户的简单协议,工作在帧缓存级别上,其传输的是像素数据是以XY为起点的方框数据,通过矩形图形数据组进行帧缓存的更新。另外更新是由客户端通过命令驱动的,也就是说更新只是服务器在响应客户端的请求时发生的,如果网络较差时,有些帧的缓存会忽略,这样能减少客户端对网络和绘制速度的要求。
远程桌面协议对比:
| SPICE | VNC | RDP | |
|---|---|---|---|
| BIOS屏幕显示 | 能 | 能 | 不能 |
| 全彩支持 | 能 | 能 | 能 |
| 更改分辨率 | 能 | 能 | 能 |
| 多显示器 | 多显示器支持(高达4画面) | 只有一个屏幕 | 多显示器支持 |
| 图像传输 | 图像和图形传输 | 图像传输 | 图像和图形传输 |
| 视频播放支持 | GPU加速支持 | 不能 | GPU加速支持 |
| 音频传输 | 双向语音可以控制 | 不能 | 双向语音可以控制 |
| 鼠标控制 | 客户端服务器都可以控制 | 服务器端控制 | 服务器端控制 |
VNC作为一种远程桌面协议,常常用在嵌入式开发中,在嵌入式设备上运行vnc服务程序,即可在PC端远程控制。
QT环境要求
- QT版本需要
5.8以上,可以下载相应版本的源码包,比如5.9.6.zip,解压之后,在qtbase/src/plugins/platforms下可以看见有vnc的源码

- 检查qt库安装目录下插件
plugins文件夹中platforms目录是否有vnc动态库libqvnc.so
# ls /usr/lib/qt5.8/plugins/platforms/
libqeglfs.so libqminimal.so libqoffscreen.so
libqlinuxfb.so libqminimalegl.so libqvnc.so
注意:QT提供的VNC服务比较简单,只支持一些基本的功能,另外老版本的VNC中也有一些BUG可能会造成崩溃,所以最好还是尽量使用新版本。
使用教程
QT程序启动vnc服务
方式1:通过设置环境变量,改变程序的启动方式
配置QT程序的启动的方式
export QT_QPA_PLATFORM=vnc方式2:启动程序时指定启动方式
启动参数
./test -platform vnc:size=800x600,port=12345- size 分辨率
- port 服务端口号(不加则默认为5900)
使用VNC客户端
市面上的VNC客户端有很多,常用的比如Realvnc,另外也有很多开源的项目:
参考
Qt-Vnc远程的更多相关文章
- 记一次VNC远程连接Linux问题解决记录(5900端口测试、KDE桌面安装)
最近几天,到一个项目上安装Linux部署环境.由于服务器在机房,而进机房又比较麻烦,于是选择VNC远程连接Linux就显得自然而然了.以前也用过VNC,而且还经常使用,由于各个项目环境不太一样,这次也 ...
- 使用VNC远程连接Windows Azure Linux虚拟机
本文以Oracle Linux 6.4虚拟机为示例 一. 安装 tigervnc-server 使用“rpm -qa vnc”指令查看是否安装vnc服务,如果没有安装,则可以使用yum或者rpm进行安 ...
- vnc远程linux服务器黑屏
本来想尝试用vnc连接到linux服务器上,图形化操作一点东西,不过遇到了困难,记录方便查询. 1,打开vnc 选择Ip和端口,连接上去显示黑屏. 2,于是想到系统原先没有安装图像化桌面.so, y ...
- (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)
在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机 前提:服务器端安装桌面版的centos系统 CentOS Linux release 7.5.1804 (Core) ...
- 基于CentOS搭建VNC远程桌面服务
系统要求:CentOS 7.2 64 位操作系统 安装.启动 VNC VNC 远程桌面原理 名词解释: Xorg:在 Linux 用户中非常流行,已经成为图形用户程序的必备条件,所以大部分发行版都提供 ...
- 基于Ubuntu 搭建 VNC 远程桌面服务
系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 安装.启动 VNC VNC 远程桌面原理 注:本小节内容旨在帮助您更好地了解 Xorg.X11.VNC 等概念和原理,如果你不想了解原 ...
- macOS 开启 VNC 远程桌面和 SSH 服务
macOS 开启 VNC 远程桌面和 SSH 服务 准备用 macOS 来做为服务器,既然是服务器,那不可缺少的是远程管理,实际上 macOS 自带 VNC 远程桌面和 SSH 服务,只是默认没有开启 ...
- 腾讯云:基于 Ubuntu 搭建 VNC 远程桌面服务
基于 Ubuntu 搭建 VNC 远程桌面服务 前言 任务时间:5min ~ 10min 必要知识 本教程假设您已学习以下 Ubuntu 基本操作: 连接 SSH 执行命令 编辑文件 如果还没有掌握 ...
- 解决配置Ubuntu中vnc远程显示灰屏
解决配置Ubuntu中vnc远程显示灰屏a. 缺失图形化工具b. ~/.vnc/xstartup 权限不对1. Ubuntu 16.04 安装 VNC 及 Mate 桌面环境https://www. ...
- 阿里云ECS使用vnc远程连接(Ubuntu + CentOS)
阿里云ECS使用vnc远程连接https://blog.csdn.net/m0_37264397/article/details/78271896 在Linux实例上自动安装并运行VNC Server ...
随机推荐
- spring security 认证源码跟踪
spring security 认证源码跟踪 在跟踪认证源码之前,我们先根据官网说明一下security的内部原理,主要是依据一系列的filter来实现,大家可以根据https://docs.sp ...
- ABC201题解
因为学校的某些操作. 让最近两天的\(Atcoder\)都能打了,挺开心的. 想上次\(ABC\)看错题意,失败退场. ------------------------------ \(A\) 直接手 ...
- 51nod 1355 - 斐波那契的最小公倍数(Min-Max 容斥+莫比乌斯反演)
vjudge 题面传送门 首先我们知道斐波那契数列的 lcm 是不太容易计算的,但是它们的 gcd 非常容易计算--\(\gcd(f_x,f_y)=f_{\gcd(x,y)}\),该性质已在我的这篇博 ...
- Excel-电话号码隐藏某几个数为*,起到保护信息作用;
9.电话号码隐藏某几个数为*,起到保护信息作用: 方法一: =SUBSTITUTE(AG2,MID(AG2,4,5),"*****") 解释函数: MID(目标字符串,裁剪起始位置 ...
- 日常Java 2021/9/19
Math类方法 package m; public class m { public static void main(String args[]) { //计算平方根 System.out.prin ...
- 强化学习实战 | 表格型Q-Learning玩井字棋(二)
在 强化学习实战 | 表格型Q-Learning玩井字棋(一)中,我们构建了以Game() 和 Agent() 类为基础的框架,本篇我们要让agent不断对弈,维护Q表格,提升棋力.那么我们先来盘算一 ...
- Linux下删除的文件如何恢复
Linux下删除的文件如何恢复 参考自: [1]linux下误操作删除文件如何恢复 [2]Linux实现删除撤回的方法 以/home/test.txt为例 1.df -T 文件夹 找到当前文件所在磁盘 ...
- dom4j解析XML学习
原理:把dom与SAX进行了封装 优点:JDOM的一个智能分支.扩充了其灵活性增加了一些额外的功能. package com.dom4j.xml; import java.io.FileNotFoun ...
- Linux上Zookeeper集群搭建
一.官网 https://zookeeper.apache.org/ 二.下载安装 (1)下载 复制链接地址 http://mirror.bit.edu.cn/apache/zookeeper/zo ...
- 【Linux】【Services】【Package】rpm
CentOS系统上rpm命令管理程序包: 安装.升级.卸载.查询和校验.数据库维护 rpm命令:rpm [OPTIONS] [PACKAGE_F ...