当前位置: 首页 > 科技观察

如何从源代码构建GNOMEShell和应用程序

时间:2023-03-23 10:16:16 科技观察

这是一个关于如何从源代码编译GNOME的快速指南,包括Shell、mutter和一些本机应用程序。在编译之前,你需要确定一些事情,因为下面的编译直接来自Gitlab的master分支,里面包含了一些开发包。一般来说,你可以选择在任何Linux发行版中编译。但我建议使用FedoraRawhide(Fedora的未来版本的开发分支)。另外,不要在稳定的系统上尝试这个。因为事情可能会出错,所以您最终可能会遇到一个损坏的系统。总而言之,您需要以下内容才能从源代码编译GNOME。测试环境(虚拟机或测试系统)。FedoraRawhide发行版(推荐,从这里下载)。确保您的发行版是最新的。您已登录到您的X.org会话。我不建议在Wayland会话中编译,因为你会遇到问题。从源代码构建GNOMEGNOME桌面是一组基于其功能的包。Linux发行版的桌面组件在窗口管理器和shell下工作。因此,对于GNOME,我会首先编译mutter——GNOMEShell的窗口管理器。然后编译GNOMEShell。最后,我将编译一些本机应用程序。我将使用介子构建系统进行编译。介子是一个漂亮的构建系统,快速且用户友好。要编译mutter,请打开终端并安装GNOMEShell和mutter所需的软件包。sudodnfbuild-depmuttergnome-shell在您的主目录(或您想要的任何位置)中创建一个演示目录。cd~mkdirdemocddemo从Gitlab克隆mutter的master分支。gitclonehttps://gitlab.gnome.org/GNOME/mutter进入克隆目录,然后使用下面的介子命令准备构建文件。默认情况下,meson使用/usr/local作为构建文件。但是,您也可以使用前缀开关将输出重定向到特定文件夹(见下文)。cdmuttermeson_build--prefix=/usrCompileMutterforGNOME构建完成后,使用以下命令在系统上安装mutter。sudoninjainstall-C_build编译GNOMEShellGNOMEShell和其他包以类似的方式编译。首先,从GitLab克隆主要的GNOMEShell存储库,然后编译并安装。您可以按顺序执行以下命令。在GNOMEShell中,您需要两个依赖项。它们是asciidoc和sassc。请在构建GNOMEShell之前安装它们。sudodnfinstallasciidocsudodnfinstallsassc安装这些依赖项后,按照以下命令构建和安装GNOMEShell。在运行此命令之前,请确保您返回到演示文件夹(我在第一步中创建的)。gitclonehttps://gitlab.gnome.org/GNOME/gnome-shellcdgnome-shellmeson_build--prefix=/usrsudoninjainstall-C_build运行GNOMEShell编译完成,可以尝试重启GNOMEShell查看从主分支变化。正如我之前提到的,在重新启动之前,请确保您处于X.Org会话中。按ALT+F2并输入r。然后按回车。此命令将重新启动GNOMEShell。重启GNOMEShell(X11)恭喜!您已经成功编译了GNOMEShell和Mutter。现在,是时候编译一些本机GNOME应用程序了。编译GNOME本机应用程序这些步骤对于所有GNOME源或任何应用程序都是相同的。您需要更改存储库的名称。因此,这里有一些命令示例,用于编译必要的GNOME原生应用程序。文件(Nautilus)gitclonehttps://gitlab.gnome.org/GNOME/nautilus/cdgnome-shellmeson_build--prefix=/usrsudoninjainstall-C_buildGNOME软件商店gitclonehttps://gitlab.gnome.org/GNOME/gnome-software/cdgnome-shellmeson_build--prefix=/usrsudoninjainstall-C_buildGNOME控制中心gitclonehttps://gitlab.gnome.org/GNOME/gnome-control-center/cdgnome-shellmeson_build--prefix=/usrsudoninjainstall-C_buildFAQ使用上述步骤,您可以构建任何源代码分支。不仅仅是GNOME。GitLab服务器有时很慢,克隆存储库可能需要很长时间。如果gitclone失败,我建议你再试一次。结论我希望这个小小的高级教程能帮助您在新的GNOME功能进入GNOME每日构建系统之前尝试它们。现在您已经编译了,您还可以为测试新的GNOME功能做出贡献,并在GitLab问题页面上报告任何特定包的错误或问题。

最新推荐
猜你喜欢