Моей системой является Ubuntu 18.04.
Я хочу запустить corebird с определенной темы от a .desktop
файл. Таким образом, я создал a .desktop
файл с этой исполнительной строкой:
Exec=env GTK_THEME=mytheme corebird
Но corebird, запущенный с темой значения по умолчанию оболочки гнома.
Затем я создал сценарий удара:
#!/bin/bash
export GTK_THEME="mytheme"
exec /usr/bin/corebird "$@"
... и измените исполнительную строку с:
Exec=/home/me/bin/corebird.sh
... но тот же результат, corebird запущенный с темой значения по умолчанию GNOME.
Так, что путь состоит в том, чтобы запустить приложение с определенной темой от a .desktop
файл?
В Вашем файле на рабочем столе измените исполнительную строку на
Exec=sh -c "GTK_THEME=mytheme corebird"
С другой стороны, если Вы работаете со сценарием обертки, изменяете его на:
#!/bin/bash
GTK_THEME="mytheme" /usr/bin/corebird "$@"
Остерегайтесь того этого подхода для применения, другая тема будет работать только с приложениями GTK3.
Причина, почему тема переменной среды не включена, вызывается этой строкой в .destop файле:
DBusActivatable=true
Как объяснено в спецификациях freedesktop.org:
Булево значение, указывающее, поддерживается ли активация D-шины для этого приложения. Если этот ключ отсутствует, значение по умолчанию является ложью. Если значение истинно затем, что реализации должны проигнорировать Исполнительный ключ и отправить сообщение D-шины для запуска приложения. Посмотрите Активацию D-шины для получения дополнительной информации о том, как это работает. Приложения должны все еще включать Должностное лицо = строки в их файлах на рабочем столе для совместимости с реализациями, которые не понимают ключ DBusActivatable.
Так, помещение этого значения ко лжи или удаление этой строки устраняют эту проблему:
DBusActivatable=false