![libgnome-shell.so 提取、更改某些文件的内容并重新编译..可以吗?](https://linux22.com/image/1577722/libgnome-shell.so%20%E6%8F%90%E5%8F%96%E3%80%81%E6%9B%B4%E6%94%B9%E6%9F%90%E4%BA%9B%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E5%B9%B6%E9%87%8D%E6%96%B0%E7%BC%96%E8%AF%91..%E5%8F%AF%E4%BB%A5%E5%90%97%EF%BC%9F.png)
是否可以提取文件libgnome-shell.so
,然后更改某些文件的内容并重新编译?
我正在使用 Ubuntu 18.04
我正在尝试通过编辑文件.js
中的文件对 gnome-shell 进行一些调整libgnome-shell.so
。
答案1
使用gresource
命令列出并提取 ELF 文件或 .gresource 包中的资源:
gresource extract libgnome-shell.so /org/gnome/shell/ui/main.js > ~/GNOME_Shell/ui/main.js
编译器glib-compile-resources
需要编译资源的 XML 格式列表,并且其输出不能轻易地重新附加到现有的 .so ELF 文件。
一种更简单的方法是通过设置此环境变量(来自 ~/.xprofile 或 ~/.pam_environment)使用“覆盖”重新映射一些要从文件系统加载的资源:
G_RESOURCE_OVERLAYS="/org/gnome/shell=$HOME/GNOME_Shell"
/org/gnome/shell/ui/main.js
现在, GNOME Shell 将自动使用~/GNOME_Shell/ui/main.js
包含您所编辑的文件,而不是来自 libgnome-shell.so 的资源。