Вопрос или проблема
Я настраиваю новый 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/
, но она не может исправить проблемы, связанные с неправильными ссылками или некорректными профилями.
Применение
-
Проверьте конфигурации профилей: Откройте файл профиля, в вашем случае это может быть
/etc/dconf/profile/user
, и убедитесь, что в нем нет ссылок на несуществующие или неправильно названные базы. -
Пересоберите базу данных: Убедитесь, что в каталоге
/etc/dconf/db/local.d/
находятся корректные текстовые конфигурационные файлы. После чего выполнитеdconf update
от имени пользователя root, чтобы пересобрать бинарные файлы dconf. -
Проверьте системные и пользовательские настройки: Возможно, что в ваших пользовательских конфигурациях домашней директории содержатся некорректные ссылки на dconf. Проверьте содержимое
.config/dconf
, чтобы исключить такую возможность. -
Удалите ошибочные файлы: Если ранее вы создавали файл
local:X
с помощьюtouch
, а затем получили ошибку "invalid gvdb header", удалите этот файл. -
Журналы и логи: Просмотрите системные журналы, например,
journalctl
, на предмет других предупреждений или ошибок, которые могут указывать на первопричину проблемы.
Следуя этим шагам, вы сможете устранить возникшую проблему с dconf и избежать повторения ошибок в будущем. Если проблема сохраняется, выясните, нет ли у вас специфических расширений GNOME или настроек, которые могут влиять на работу dconf.