[发明专利]Wayland环境下X应用的截图方法、系统及介质有效
申请号: | 202211240560.5 | 申请日: | 2022-10-11 |
公开(公告)号: | CN115309315B | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | 王勇军;周磊;张铎;陈霖翔;刘意虎 | 申请(专利权)人: | 麒麟软件有限公司 |
主分类号: | G06F3/04845 | 分类号: | G06F3/04845;G06F9/448;G06F9/451 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 300459 天津市滨海新区高*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | wayland 环境 应用 截图 方法 系统 介质 | ||
本发明公开了一种Wayland环境下X应用的截图方法、系统及介质,本发明Wayland环境下X应用的截图方法包括:通过Xwayland截获X11应用发起针对指定的截图接口的调用请求;通过Xwayland判断该调用请求是否为获取根窗口内容,若为获取根窗口内容,则通过Xwayland从Wayland合成器获取当前屏幕图像并返回给X11应用,从而在发现X11应用需要获取窗口或屏幕内容时从Wayland合成器中获取当前的显示图像然后返回给X11应用,能够解决wayland环境下通过X11协议获取窗口或屏幕内容类应用不能使用的问题。
技术领域
本发明涉Linux操作系统的X应用开发领域,具体涉及一种Wayland环境下X应用的截图方法、系统及介质。
背景技术
Wayland是一个协议(Protocol),它定义了Wayland客户端如何与Wayland合成器通讯。鉴于Wayland协议相对X11协议的优势,特别是在高分辨率、高刷新率方面提供的更好支持,开源社区已经全面转向Wayland进行开发,各大系统发行版本也开始使用Wayland作为默认的图形显示协议。但一方面大多数用于Linux的游戏、图形密集型等专业应用程序仍是使用X11编写,只能通过Xwayland(Wayland协议的X应用兼容服务模块)进行兼容,Xwayland用于提供Wayland环境下X应用(基于X11协议开发的各种运行于X Window system的应用)兼容运行的一个环境,可以看作是XServer的一个实现。与其他XServer实现的区别在于,在Xwayland底层,通过Wayland协议与Wayland合成器通信,Xwayland可以看作是一个Wayland客户端;另一方面对于大量的基于GTK2、Qt4、X11等开发的应用需要重新基于Wayland重构,否则只能通过Xwayland进行兼容运行。在Wayland环境下,X应用(X11 应用程序)通过XWayland兼容运行的架构如图1所示。Xwayland是XServer的一个实现,X应用连接到 Xwayland,跟连接到真实的X服务器一样,Xwayland 负责处理所有 X11 请求。另一方面,Xwayland 同时也是一个连接到 Wayland 合成器的 Wayland 客户端。X11 窗口管理器(XWM) 是 Wayland 合成器的一个组成部分。 XWM 使用通常的 X11 窗口管理协议来管理Xwayland 中的所有 X11 窗口。同时XWM 充当 Xwayland 窗口状态和 Wayland 合成器的窗口管理器 (WWM) 之间的桥梁。这样 WWM 可以管理所有窗口,包括原生 Wayland 和 X11(Xwayland) 窗口。wayland合成器同时也是一个X11客户端。
但是,使用Xwayland进行X11应用兼容存在不少问题:1、Xwayland是一个wayland客户端,它接收合成器发送过来的输入事件,并转发给对应X11窗口,同时将X11窗口的内容提交给合成器进行显示。2、最终的显示图形由wayland合成器生成,Xwayland中不存在途径获取当前的屏幕显示内容。因为上述两点原因,通过X11协议获取窗口或屏幕内容的这类软件将不能正常使用,比如截图、录屏、远程桌面等。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种Wayland环境下X应用的截图方法、系统及介质,本发明能够解决wayland环境下通过X11协议获取窗口或屏幕内容类应用不能使用的问题。
为了解决上述技术问题,本发明采用的技术方案为:
一种Wayland环境下X应用的截图方法,包括:
S101,通过Xwayland截获X11应用发起针对指定的截图接口的调用请求;
S102,通过Xwayland判断该调用请求是否为获取根窗口内容,若为获取根窗口内容,则跳转步骤S103;
S103,通过Xwayland从Wayland合成器获取当前屏幕图像并返回给X11应用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麒麟软件有限公司,未经麒麟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211240560.5/2.html,转载请声明来源钻瓜专利网。