3

Немного иронии в том, что я не являюсь суперпользователем на этой машине, но наш сервер разработки - FreeBSD с установленными на нем X11 и GTK 2. Я обнаружил, что могу использовать свои собственные темы на сервере, поместив их в ~/.themes а затем include "/home/my-user-name/.themes/path/to/theme/gtk-2.0/gtkrc" в первой строке ~/.gtkrc-2.0 .

Тем не менее, некоторые из тем, которые я использовал, зависят от того, что было установлено. Можно ли скомпилировать и включить движок без какого-либо доступа суперпользователя (su или sudo) вообще?

3 ответа3

5

Вы можете установить движки тем в ~/.gtk-2.0 . В прошлый раз, когда я проверял, путь поиска был:

~/.gtk-2.0/{abi-version}/{machtype}/engines/lib{engine}.dll
~/.gtk-2.0/{abi-version}/{machtype}/engines/lib{engine}.la
~/.gtk-2.0/{abi-version}/engines/lib{engine}.dll
~/.gtk-2.0/{abi-version}/engines/lib{engine}.la
~/.gtk-2.0/{machtype}/engines/lib{engine}.dll
~/.gtk-2.0/{machtype}/engines/lib{engine}.la
~/.gtk-2.0/engines/lib{engine}.dll
~/.gtk-2.0/engines/lib{engine}.la
{prefix}/lib/gtk-2.0/{abi-version}/{machtype}/engines/lib{engine}.dll
{prefix}/lib/gtk-2.0/{abi-version}/{machtype}/engines/lib{engine}.la
{prefix}/lib/gtk-2.0/{abi-version}/engines/lib{engine}.dll
{prefix}/lib/gtk-2.0/{abi-version}/engines/lib{engine}.la
{prefix}/lib/gtk-2.0/{machtype}/engines/lib{engine}.dll
{prefix}/lib/gtk-2.0/{machtype}/engines/lib{engine}.la
{prefix}/lib/gtk-2.0/engines/lib{engine}.dll
{prefix}/lib/gtk-2.0/engines/lib{engine}.la

где {abi-version} выглядит как 2.10.0 , {machtype} - это тип машины в стиле GNU ($MACHTYPE в Bash), а {engine} - это имя движка (например, murrine). {prefix} обычно является /usr в Linux или каталогом установки программы (например, C:\Program Files\Pidgin) в Windows.

4

Согласно ответу Гравити, каталог ~/.gtk-2.0 находится в движке gtk $PATH . Если это так, то вы сможете скачать исходники Муррин отсюда и запустить:

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-доступ.

0

Я хотел скомпилировать и настроить тему Redmond. Я следовал идее @ grawity об использовании strace, но поместил символическую ссылку на мой скомпилированный файл .so, поэтому мне не нужно всегда копировать его при перекомпиляции.

Я поместил символическую ссылку в /home/sashoalm/.gtk-2.0/engines и указал на мой каталог сборки, где /home/sashoalm/Workspace/redmond/gtk2-engines-2.20.2/engines/redmond/.libs , где libredmond95.so создан компилятором, и он работает!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .