dconf / gsettingsのインストールが壊れています。Ubuntuを再インストールせずに修正するにはどうすればよいですか?


24

VirtualBoxでUbuntu 12.04.1 LTS x64を実行します。非常に不幸なミスクリック(保存された状態をロードする代わりに保存された状態をリセットする)の後、非常に厄介な問題が発生しました。

ほとんどすべてのアプリケーション(ユニティ、シナプス、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
  • ソースとmake installそれからdconf-0.5をビルドします
  • 空のユーザープロファイルを作成し、そこでプログラムを開始します

現在のUbuntuのインストールを維持する必要があるため、完全な再インストールは選択肢ではありません。

どうすれば修正できますか?


1
gsettingsを使用してランチャーの位置を設定しようとしたときに、同じGLib-GIO-Messageが発生しました。フォーラムの投稿を検索して、ldconfigを使用した動的リンカー構成のリセットなどの提案を試みました。ただし、すべてが問題を修正できませんでした。その後、Dmitryの投稿でlddを使用して 'gsettings'共有オブジェクトの依存関係を確認しようと考えたため、Anacondaのインストールで使用した実行可能ファイルを見つけました。/ usr / binにあるバージョンを使用することで問題を解決しました。
パンナ

回答:


23

これは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

3
最初の部分(実行中which)は優れたアドバイスです。第二部、それほどではない。通常、独自のセットアップを使用して環境を実行する必要があります。より良い、または少なくとも代替の解決策は/usr/bin/gsettings、をいじるのではなく明示的に実行することですPATH
マッド物理学者

うん、あなたに完全に同意します!全体として、一般に、PATHソースがどのように適用されるかを知っている必要があります。
オースティン

これは、Ubuntuの18.04で非常に素晴らしい答え+1私の問題を解決
オプト

これはいくつかの牽引力を得ているので、競合があり、python -m [command] [...args]代わりにコマンドを実行する場合、別の良い方法はアナコンダをあなたのパスから締め出すことだと思います。
オースティン

これも.bashrc(.profile)で更新する必要がありました。
バルン

11

私は解決策を見つけました。私は/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

2
おかげで、私もglibのパッチを開発して実行しようとしたため、この問題が発生しましたsudo make installsudo make uninstall/usr/local/lib/
-mxmlnkn

1
+1。Glib2をインストールすると、同様の問題が実際に解決しました。
111

2
Linux Mintはデフォルト設定に戻り、私が行った変更やダブルチェックインを一切尊重しませんでしたdconf-editor。私はソースからglibを作成しておりsudo make install、背景や時計、または他のシナモン設定を変更させないという考えがなかったことが判明しました。私に夢中になっていた。戻るリンク:forums.linuxmint.com/viewtopic.php?t
244360

このエラーが発生します!mv: '/etc/ld.so.conf.d/libc.conf'を統計できません:AnacondaにあるPython環境を除いて、/ usr / loca / libにライブラリやディレクトリがありません。しかし、新しいパッケージをインストールすると問題全体が始まりました。IDEの代わりにjupyter-notebookでコードを実行すると、それは起こりません!
アミール

@Amir lddの出力は問題の説明と同じですか?おそらく別の問題があります。
ドミトリー

7

最初に、このコマンドが返すかどうかを確認しますtrue

gsettings writable com.canonical.Unity.Launcher favorites

そうでない場合は、次を使用してバックエンドをインストールします。

sudo apt-get install dconf-gsettings-backend 

これでも解決しない場合は、次を使用してプロファイルをリセットします。

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

その後、再起動します。


1
最初のコマンドは「true」を返します(「「memory」バックエンドを使用)」。ユーザー構成の削除について:私はすでに空のプロファイルを作成しようとしましたが、空のユーザーアカウントでも問題が解決しません。
ドミトリー14

dconf-gsettings-backendがインストールされていますか?
Frantique

はい、dconf-gsettings-backendがインストールされます(数回再インストールされます)。
ドミトリー14

ミスクリックについて言及しました。それはどこで起こったのですか?
Frantique 14

1
ご回答有難うございます。私は解決策を見つけました(回答として投稿されました)
Dmitry 14

2

ubuntu 16.10でこれに関する個人的な経験を追加したかっただけです。私はしばらくGNOMEデスクトップ環境を使用した後に動作を停止し、Unityに切り替えて、友人に見た目がいかに悪いか(IMO:D)を示し、GNOMEに戻りました。その後、「...メモリバックエンドを使用...」の取得を開始しました。

やること

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

私のためにそれを修正しました。


1
これにより、デスクトップのすべての構成が消去されることに注意してください。
moorepants

1

Debian Jessieでも同じことを経験しました。しかし、質問者の解決策(彼はそれで失敗しました)は私の場合には適切でした:

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

この問題は私を殺していたが、あなたは私の命を救った、ありがとう:D


0

保存するモジュールがあることを確認してください(/ usr / lib / x86_64-linux-gnu / gio / modules /または/ usr / lib / gio / modules /のlibdconfsettings.soまたはGIOモジュールを保存する場所)。Ubuntuでは、このファイルはdconf-gsettings-backendパッケージによって提供されます。再インストールすれば十分です(sudo aptitude reinstall dconf-gsettings-backend)。


0

これは私にとってはうまくいきました(そして、Dmitryが提起したPython Anacondaの問題と同じように見えます)。

$ export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/

(これにより、gsettings-特にGeditのプリンター設定を変更できなくなりました。)

ソース:

https://github.com/conda-forge/glib-feedstock/issues/19

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.