Недавно у меня были некоторые проблемы, когда я пытался установить последнюю версию gnome-shell, а затем вернуться к стабильной версии. После того, как я очистил все PPA, которые я использовал, и переустановил gnome-shell и все остальное, я обнаружил, что все еще работает не совсем правильно.
Я нашел где-то в Интернете (очевидно, авторитетный источник), что удаление моих конфигурационных файлов dconf из ~/.config/dconf/
и ~/.cache/dconf/
, а затем перезагрузка могут помочь. Хотя при этом все мои настройки оболочки gnome вернулись к исходным (как я и хотел), я обнаружил еще одну проблему, заключающуюся в том, что я не мог изменить какие-либо настройки в своей системе с помощью gnome-tweak-tool
, System Settings
или dconf-editor
. Я получаю сообщение об ошибке:
WARNING **: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ca.desrt.dconf was not provided by any .service files
После долгих поисков и поисков я смог выяснить, что я могу изменить настройки, если я запустил /usr/lib/d-conf/dconf-service &
, а затем изменил все мои настройки во время работы.
У меня есть два вопроса:
Кто-нибудь знает, почему что-то подобное происходит (и могу ли я что-нибудь сделать, чтобы это исправить?
и
Страшно добавить /usr/lib/d-conf/dconf-service/
в мои автозагрузки, чтобы я мог менять настройки при повседневном использовании компьютера? Это действительно просто обходной путь, но я хочу знать, безопасно ли это.
Спасибо!
Кажется, что ca.desrt.dconf.service отсутствует в / usr / share / dbus-1 / services /. Попробуйте переустановить dconf-gsettings-backend. Это сработало для меня.
Выполнение ps:
ps -ef|grep dconf
tthtlc 2912 2893 0 Aug07 ? 00:00:00 /usr/lib/ibus/ibus-dconf
tthtlc 4386 2695 0 Aug07 ? 00:00:00 /usr/lib/dconf/dconf-service
и кто его родитель:
root 2440 0:00 lightdm
root 2469 18:07 \_ /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root 2686 0:00 \_ lightdm --session-child 12 15
tthtlc 2695 0:00 \_ init --user
, и поэтому это «init», который вызывается из lightdm (принадлежит root). [ 115]
очевидно, что dconf-server не принадлежит пользователю root, и поэтому его не следует запускать во время загрузки, а вместо этого следует запускать ПОСЛЕ того, как пользователь прошел аутентификацию через оболочку входа в систему, которая затем запустила init и затем после других программ.
(Обратите внимание, что у меня Ubuntu 14.04 64-bit LTS).
Для запуска dconf-service прочитайте это - так что по сути вам не нужно запускать его самостоятельно:
Пользователям или администраторам никогда не нужно запускать службу, так как это будет автоматически запускается dbus-daemon (1) всякий раз, когда приложение пытается записать настройки. Чтение значений из базы данных dconf не включает службу; он нужен только для записи.