讽刺的是,我不是这台机器的超级用户,但我们的开发服务器是安装了 X11 和 GTK 2 的 FreeBSD。我发现我可以通过将它们放入~/.themes
然后include "/home/my-user-name/.themes/path/to/theme/gtk-2.0/gtkrc"
在第一行中放入来在服务器上使用我自己的主题~/.gtkrc-2.0
。
但是,我使用的一些主题需要安装 murrine。是否可以在没有任何超级用户(su
或sudo
)访问权限的情况下编译和包含引擎?
答案1
根据grawity的回答,该目录~/.gtk-2.0
位于gtk的引擎中$PATH
。如果是这样,你应该能够从下载murrine的源代码这里然后运行:
tar xvzf murrine-0.90.3.tar.gz
cd murrine-0.90.3/
./configure ---prefix=~/.gtk-2.0 --libdir=~/.gtk-2.0
make
make install
~/.gtk-2.0
这样就可以安装不需要 root 访问权限的引擎。
答案2
您可以在中安装主题引擎~/.gtk-2.0
。上次我检查时,搜索路径是:
~/.gtk-2.0/{abi 版本}/{machtype}/engines/lib{引擎}.dll ~/.gtk-2.0/{abi 版本}/{machtype}/engines/lib{引擎}.la ~/.gtk-2.0/{abi 版本}/engines/lib{引擎}.dll ~/.gtk-2.0/{abi 版本}/engines/lib{引擎}.la ~/.gtk-2.0/{machtype}/engines/lib{引擎}.dll ~/.gtk-2.0/{machtype}/engines/lib{引擎}.la ~/.gtk-2.0/engines/lib{引擎}.dll ~/.gtk-2.0/engines/lib{引擎}.la {前缀} /lib/gtk-2.0/{abi 版本} /{machtype} /engines/lib{引擎}.dll {前缀} /lib/gtk-2.0/{abi-version} /{machtype} /engines/lib{engine}.la {前缀} /lib/gtk-2.0/{abi-version} /engines/lib{引擎}.dll {前缀} /lib/gtk-2.0/{abi-version} /engines/lib{引擎}.la {前缀} /lib/gtk-2.0/{machtype} /engines/lib{引擎}.dll {前缀} /lib/gtk-2.0/{machtype} /engines/lib{引擎}.la {前缀} /lib/gtk-2.0/engines/lib{引擎}.dll {前缀} /lib/gtk-2.0/engines/lib{引擎}.la
其中{abi-version}
似乎是2.10.0
,{machtype}
是 GNU 样式的机器类型($MACHTYPE
在 Bash 中),{engine}
是引擎名称(例如murrine
)。{prefix}
通常在 Linux 上是,在 Windows 上是/usr
程序的安装目录(例如)。C:\Program Files\Pidgin
答案3
我想编译和调整 redmond 主题。我遵循了 @grawity 使用 strace 的想法,但我将符号链接放在已编译的 .so 文件中,这样我就不需要在重新编译时总是复制它。
我将符号链接放在/home/sashoalm/.gtk-2.0/engines
,并使其指向我的构建目录,其中/home/sashoalm/Workspace/redmond/gtk2-engines-2.20.2/engines/redmond/.libs
,libredmond95.so
由编译器创建,并且它可以工作!