web-dev-qa-db-ja.com

GUIなしでdconfキーを変更するには(インストール後のスクリプトの場合)?

Dconf-toolsをインストールしました。この場合、セッションインジケーターのパネルで名前の表示を操作しています。

Dconf-editor guiでこれを問題なく変更できます。apps/ indicator-sessionに移動し、show-real-name-on-panelのチェックを外します。

ただし、コマンドラインでdconfを使用するだけで切り替えようとしました。

dconf write /com/canonical/indicator/session/show-real-name-on-panel false

再起動後、パネルは変更されず、dconf-editorのキーも変更されません。

さらに、ターミナルを介してdconfデータベースを更新しようとすると、エラーが発生します。

$ dconf update
fatal: Error opening directory '/etc/dconf/db': No such file or directory

私の経験からseems dconfとdconf-editorには関係がないので、私は何を間違っているのだろうと思います。

これを理解できたら、コマンドをbashスクリプトに配置して、次回アップグレードのためにクリーンインストールを行う必要があるときに実行するようにします*。私は6か月で多くの調整を行いますが、今後は可能な限り自動化したいと思っています。

  • 少し話題外:ディストリビューションアップグレードメカニズムは、私にとって支障なく機能したことはありません。私は11.04から11.10への移行も試みました。
30
Inkayacu

gsettingsツールを使用できます。

gsettings set com.canonical.indicator.session show-real-name-on-panel false
34
Anonymous

以下はUbuntu 14.04で私のために働いた:

dconf write /org/gnome/gnome-session/auto-save-session true

値は変更され、再起動後も変更されたままでした。ウィンドウが保存されないという別の問題がありましたが、それはまったく別の問題です。

12

dconf dump + load大量のエクスポートと復元

  1. すべての設定をファイルにダンプします。

    dconf dump / >~/.config/dconf/user.conf
    
  2. テキストエディターでそのファイルを開き、気になる設定を選択します。

    editor ~/.config/dconf/user.conf
    

    Vimを使用する場合、 この構文の強調表示 が必要です。

  3. 設定の名前がわからないが、unity-control-centerなどのGUIから設定を変更する方法を知っている場合は、次を実行します。

    dconf watch /
    

    そして、それらを変更します。正確な設定が端末に表示されます。

  4. これらの設定を復元する場合は、次を実行します。

    dconf load / <~/.config/dconf/user.conf
    
  5. Gitは構成ファイルを追跡して、失わないようにします。 https://github.com/andsens/homeshickhomesick は私の現在のお気に入りの方法です。

Ubuntu 15.10。でテスト済み。適応するヒント: http://catern.com/2014/12/21/plain-text-configuration-gnome.html

(少なくとも15.10では)dconfレイヤーでのみ設定を保存し、gsettingsで設定できないもの(特にcompiz)があるようです。これは他の設定パスに影響を与える可能性がありますが、おそらくありそうにありません-compizは単一よりも下位のレイヤーにあるため、動作が異なることは驚くことではありません。

たとえば、これは動作します:

dconf write /org/compiz/profiles/unity/plugins/core/outputs "['3200x1800+288+2160', '3840x2160+0+0']"

これはしませんが:

gsettings set org.compiz.profiles.unity.plugins.core outputs "['3200x1800+288+2160', '3840x2160+0+0']"
# No such schema 'org.compiz.profiles.unity.plugins.core'

今、私がすべてをクラッシュさせることなくcompizをリロードする方法を理解できれば...

1
pospi