質問: libgnome-shell.soを抽出し、一部のファイルのコンテンツを変更してコンパイルし直します。それは可能ですか? ファイルlibgnome-shell.soを抽出してから、一部のファイルの内容を変更してコンパイルし直すことは可能ですか?ubuntu18.04を使用しています.jsファイル内のlibgnome-shell.soファイルを編集して、gnome-shellを微調整しようとしています。
回答: gresourceコマンドを使用して、elfファイルまたは.gresourceバンドルからリソースを一覧表示および抽出します。gresource extract libgnome-shell.so /org/gnome/shell/ui/main.js > ~/gnome_shell/ui/main.js コンパイラーglib-compile-resourcesは、コンパイルするリソースのxml形式のリストを必要とし、その出力を既存の.soelfファイルに簡単に再アタッチすることはできません。より簡単な方法は、この環境変数を(〜/ .xprofileまたは〜/ .pam_environmentから)設定することにより、「オーバーレイ」を使用してファイルシステムからロードされるいくつかのリソースを再マップすることです。g_resource_overlays="/org/gnome/shell=$home/gnome_shell" これで、libgnome-shell.soの/org/gnome/shell/ui/main.jsリソースの代わりに、gnomeshellは編集内容を含むファイル~/gnome_shell/ui/main.jsを自動的に使用します。