我的 dconf/gsettings 安裝已損壞。如何在不重新安裝 Ubuntu 的情況下修復它?

我的 dconf/gsettings 安裝已損壞。如何在不重新安裝 Ubuntu 的情況下修復它?

我在 VirtualBox 中執行 Ubuntu 12.04.1 LTS x64。在一次非常不幸的誤點擊(重置保存狀態而不是加載保存狀態)之後,我遇到了一個非常煩人的問題。

幾乎所有應用程式(unity、synaptic、gedit 等)都會在啟動時列印:

Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

所有 GUI 設定在重新啟動後都會重設。

另一個症狀:

$ GSETTINGS_BACKEND=dconf dconf-editor
(dconf-editor:2353): GLib-GIO-WARNING **: Can't find module 'dconf' specified in GSETTINGS_BACKEND
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications

/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so存在。


我嘗試過的(但沒有幫助):

  • sudo apt-get install -f --reinstall dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service
  • 從原始碼建構 dconf- make install0.5
  • 創建空的用戶配置文件並在那裡啟動程序

我必須保留當前的 Ubuntu 安裝,因此完全重新安裝對我來說不是一個選項。

我該如何修復它?

答案1

PATH如果您與 Anaconda 等 Python 環境管理器發生衝突,也可能會發生這種情況。

確保which gsettings在進入太深之前先跑。如果這沒有印出來/usr/bin/gsettings,而是像你/home/{username}/anaconda3/bin/gsettings可能有.profile類似的東西: .bashrc.zshrc

export PATH=$HOME/anaconda3/bin:$PATH

將其更改為:
export PATH=$PATH:$HOME/anaconda3/bin

應用程式結束而不是使用該PATH變數將解決您的問題,但請注意,您的系統bin或其他PATH位置中的任何內容都將取代您的anaconda3/bin.

另一個選擇是別名/usr/bin/gsettings

alias sys-gsettings=/usr/bin/gsettings
sys-gsettings get org.gnome.todo view

答案2

我找到了解決方案。看來我在/usr/local/lib“影子”系統庫中獲得了幾個定制的庫/usr/lib/x86_64-linux-gnu/

我透過檢查載入的動態庫發現了它libdconfsettings.so

ldd /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so

...
<  several dynamic libraries from /usr/local/lib >
...

發生這種情況是因為動態庫的搜尋路徑順序(在 中定義/etc/ld.so.conf.d/)。順序如下:

  1. /lib/i386-linux-gnu
  2. /usr/lib/i386-linux-gnu
  3. /lib/i686-linux-gnu
  4. /usr/lib/i686-linux-gnu
  5. /usr/local/lib
  6. /lib/x86_64-linux-gnu
  7. /usr/lib/x86_64-linux-gnu

因此,如果您將自己的內容放入libc.so其中/usr/local/lib,則會加載而不是預設libc.so/lib/x86_64-linux-gnu.

修復:

sudo mv /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/xuserlocal.conf
sudo ldconfig
sudo reboot

答案3

首先檢查此命令是否返回true

gsettings writable com.canonical.Unity.Launcher favorites

如果沒有,請使用以下命令安裝後端:

sudo apt-get install dconf-gsettings-backend 

如果這也沒有幫助,請透過以下方式重設您的個人資料:

rm -rf ~/.gnome ~/.gnome2 ~/.gconf ~/.gconfd ~/.metacity .config/dconf/*

之後重新啟動。

答案4

我在 Debian Jessie 中也經歷過同樣的事情。但提問者的解決方案(他失敗了)適合我的情況:

 sudo apt-get install -f --reinstall  dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service

這個問題一直困擾著我,但你救了我的命,謝謝:D

相關內容