linux图机界面机制
1.X Window
X Window 是由麻省理工学院(MIT)推出的窗口系统,简称X,它旨在建立不依赖于特定硬件系统的图形和文字显示窗口系统的标准。1987 年9 月,MIT 推出了X 系统的11 版,称为X11,它的出现标志着计算机工作站的一个新时代的到来。现在几乎所有的工作站都采用了X 窗口的标准,几乎所有的工作站上的应用软件都采用了基于X Window 的软件平台。同时,微机的X 系统也日益增多。X 窗口系统之所以能受到人们的广泛青睐,是与其优越的特点分不开的。首先,它不依赖与硬件系统的特点,使我们在任意一种计算机上用X 系统开发的图
形软件,可以不需任何修改或只需极少改动就能移植到几十种其它类型的计算机上。其次,X 是一种基于网络的窗口系统,采用X 的应用软件可以在由不同机器组成的网络上运行。我们能方便地在远程计算机上运行软件,而将结果显示到本机上。
2.SVGALib
SVGALib 是Linux 上底层的图形库,也是Linux 系统中最早出现的非X 图形支持库,它支持标准的VGA 图形模式

和一些其他的模式,SVGALib 的缺点是程序必须以root权限登录,并且它是基于图形卡的,所以不是所有的硬件都支持它。自从framebuffer这个孪生姐妹诞生后,许多软件由只支持SVGALib 改变为同时支持两者,甚至一些流行的高层函数库如QT 和GTK只支持Framebuffer,作为一个老的图形支持库,SVGALib 目前的应用范围越来越小,尤其是在 Linux 内核增加了 FrameBuffer 驱动支持之后。
3.FrameBuffer
FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。这种接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反映在屏幕上。该驱动程序的设备文件一般是 /dev/fb0、/dev/fb1 等等。
4.LibGGI
GGI, 即 General Graphics Interface, 是新一代的图形支持库。GGI 的主要功能
特性有:
可在 FrameBuffer, SVGALib, X 等设备上运行, 在这些设备上是二进制兼容的;
在所有平台上提供了一致的输入设备接口, 比如鼠标和键盘;
与 LinuxThreads 线程库兼容, 接口线程安全;
提供异步绘制模式, 可提高屏幕刷新速度;
提供良好的颜色处理接口;
接口简单易用;
采用共享库机制, 实现底层支持库的动态装载;
GGI 的主要不足在于安装和配置较为复杂。
linux图机界面机制的更多相关文章
- XStart远程连接Linux图形化界面
转至:https://zhuanlan.zhihu.com/p/337791712 场景: 因在Linux中安装Oracle11g 需要调用Oracle的图形化界面,此时在宿主机上安装了 Xmanag ...
- linux 图形化界面 && 谷歌浏览器 安装
一.图形化界面安装 yum groupinstall "Desktop" 如果运行显示 则 yum groupinstall "X Window System" ...
- Linux图形化界面下使用命令进行截图的方法
以前在LINUX里面截图都是直接按print screen键或者 alt + print screen. 但是print screen是整个屏幕, alt + print screen是当前窗口. 想 ...
- Git各大平台(win/Linux/Mac)图形化界面客户端大汇总
摘要: 介绍各平台下的图形化界面git客户端(本人并没有全部使用过),欢迎大家补充新的软件或者使用感受~ 一.TortoiseGit - The coolest Interface to Git V ...
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
JAVA之旅(三十一)--JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI ...
- linux修改主机名,关闭图形化界面,绑定ip地址,修改ip地址
1关闭图形化界面 vi /etc/inittab 改成id:3:initdefault: 注意:不要选0或6 2.修改主机名 vi /etc/sysconfig/network 修改即可 3,修改ip ...
- linux命令行添加图形化界面
安装一个图形化的包即可!! yum update grub2-common yum install fwupdate-efi yum groupinstall "GNOME Desktop& ...
- linux下epoll实现机制
linux下epoll实现机制 原作者:陶辉 链接:http://blog.csdn.net/russell_tao/article/details/7160071 先简单回顾下如何使用C库封装的se ...
- 浅谈Linux中的信号处理机制(二)
首先谢谢 @小尧弟 这位朋友对我昨天夜里写的一篇<浅谈Linux中的信号处理机制(一)>的指正,之前的题目我用的“浅析”一词,给人一种要剖析内核的感觉.本人自知功力不够,尚且不能对着Lin ...
随机推荐
- mac 使用清除废纸篓或彻底删除某文件 附加: smb afp ftp NAS 访问服务器相关
mac 使用清除废纸篓或彻底删除某文件 附加: smb afp ftp NAS 访问服务器相关 mac 下删除文件方法: 1.使用 cleanmymac 使用 cleamymac 的清理 和 逐个 ...
- 应用程序有bug崩溃重启的案例2
------解决思路----------------------另外做一个服务或者程序定时监控系统进程.程序奔溃的话,都会在入口函数出现异常处理一下winform可以有两个事件来捕获主线程异常和线程异 ...
- BZOJ 1010 玩具装箱toy(斜率优化DP)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1010 题目大意:P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他 ...
- 《java并发编程实战》读书笔记2--对象的共享,可见性,安全发布,线程封闭,不变性
这章的主要内容是:如何共享和发布对象,从而使它们能够安全地由多个线程同时访问. 内存的可见性 确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化. 上面的程序中NoVisibility可能 ...
- layui文件单文件和多文件的上传、预览以及删除和修改
活不多说,直接上代码 单文件上传 1.HTML <blockquote class="layui-elem-quote layui-quote-nm" style=" ...
- 【JBPM4】完成任务
示例代码: ProcessEngine processEngine = Configuration.getProcessEngine(); TaskService taskService = proc ...
- highcharts高级画图柱状图和折线图
折线图一枚 $("#z_line").highcharts({ chart: { type: 'line' }, credits: { enabled: false // 禁用版权 ...
- 解决Django在mariadb创建的表插入中文乱码的问题
1.确保你的mariadb数据库的character_set_connection.character_set_database.character_set_server的编码均为utf8 Maria ...
- ubuntu16.04 安装composer和 laravel
一.安装composer $ sudo apt-get update $ sudo apt-get install wget 下载composer.phar $ wget https://getcom ...
- CentOS 7 Docker
安装docker yum install docker 查看docker docker version 这是因为docker还没有运行,需要启动docker 启动docker systemctl st ...