CN117149341B - 一种显示Linux GUI程序的方法、装置、设备及介质 - Google Patents

一种显示Linux GUI程序的方法、装置、设备及介质 Download PDF

Info

Publication number
CN117149341B
CN117149341B CN202311427848.8A CN202311427848A CN117149341B CN 117149341 B CN117149341 B CN 117149341B CN 202311427848 A CN202311427848 A CN 202311427848A CN 117149341 B CN117149341 B CN 117149341B
Authority
CN
China
Prior art keywords
linux
environment
gui program
target
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311427848.8A
Other languages
English (en)
Other versions
CN117149341A (zh
Inventor
孙晓刚
蒋长良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Agaxi Intelligent Technology Co ltd
Original Assignee
Chengdu Agaxi Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Agaxi Intelligent Technology Co ltd filed Critical Chengdu Agaxi Intelligent Technology Co ltd
Priority to CN202311427848.8A priority Critical patent/CN117149341B/zh
Publication of CN117149341A publication Critical patent/CN117149341A/zh
Application granted granted Critical
Publication of CN117149341B publication Critical patent/CN117149341B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Abstract

本申请提供一种显示Linux GUI程序的方法、装置、设备及介质,涉及电子技术领域,用于解决在Android设备中显示Linux GUI程序时,显示效率低和兼容性差的问题。该方法应用于Android设备中,且该方法包括:采用预设安装模式,向目标Android设备中植入Linux环境;在所述Linux环境中下载目标Linux GUI程序;采用Wayland Compositor方式,启动所述目标Linux GUI程序对应的进程;设置所述目标Linux GUI程序对应的环境变量;在所述Android设备中,显示所述目标Linux GUI程序。

Description

一种显示Linux GUI程序的方法、装置、设备及介质
技术领域
本申请涉及电子技术领域,提供一种显示Linux GUI程序的方法、装置、设备及介质。
背景技术
目前,在Android设备中显示Linux的GUI程序时,通常是在Android设备中基于Proot、Docker或者chroot技术来启动Linux环境,然后,通过Wayland Compositor 加上X11server将Linux的GUI程序显示到Android 中的surface中,其所使用的显示方式为VNC方式,其显示效率较低。此外,该VNC方式由于只能在非root设备上以应用的形式体现,而无法执行设备真正的root操作,因此,其兼容性较差。
因此,在Android设备中显示Linux GUI程序时,如何提高显示效率和兼容性是目前亟待解决的问题。
发明内容
本申请提供一种显示Linux GUI程序的方法、装置、设备及介质,用于解决在Android设备中显示Linux GUI程序时,显示效率低和兼容性差的问题。
一方面,提供一种显示Linux GUI程序的方法,应用于Android设备中,所述方法包括:
采用预设安装模式,向目标Android设备中植入Linux环境;
在所述Linux环境中下载目标Linux GUI程序;
采用Wayland Compositor方式,启动所述目标Linux GUI程序对应的进程;
设置所述目标Linux GUI程序对应的环境变量;
在所述Android设备中,显示所述目标Linux GUI程序。
可选的,所述采用预设安装模式,向目标Android设备中植入Linux环境的步骤,包括:
采用Proot安装模式、Chroot安装模式或Docker安装模式,向目标Android设备中植入Linux环境。
可选的,所述目标Linux GUI程序为Nautilus文件浏览器,所述在所述Linux环境中下载目标Linux GUI程序的步骤,包括:
在所述Linux环境中下载所述Nautilus文件浏览器。
可选的,所述目标Linux GUI程序对应的进程为Aidlux-X11进程,所述采用Wayland Compositor方式,启动所述目标Linux GUI程序对应的进程的步骤,包括:
采用Wayland Compositor方式,启动所述目标Linux GUI程序对应的Aidlux-X11进程。
可选的,所述采用Wayland Compositor方式,启动所述目标Linux GUI程序对应的Aidlux-X11进程的步骤,包括:
根据adb命令行,采用所述Wayland Compositor方式,开始启动所述Aidlux-x11进程;同时,启动所述Android设备中的surface组件;
建立所述surface组件和所述Aidlux-x11中的Xserver之间的联系;
完成所述Aidlux-x11进程的启动。
可选的,在完成所述Aidlux-x11进程的启动之后,所述方法还包括:
在所述Linux环境中安装Nautilus组件;
在所述Nautilus组件中设置环境变量;
根据Nautilux命令,在所述Linux环境中输出所述环境变量;其中,所述环境变量和启动所述Aidlux-x11的参数相同。
可选的,所述环境变量为DISPLAY环境变量,所述在所述Nautilus组件中设置环境变量的步骤,包括:
在所述Nautilus组件中,设置DISPLAY环境变量。
一方面,提供一种显示Linux GUI程序的装置,所述装置包括:
环境植入单元,用于采用预设安装模式,向目标Android设备中植入Linux环境;
GUI程序下载单元,用于在所述Linux环境中下载目标Linux GUI程序;
进程启动单元,用于采用Wayland Compositor方式,启动所述目标Linux GUI程序对应的进程;
环境变量设置单元,用于设置所述目标Linux GUI程序对应的环境变量;
GUI程序显示单元,用于在所述Android设备中,显示所述目标Linux GUI程序。
一方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法。
一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法。
与现有技术相比,本申请的有益效果为:
在本申请实施例中,当需要在Android设备中显示Linux GUI程序时,首先,可以采用预设安装模式,来向目标Android设备中植入Linux环境;其次,可以在Linux环境中下载目标Linux GUI程序;然后,可以采用Wayland Compositor方式,来启动目标Linux GUI程序对应的进程;接下来,可以设置目标Linux GUI程序对应的环境变量;最后,可以在Android设备中,显示目标Linux GUI程序。因此,在本申请实施例中,由于是采用WaylandCompositor方式,来启动目标Linux GUI程序对应的进程,因此,相比于传统技术中采用的VNC方式,本申请不仅可以大幅度提升显示效率,还可以提高兼容性。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的显示Linux GUI程序的方法的一种流程示意图;
图3为本申请实施例提供的启动Aidlux-x11进程的一种流程示意图;
图4为本申请实施例提供的显示glxgears程序的一种流程示意图;
图5为本申请实施例提供的显示glxgears程序的一种示意图;
图6为本申请实施例提供的显示terminal程序的一种流程示意图;
图7为本申请实施例提供的显示terminal程序的一种示意图;
图8为本申请实施例提供的显示Linux GUI程序的装置的一种示意图。
图中标记:10-显示Linux GUI程序的设备,101-处理器,102-存储器,103-I/O接口,104-数据库,80-显示Linux GUI程序的装置,801-环境植入单元,802-GUI程序下载单元,803-进程启动单元,804-环境变量设置单元,805-GUI程序显示单元。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
目前,在Android设备中显示Linux的GUI程序时,通常是在Android设备中基于Proot、Docker或者chroot技术来启动Linux环境,然后,通过Wayland Compositor 加上X11server将Linux的GUI程序显示到Android 中的surface中,其所使用的显示方式为VNC方式,其显示效率较低。此外,该VNC方式由于只能在非root设备上以应用的形式体现,而无法执行设备真正的root操作,因此,其兼容性较差。
基于此,本申请实施例提供一种显示Linux GUI程序的方法,该方法应用于Android设备中,且在该方法中,首先,可以采用预设安装模式,来向目标Android设备中植入Linux环境;其次,可以在Linux环境中下载目标Linux GUI程序;然后,可以采用WaylandCompositor方式,来启动目标Linux GUI程序对应的进程;接下来,可以设置目标Linux GUI程序对应的环境变量;最后,可以在Android设备中,显示目标Linux GUI程序。因此,在本申请实施例中,由于是采用Wayland Compositor方式,来启动目标Linux GUI程序对应的进程,因此,相比于传统技术中采用的VNC方式,本申请不仅可以大幅度提升显示效率,还可以提高兼容性。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
如图1所示,为本申请实施例提供的一种应用场景示意图。该应用场景中可以包括显示Linux GUI程序的设备10。
其中,显示Linux GUI程序的设备10可以用于显示Linux GUI程序,例如,可以为手机、个人计算机(Personal Computer,PC)、服务器与手提电脑等。显示Linux GUI程序的设备10可包括一个或者多个处理器101、存储器102、I/O接口103以及数据库104。具体的,处理器101可以为中央处理单元(central processing unit,CPU),或者为数字处理单元等等。存储器102可以是易失性存储器(volatile memory),例如随机存取存储器(random-accessmemory,RAM);存储器102也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD);或者存储器102是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器102可以是上述存储器的组合。存储器102中可以存储本申请实施例提供的显示Linux GUI程序的方法的部分程序指令,这些程序指令被处理器101执行时能够用以实现本申请实施例提供的显示Linux GUI程序的方法的步骤,以解决在Android设备中显示Linux GUI程序时,显示效率低和兼容性差的问题。数据库104可以用于存储本申请实施例提供的方案中涉及到的Linux环境、目标Linux GUI程序、环境变量以及Aidlux-X11进程等数据。
在本申请实施例中,显示Linux GUI程序的设备10可以通过I/O接口103获取Linux环境,然后,显示Linux GUI程序的设备10的处理器101会按照存储器102中本申请实施例提供的显示Linux GUI程序的方法的程序指令来解决在Android设备中显示Linux GUI程序时,显示效率低和兼容性差的问题。此外,还可以将Linux环境、目标Linux GUI程序、环境变量以及Aidlux-X11进程等数据存储于数据库104中。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其他可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。下面,将结合附图对本申请实施例的方法进行介绍。
如图2所示,为本申请实施例提供的显示Linux GUI程序的方法的一种流程示意图,该方法可以通过图1中的显示Linux GUI程序的设备10来执行,具体的,该方法的流程介绍如下。
步骤201:采用预设安装模式,向目标Android设备中植入Linux环境。
在本申请实施例中,当需要在Android设备中显示Linux GUI程序时,首先需要在目标Android设备配置出一个Linux环境。具体的,可以采用预设安装模式,来向目标Android设备中植入Linux环境,以便后续能够在目标Android设备执行各项与Linux系统相关的命令。
步骤202:在Linux环境中下载目标Linux GUI程序。
在本申请实施例中,在目标Android设备中植入Linux环境之后,便可以直接在Linux环境中下载目标Linux GUI程序,以便于后续能够在Android设备中显示该目标LinuxGUI程序。
步骤203:采用Wayland Compositor方式,启动目标Linux GUI程序对应的进程。
在本申请实施例中,为了能够大幅度提升显示效率和提高兼容性,在下载完目标Linux GUI程序之后,便可以直接采用Wayland Compositor方式,来启动目标Linux GUI程序对应的进程。
步骤204:设置目标Linux GUI程序对应的环境变量。
在本申请实施中,为了便于能够在Android设备中显示该目标Linux GUI程序,在启动目标Linux GUI程序对应的进程之后,还需要设置目标Linux GUI程序对应的环境变量,例如,将环境变量设置为“环境变量=:1”。
步骤205:在Android设备中,显示目标Linux GUI程序。
在本申请实施例中,在将目标Linux GUI程序对应的环境变量设置完毕之后,便可以直接在Android设备中,显示目标Linux GUI程序了。
在一种可能的实施方式中,为了进一步提高兼容性,在本申请实施例中,预设安装模式可以为Proot安装模式、Chroot安装模式或Docker安装模式,进而,具体便可以采用Proot安装模式、Chroot安装模式或Docker安装模式,来向目标Android设备中植入Linux环境。因此,相比于现有技术的仅能非root下使用,本申请可以在非root和root版本通用,且在root版本下可以执行Android设备上真root的操作,即,进一步提高了兼容性。
在一种可能的实施方式中,在本申请实施例中,目标Linux GUI程序可以为Nautilus文件浏览器,进而,在Linux环境中下载目标Linux GUI程序,具体就可以为在Linux环境中下载Nautilus文件浏览器,以便于后续可以在Android设备中显示该Nautilus文件浏览器。
在一种可能的实施方式中,在本申请实施例中,目标Linux GUI程序对应的进程可以为Aidlux-X11进程,进而,采用Wayland Compositor方式,启动目标Linux GUI程序对应的进程,具体就可以为采用Wayland Compositor方式,启动目标Linux GUI程序对应的Aidlux-X11进程,以便于进一步提高显示效率。
在一种可能的实施方式中,在本申请实施例中,如图3所示,为本申请实施例提供的启动Aidlux-x11进程的一种流程示意图,该过程可以通过图1中的显示Linux GUI程序的设备10来执行,具体的,该过程的流程介绍如下。
步骤301:根据adb命令行,采用Wayland Compositor方式,开始启动Aidlux-x11进程;同时,启动Android设备中的surface组件。
在本申请实施例中,可以在Aidlux-x11集成Wayland Compositor(合成器)和Xserver(窗口服务程序),其中,所述Xserver可以为在X窗口系统中,存取与应用程序相关的图形硬件的过程程序。所述surface组件可以用于控制UI元素的视觉效果。此外,Aidlux-x11进程不仅可以被编译在Android源码中,还可以被存储于包含显示App的数据库中。
进而,为了使Linux GUI程序具有较好的显示效果,在本申请实施例中,可以根据adb命令行,采用Wayland Compositor方式,来开始启动Aidlux-x11进程;同时,并启动Android设备中的surface组件,来达到提高显示效果的目标(即,达到提高渲染效果发目的)。
步骤302:建立surface组件和Aidlux-x11中的Xserver之间的联系。
为了使surface组件能了提高Linux GUI程序的显示效果,在本申请实施例中,还需要建立surface组件和Aidlux-x11中的Xserver之间的联系,使得surface组件能够对Linux GUI程序的显示效果进行加强。
步骤303:完成Aidlux-x11进程的启动。
在本申请实施例中,在建立完surface组件和Aidlux-x11中的Xserver之间的联系之后,即可完成Aidlux-x11进程的启动,从而,为后续显示Linux GUI程序做足准备。
在一种可能的实施方式中,由于是需要在Android设备中显示Linux GUI程序,因此,在本申请实施例中,还需要在Linux环境设置相应的环境变量。具体的,首先,可以在Linux环境中安装Nautilus组件;然后,可以在Nautilus组件中设置环境变量;最后,可以根据Nautilux命令,来在Linux环境中输出该环境变量;其中,Nautilus是Linux环境中图形化的文件管理器,其可以向用户提供一个集成的访问点,以访问文件和应用程序,以便用户可以进行环境变量设置。此外,为了使在Android设备中显示Linux GUI程序,Linux环境中输出的环境变量应和启动Aidlux-x11的参数相同。
在一种可能的实施方式中,为了便于用户查看所要显示Linux GUI程序,在本申请实施例中,环境变量可以为DISPLAY环境变量,即,可以在Nautilus组件中,设置DISPLAY环境变量。其中,DISPLAY环境变量可以用来设置将图形显示到何处,即,可以指定一个显示设备,以使所有的图形程序都将把自己显示到这个设备上。具体的,可以直接登陆图形界面或者登陆命令行界面后使用startx启动图形,DISPLAY环境变量将自动设置为:0:0,此时可以打开终端,输出图形程序的名称(比如xclock)来启动程序,图形将显示在本地窗口上,且在终端上输入printenv,便可查看当前环境变量。
具体实施例1:
假设需要显示(渲染)的目标Linux GUI程序为典型的glxgears程序,目标LinuxGUI程序对应的进程为Aidlux-x11进程。在本申请实施例中,如图4所示,为本申请实施例提供的显示glxgears程序的一种流程示意图,该过程可以通过图1中的显示Linux GUI程序的设备10来执行,具体的,该过程的流程介绍如下。
步骤401:采用Proot安装模式,向目标Android设备中植入Linux环境。
步骤402:在Linux环境中下载glxgears程序。
步骤403:采用Wayland Compositor方式,启动glxgears程序对应的Aidlux-x11进程。
步骤404:启动Aidlux-x11进程带有Android surface应用。
其中,将所述Android surface应用的参数设置为:1。
步骤405:在Linux环境中设置环境变量DISPLAY=:1。
步骤406:在Linux环境中执行glxgears程序。
步骤407:在目标Android设备上成功显示glxgears程序,以及该glxgears程序对应的帧率。
在本申请实施例中,如图5所示,为本申请实施例提供的显示glxgears程序的一种示意图,其中,在图5的左半部分为glxgears程序呈现的显示效果,右半部分为glxgears程序对应帧率的具体情况,其平均帧率在250fps左右。
具体实施例2:
假设需要在Android的root设备中正确显示terminal程序,且terminal程序会使用root权限来执行显示免驱摄像头(USB Video Class,UVC)的数据。目标Linux GUI程序对应的进程为Aidlux-x11进程。在本申请实施例中,如图6所示,为本申请实施例提供的显示terminal程序的一种流程示意图,该过程可以通过图1中的显示Linux GUI程序的设备10来执行,具体的,该过程的流程介绍如下。
步骤601:采用Croot安装模式,向目标Android设备中植入Linux环境。
步骤602:在Linux环境中下载terminal程序。
步骤603:采用Wayland Compositor方式,启动terminal程序对应的Aidlux-x11进程。
步骤604:启动Aidlux-x11进程带有Android surface应用。
其中,将所述Android surface应用的参数设置为:1。
步骤605:在Linux环境中设置环境变量DISPLAY=:1。
步骤606:在Linux环境中执行terminal程序。
步骤607:在目标Android设备上成功显示terminal程序。
步骤608:在terminal程序中,使用ffplay以1280*720分辨率和30fps帧率,来播放UVC摄像头的内容。
在本申请实施例中,可以采用“ffplay -i /dev/video2 -s 1280x720 -vf“fps=fps=30” -stats”命令,来实现上述播放UVC摄像头内容的目的。如图7所示,为本申请实施例提供的显示terminal程序的一种示意图,可见,其成功显示了terminal程序,并读取到了需要root权限的摄像头,且其显示的分辨率是1280*720,帧率为30fps。
综上所述,在本申请实施例中,由于是采用Wayland Compositor方式,来启动目标Linux GUI程序对应的进程,因此,相比于传统技术中采用的VNC方式,本申请不仅可以大幅度提升显示效率,还可以提高兼容性。
基于同一发明构思,本申请实施例提供一种显示Linux GUI程序的装置80,如图8所示,该显示Linux GUI程序的装置80包括:
环境植入单元801,用于采用预设安装模式,向目标Android设备中植入Linux环境;
GUI程序下载单元802,用于在Linux环境中下载目标Linux GUI程序;
进程启动单元803,用于采用Wayland Compositor方式,启动目标Linux GUI程序对应的进程;
环境变量设置单元804,用于设置目标Linux GUI程序对应的环境变量;
GUI程序显示单元805,用于在Android设备中,显示目标Linux GUI程序。
可选的,环境植入单元801,还用于:
采用Proot安装模式、Chroot安装模式或Docker安装模式,向目标Android设备中植入Linux环境。
可选的,GUI程序下载单元802,还用于:
在Linux环境中下载Nautilus文件浏览器。
可选的,进程启动单元803,还用于:
采用Wayland Compositor方式,启动目标Linux GUI程序对应的Aidlux-X11进程。
可选的,进程启动单元803,还用于:
根据adb命令行,采用Wayland Compositor方式,开始启动Aidlux-x11进程;同时,启动Android设备中的surface组件;
建立surface组件和Aidlux-x11中的Xserver之间的联系;
完成Aidlux-x11进程的启动。
可选的,环境变量设置单元804,还用于:
在Linux环境中安装Nautilus组件;
在Nautilus组件中设置环境变量;
根据Nautilux命令,在Linux环境中输出环境变量;其中,环境变量和启动Aidlux-x11的参数相同。
可选的,环境变量设置单元,还用于:
在Nautilus组件中,设置DISPLAY环境变量。
该显示Linux GUI程序的装置80可以用于执行图2-图7所示的实施例中显示LinuxGUI程序的装置所执行的方法,因此,对于该显示Linux GUI程序的装置80的各功能模块所能够实现的功能等可参考图2-图7所示的实施例的描述,不多赘述。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图2-图7所示的实施例中显示Linux GUI程序的装置所执行的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种显示Linux GUI程序的方法,其特征在于,应用于Android设备中,所述方法包括:
采用预设安装模式,向目标Android设备中植入Linux环境;
在所述Linux环境中下载目标Linux GUI程序;
根据adb命令行,采用Wayland Compositor方式,开始启动Aidlux-X11进程;同时,启动所述Android设备中的surface组件;
建立所述surface组件和所述Aidlux-X11中的Xserver之间的联系;
完成所述Aidlux-X11进程的启动;
设置所述目标Linux GUI程序对应的环境变量;
在所述Android设备中,显示所述目标Linux GUI程序。
2.如权利要求1所述的方法,其特征在于,所述采用预设安装模式,向目标Android设备中植入Linux环境的步骤,包括:
采用Proot安装模式、Chroot安装模式或Docker安装模式,向目标Android设备中植入Linux环境。
3.如权利要求1所述的方法,其特征在于,所述目标Linux GUI程序为Nautilus文件浏览器,所述在所述Linux环境中下载目标Linux GUI程序的步骤,包括:
在所述Linux环境中下载所述Nautilus文件浏览器。
4.如权利要求1所述的方法,其特征在于,在完成所述Aidlux-X11进程的启动之后,所述方法还包括:
在所述Linux环境中安装Nautilus组件;
在所述Nautilus组件中设置环境变量;
根据Nautilux命令,在所述Linux环境中输出所述环境变量;其中,所述环境变量和启动所述Aidlux-X11的参数相同。
5.如权利要求4所述的方法,其特征在于,所述环境变量为DISPLAY环境变量,所述在所述Nautilus组件中设置环境变量的步骤,包括:
在所述Nautilus组件中,设置DISPLAY环境变量。
6.一种显示Linux GUI程序的装置,其特征在于,所述装置包括:
环境植入单元,用于采用预设安装模式,向目标Android设备中植入Linux环境;
GUI程序下载单元,用于在所述Linux环境中下载目标Linux GUI程序;
进程启动单元,用于根据adb命令行,采用Wayland Compositor方式,开始启动Aidlux-X11进程;同时,启动所述Android设备中的surface组件;建立所述surface组件和所述Aidlux-X11中的Xserver之间的联系;完成所述Aidlux-X11进程的启动;
环境变量设置单元,用于设置所述目标Linux GUI程序对应的环境变量;
GUI程序显示单元,用于在所述Android设备中,显示所述目标Linux GUI程序。
7.一种电子设备,其特征在于,所述设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-5中任一所述的方法。
8.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-5中任一所述的方法。
CN202311427848.8A 2023-10-31 2023-10-31 一种显示Linux GUI程序的方法、装置、设备及介质 Active CN117149341B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311427848.8A CN117149341B (zh) 2023-10-31 2023-10-31 一种显示Linux GUI程序的方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311427848.8A CN117149341B (zh) 2023-10-31 2023-10-31 一种显示Linux GUI程序的方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN117149341A CN117149341A (zh) 2023-12-01
CN117149341B true CN117149341B (zh) 2024-01-05

Family

ID=88903147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311427848.8A Active CN117149341B (zh) 2023-10-31 2023-10-31 一种显示Linux GUI程序的方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117149341B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017167127A1 (zh) * 2016-03-31 2017-10-05 阿里巴巴集团控股有限公司 一种图形合成方法、窗口设置方法及系统
WO2017167125A1 (zh) * 2016-03-31 2017-10-05 阿里巴巴集团控股有限公司 一种图形合成方法、信息交互方法及系统
CN113110910A (zh) * 2021-04-20 2021-07-13 上海卓易科技股份有限公司 一种安卓容器实现的方法、系统及设备
CN113190282A (zh) * 2021-04-07 2021-07-30 北京鲸鲮信息系统技术有限公司 安卓运行环境构建的方法及装置
CN113918366A (zh) * 2021-12-14 2022-01-11 北京鲸鲮信息系统技术有限公司 信息处理方法、装置、电子设备及存储介质
CN114020414A (zh) * 2021-11-09 2022-02-08 成都阿加犀智能科技有限公司 Android系统与底层Linux共生方法、装置、电子设备及存储介质
CN114327790A (zh) * 2022-01-10 2022-04-12 北京蔚领时代科技有限公司 基于Linux系统Android容器的渲染方法
CN116136784A (zh) * 2021-11-16 2023-05-19 华为技术有限公司 数据处理方法、装置、存储介质及程序产品
WO2023087778A1 (zh) * 2021-11-19 2023-05-25 北京字节跳动网络技术有限公司 窗口信息处理方法、装置、电子设备及存储介质
CN116414490A (zh) * 2021-12-31 2023-07-11 华为技术有限公司 窗口管理方法、装置、电子设备和存储介质
CN116450149A (zh) * 2023-06-16 2023-07-18 成都阿加犀智能科技有限公司 一种硬件解码方法、设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017167127A1 (zh) * 2016-03-31 2017-10-05 阿里巴巴集团控股有限公司 一种图形合成方法、窗口设置方法及系统
WO2017167125A1 (zh) * 2016-03-31 2017-10-05 阿里巴巴集团控股有限公司 一种图形合成方法、信息交互方法及系统
CN113190282A (zh) * 2021-04-07 2021-07-30 北京鲸鲮信息系统技术有限公司 安卓运行环境构建的方法及装置
CN113110910A (zh) * 2021-04-20 2021-07-13 上海卓易科技股份有限公司 一种安卓容器实现的方法、系统及设备
CN114020414A (zh) * 2021-11-09 2022-02-08 成都阿加犀智能科技有限公司 Android系统与底层Linux共生方法、装置、电子设备及存储介质
CN116136784A (zh) * 2021-11-16 2023-05-19 华为技术有限公司 数据处理方法、装置、存储介质及程序产品
WO2023087778A1 (zh) * 2021-11-19 2023-05-25 北京字节跳动网络技术有限公司 窗口信息处理方法、装置、电子设备及存储介质
CN113918366A (zh) * 2021-12-14 2022-01-11 北京鲸鲮信息系统技术有限公司 信息处理方法、装置、电子设备及存储介质
WO2023109140A1 (zh) * 2021-12-14 2023-06-22 北京字节跳动网络技术有限公司 信息处理方法、装置、电子设备及存储介质
CN116414490A (zh) * 2021-12-31 2023-07-11 华为技术有限公司 窗口管理方法、装置、电子设备和存储介质
CN114327790A (zh) * 2022-01-10 2022-04-12 北京蔚领时代科技有限公司 基于Linux系统Android容器的渲染方法
CN116450149A (zh) * 2023-06-16 2023-07-18 成都阿加犀智能科技有限公司 一种硬件解码方法、设备及存储介质

Also Published As

Publication number Publication date
CN117149341A (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
CN110297996B (zh) 基于h5页面的动画显示方法、装置、设备及存储介质
CN109966739B (zh) 一种优化游戏运行的方法及系统
CN107239309B (zh) 补丁生成方法及装置、更新方法、电子设备、存储介质
EP4319123A1 (en) Image processing method, apparatus and device, storage medium, and computer program product
CN110764805A (zh) 客户端无感升级的方法、装置、终端及存储介质
EP4120595A1 (en) Data processing method and apparatus for virtual scene, and electronic device and storage medium
CN110750664A (zh) 图片的显示方法及装置
CN110413328B (zh) 一种网卡端口的pxe功能使能方法、装置及相关设备
CN117149341B (zh) 一种显示Linux GUI程序的方法、装置、设备及介质
CN109766123B (zh) 应用程序封装方法及装置
US20240078072A1 (en) Method and apparatus for displaying message box, terminal device and non-transitory computer-readable storage medium
CN113827963A (zh) 用户操作的引导方法、装置和电子设备
CN105118020A (zh) 用于快速图片处理的方法及装置
CN109862295B (zh) Gif生成方法、装置、计算机设备及存储介质
CN107621939B (zh) 一种应用优化方法及装置
CN112015450B (zh) 加载智能设备控制页面的方法、装置和存储介质
CN111399926A (zh) 下载启动程序的方法和装置
CN115129444A (zh) 一种应用程序显示方法、装置及计算机可读存储介质
CN112052224B (zh) 文件导出方法和装置
US20200344305A1 (en) Commissioning a virtualised network function
US11782705B2 (en) Scene switching method, device and medium
CN106249910B (zh) 一种基于字库的字符处理方法及装置、用户终端
CN111803939B (zh) 图像的渲染方法、装置及电子设备
CN109213474B (zh) 基于Flash的通用壳设置方法、存储介质、电子设备及系统
CN113271502B (zh) 基于视频弹幕的数据显示方法、装置以及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant