QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1720|回复: 8

X下编程序怎么不让XWindows出来而直接显示自己的界面?

[复制链接]
发表于 2006-2-20 14:43:48 | 显示全部楼层 |阅读模式
X下编程序怎么不让XWindows出来而直接显示自己的界面?
Mplayer是否可以做到这个功能?
发表于 2006-2-20 15:47:02 | 显示全部楼层
可以用一些不基于X的图形库
比如svgalib (www.svgalib.org)
或者基于linux framebuffer的图形器件库,比如QT和GTK都有基于Framebuffer的图形器件库. 还有中国人自己的图形器件库miniGUI 等

如果不用这些库,那没办法,只能直接编写访问硬件的代码了。 这要求对硬件比较熟悉,而且掌握显卡的原理,svgalib就是对硬件的抽象层.一般用这些库就行了。
回复

使用道具 举报

 楼主| 发表于 2006-2-20 16:11:49 | 显示全部楼层
我想实现这样的效果:软件是基于X的,但是不运行X的那些进程,也不出现X的主界面,
只显示自己所写的基于X的界面,是否可以实现?
回复

使用道具 举报

发表于 2006-2-20 16:54:17 | 显示全部楼层
X 的机制就是 Client / Server ,你的应用程序是 Sever ,X 是 Client .

基于X的软件,肯定是要X进程运行的.
回复

使用道具 举报

 楼主| 发表于 2006-2-20 17:01:54 | 显示全部楼层
但是在QT下的程序不是可以直接基于FrameBuffer运行吗?
而且QT是不用什么进程的,直接连上QT的库即可跑起来,
那么X下是否可以采用这种模式?
回复

使用道具 举报

发表于 2006-2-20 21:47:49 | 显示全部楼层
自己实现一个 FrameBuffer 的窗口管理程序。
QT 有自己的全套窗口管理程序。

也就是说,要自己实现 X 和 KDE/GNOME 的功能(当然只要实现你需要的就可以了)
回复

使用道具 举报

发表于 2006-2-20 23:27:17 | 显示全部楼层
[quote:f0de6c21b4="huales"]但是在QT下的程序不是可以直接基于FrameBuffer运行吗?
而且QT是不用什么进程的,直接连上QT的库即可跑起来,
那么X下是否可以采用这种模式?[/quote]

你的第一贴说的是 X 下编程,怎么到 FrameBuffer 上去了?

是,有这个东西,不要 X 的 kde, gnome .

据说比X快. 但缺点是不和 X 兼容,有太多的代码要改.
回复

使用道具 举报

 楼主| 发表于 2006-2-21 09:00:30 | 显示全部楼层
我并不是说到FrameBuffer上去了,只是说QT有这个机制,
不知道X是否可以实现类似的功能,
谢谢楼上各位,
我再查下资料,有问题再请教
回复

使用道具 举报

发表于 2006-2-24 14:42:30 | 显示全部楼层
没必要这么复杂,其实用3模式进入系统,只启动X,然后就可以运行你自已的程序啦。
象我的程序就是这样,改rc.local,加上一个执行脚本,脚本这样写:
nice -n -1 X :0.0 &
sleep 2
{your bin} &

这里我试过多次,如果直接在rc.local中执行X,用top察看,X的CPU占用率极高,放到脚本里面就可以了。不知谁能解释一下?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-12-5 10:58 , Processed in 0.040702 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表