KDE应用如何在GNOME环境下运行?

KDE应用如何在GNOME环境下运行?

首图

本文“握手”图片已经Clker.com授权

GNODE和KDE两款桌面环境在视觉上的差异是显而易见的,那么如何让一种环境下的应用无误地移植到另一环境下?今天的SuperUser Q&A 板块上有人回答了这个问题。以下Q&A部分已获得SuperUser的授权(SuperUser是Stack Exchange一个版块,Stack Exchange是一个社区化问答网站)。

问题:

SuperUser读者LeNoob想知道KDE下的应用如何运行于GNOME环境下:

GNOME使用GTK+图形库,KDE使用Qt图形库,那么KDE应用如何在GNOME环境下运行,其能够流畅运行的内在机制是什么?

回答:

SuperUser贡献者grawity作出了如下回答:

这种移植是可能的,因为KDE和GNOME两种桌面环境使用相同的图形系统—X11。所有的图形程序都是通过X11协议与X服务器(通常为Xorg)交互:发送指令绘制屏幕,接收来自输入鼠标、键盘等外设的输入事件。

至于GTK和Qt等UI工具包,它们以链接库的形式被图形程序调用。GNOME环境下,程序使用libgdk和libgtk;KDE环境下,程序使用libQtCore和ligQtGui。这两种工具包都是简单地调用X11函数绘制相应程序的窗口。

大部分现代的工具包(比如GTK,Qt和EFL)都具备绘制功能,它们通常直接将绘制好的窗口发送给X11。相反,一些传统工具包,比如Xaw和Motif,则是发送绘制直线或者矩形的指令给X服务器,然后服务器会解析指令、绘制窗口。

X11协议还涉及窗口管理功能,因此每一个桌面环境都会有一个“窗口管理器”程序。该程序负责绘制窗口框架,并完成窗口的移动以及放大缩小等操作。实际上,当前强大的窗口管理器已经取代了Xorg的工作,能够把所有的窗口合成最后显示在屏幕上的图像,这样一来,就可以容易地追加一些阴影等效果。

为了更好地兼容,将桌面环境绑定到统一的图形系统是一个很棒的设计。这样一来,你就可以在同一桌面环境下运行所有自己感兴趣的应用了,哪怕这款应用并不是为该桌面环境开发的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值