Какая программа запрашивает открыть “/etc/dconf/db/local:X” и почему она не может этого сделать?

Вопрос или проблема

Я настраиваю новый Debian 12 bookworm.
Я немного поиграл с настройками и расширениями.
Пытаясь установить мой compose key — GUI позволяет установить его как “pause”, но это не имеет эффекта, в то время как я могу выбрать “right-super” — я мог немного напортачить.
Я скачал и запустил скрипт на perl с https://askubuntu.com/questions/26056/where-are-gnome-keyboard-shortcuts-stored, но только в режиме экспорта: ./keybindings.pl -e /tmp/keys.csv.
Я запускал его как root, так и под user 1000.
В обоих случаях я получаю

dconf-WARNING **: 16:55:41.021: unable to open file '/etc/dconf/db/local:X': L’ouverture du fichier « /etc/dconf/db/local:X » a échoué : échec de open() : Aucun fichier ou dossier de ce type; expect degraded performance

Ни Google, ни Bing не дают ответа на запрос "/etc/dconf/db/local:X" (с кавычками).
dconf сам по себе — это просто бэкенд для настроек конфигурации…

Согласно loginctl, мой сеанс типа Wayland.

На данный момент у меня

$ ls -l /etc/dconf/db
total 20
drwxr-xr-x 2 root       root       4096 2024-12-30 12:41 ibus.d
drwxr-xr-x 3 root       root       4096 2025-01-13 10:52 local.d
-rw-r--r-- 1 ondelettes ondelettes 5459 2025-01-14 16:56 ibus
-rw-r--r-- 1 ondelettes ondelettes  408 2025-01-14 16:56 local

$ ls -l /etc/dconf/profile
total 8
-rw-r--r-- 1 root root 28 2023-02-13 12:22 ibus
-rw-r--r-- 1 root root 31 2025-01-13 10:39 user

$ chmod a+rxw /etc/dconf/db не повлияло на проблему.

$ dconf update как пользователь или root не возвращает ошибку и не дает улучшений.

Если я touch /etc/dconf/db/local:X, то в следующий раз получаю invalid gvdb header.

Если я запускаю gnome-terminal или soffice из командной строки, я получаю то же предупреждающее сообщение (unable to open file '/etc/dconf/db/local:X'), что раздражает, так как я весь день работаю из командной строки.

.

Ответ или решение

Чтобы решить проблему, необходимо разобраться в том, что происходит в системе и почему возникает ошибка с "dconf-WARNING **: unable to open file ‘/etc/dconf/db/local:X’". Начнем с анализа контекста и понимания механизма работы dconf.

Теория

dconf – это система конфигурации, используемая в современных дистрибутивах Linux для управления настройками приложений и системы. Она оперирует ключ-значение парами, подобно Windows Registry, и хранит конфигурационные данные в бинарных файлах GVDB (GVariant Database).

Файлы конфигурации dconf хранятся в каталогах, обычно расположенных в /etc/dconf/db/ для системных конфигураций и в домашней директории пользователя для пользовательских настроек. Содержимое этих файлов управляется через специальные профили, определяемые в /etc/dconf/profile/.

Когда система или приложение обращается к dconf, оно пытается открыть необходимую базу данных для чтения или изменения настроек. В вашем случае, запрос к /etc/dconf/db/local:X указывает, что пытается быть открыт файл с именем "local:X".

Пример

Ваши действия, вероятно, связаны с попыткой настроить клавишу Compose через графический интерфейс или через скачанный скрипт, который повлиял на конфигурации dconf. В результате этих настроек произошел сбой, из-за которого система пытается открыть несуществующий файл /etc/dconf/db/local:X. Неверный формат "X" в имени файла может указывать на ошибку в конфигурации или скрипте, который вы использовали.

Команда dconf update, которую вы выполняли, должна пересобрать соответствующие базы данных dconf из их сорс-директории /etc/dconf/db/local.d/, но она не может исправить проблемы, связанные с неправильными ссылками или некорректными профилями.

Применение

  1. Проверьте конфигурации профилей: Откройте файл профиля, в вашем случае это может быть /etc/dconf/profile/user, и убедитесь, что в нем нет ссылок на несуществующие или неправильно названные базы.

  2. Пересоберите базу данных: Убедитесь, что в каталоге /etc/dconf/db/local.d/ находятся корректные текстовые конфигурационные файлы. После чего выполните dconf update от имени пользователя root, чтобы пересобрать бинарные файлы dconf.

  3. Проверьте системные и пользовательские настройки: Возможно, что в ваших пользовательских конфигурациях домашней директории содержатся некорректные ссылки на dconf. Проверьте содержимое .config/dconf, чтобы исключить такую возможность.

  4. Удалите ошибочные файлы: Если ранее вы создавали файл local:X с помощью touch, а затем получили ошибку "invalid gvdb header", удалите этот файл.

  5. Журналы и логи: Просмотрите системные журналы, например, journalctl, на предмет других предупреждений или ошибок, которые могут указывать на первопричину проблемы.

Следуя этим шагам, вы сможете устранить возникшую проблему с dconf и избежать повторения ошибок в будущем. Если проблема сохраняется, выясните, нет ли у вас специфических расширений GNOME или настроек, которые могут влиять на работу dconf.

Оцените материал
Добавить комментарий

Капча загружается...