Я хочу «заблокировать» конкретную комбинацию клавиш / значений в dconf, так что только суперпользователи смогут изменить эту конкретную настройку. Для этого необходимо добавить «блокировку» в системную базу данных, чтобы эквивалентный ключ / значение, указанное в базе данных более высокого порядка (в профиле dconf), не имеет приоритета.
Подробное объяснение концепции профиля dconf и связанных с ним «ключевых файлов» см. В Wiki.
Из Wiki системы:
Lockdown поддерживается созданием подкаталога «locks» в каталоге файлов ключей (например: /etc/dconf/db/local.d/locks). Файлы, содержащиеся в этом каталоге, содержат список ключей для блокировки, по одному на строку.В моем каталоге ключей отображается как «ibus.d», в отличие от «local.d», приведенного в примере:
:/etc/dconf/db/ibus.d$
профиль dconf /etc/dconf/profile/ibus, это выглядело бы правильно:
Содержание файла «ibus»: user-db:user \ system-db:ibus
Согласно Wiki:
Создайте соответствующий файл ключа: ==> /etc/dconf/db/ibus.d/00-media-handling ==< [org/gnome/desktop/media-handling] automount=false Создайте подкаталог «блокировки» и добавьте соответствующий файл: ==> /etc/dconf/db/ibus.d/locks/00_media-handling-lock ==< /org/gnome/desktop/media-handling/automountВ моем случае я установил и заблокировал, automount, для схемы org.gnome.desktop.media-handling - «false».
Наконец, запустите sudo dconf update. Для хорошей меры я также перезагружаю машину.
Ожидаемое поведение при подключении USB-накопителя было бы для устройства не для автомонтирования. Это, однако, не так. Если я присоединяю USB-накопитель и запускаю df:
/dev/sdb1 983344 192 983152 1% /media/user/xxxx-xxxx
Предполагая, что я виноват; Я начинал с «нуля» много раз, каждый раз следуя (одинаковым) инструкциям из разных источников, включая примеры, приведенные на этом сайте; пример Wiki и два. Каждый раз безрезультатно. Пожалуйста, не могли бы вы рассказать о том, где я могу ошибиться? (Ubuntu 16.04)
Файл профиля должен быть / etc / dconf / profile / user
От человека 7 dconf:
On startup, dconf consults the DCONF_PROFILE environment variable.
If set, dconf will attempt to open the named profile, aborting if that fails.
If the environment variable is not set, it will attempt to open the profile named "user"
and if that fails, it will fall back to an internal hard-wired configuration.
Я добавил этот файл:
cat /etc/dconf/profile/user
user-db:user
system-db:local
Затем я поместил свой файл блокировки в /etc/dconf/db/local.d/lock
И, наконец, я запустил обновление dconf
Мне пришлось выйти из системы и снова войдите в систему, поскольку я использовал жесткую конфигурацию. Теперь он работает.
Файл профиля должен быть / etc / dconf / profile / user
От человека 7 dconf:
On startup, dconf consults the DCONF_PROFILE environment variable.
If set, dconf will attempt to open the named profile, aborting if that fails.
If the environment variable is not set, it will attempt to open the profile named "user"
and if that fails, it will fall back to an internal hard-wired configuration.
Я добавил этот файл:
cat /etc/dconf/profile/user
user-db:user
system-db:local
Затем я поместил свой файл блокировки в /etc/dconf/db/local.d/lock
И, наконец, я запустил обновление dconf
Мне пришлось выйти из системы и снова войдите в систему, поскольку я использовал жесткую конфигурацию. Теперь он работает.