Согласно указанным техническим требованиям , коммерческое приложение должно содержаться в одном каталоге (что, я согласен, является хорошим требованием) и использовать ~/.config/<app-name>
для своих данных конфигурации (тоже хорошее требование) ). Однако Gsettings требует, чтобы файл схемы был установлен внутри некоторого подкаталога из $XDG_DATA_DIRS
. Должен ли я понимать, что коммерческие приложения не могут использовать GSettings?
Я нашел еще одну страницу , которая, похоже, не совсем соответствует требованиям ограничительный. В последних упоминается установка файла значков в /usr/share/icons/
и файла рабочего стола в /usr/share/applications/
. Если все в порядке, может быть, это тоже нормально, чтобы установить схему GSettings в /usr/share/glib-2.0/schemas/
? Это было бы лучше иметь подтверждение. Я чувствую первую упомянутую ссылку, не хватает точности.
Вам не нужно устанавливать файлы схемы в /usr/share/glib-2.0/schemas/
, их можно установить в любой ${XDG_DATA_DIRS}/glib-2.0/schemas/
.
Таким образом, вы можете установить схему в /opt/<yourapp>/share/glib-2.0/schemas
, а затем добавить двоичный файл /opt/<yourapp>/share
в переменную среды XDG_DATA_DIR, прежде чем пытаться использовать GSettings.
Это то, что мы делаем для приложений Quickly, устанавливаемых в /opt/extra.ubuntu.com/<appname>/