dconf
以前IBusのインジケーターが表示されないでdconfの話が出てきましたが、もう少しdconfに焦点を当ててみます。dconfはソフトウェアの設定を保存するシステムで、Windowsで言うところのレジストリみたいなものです。
レジストリと同じように階層構造になっており、キーと値の組み合わせで情報が保存されています。
dconfデータベース
アプリがdconfを利用して各種設定を保存すると、それらの情報はdconfデータベースに書き込まれます。dconfデータベースはバイナリ形式のファイルのため、直接テキストエディタで開いて編集することはできません。
ユーザー用のデータベースとシステム用のデータベース
dconfデータベースにはユーザー用とシステム用が存在します。ユーザー用のデータベースは各ユーザーごとに存在し、「~/.config/dconf/user」ファイルがユーザー用データベースになります。
システム用のデータベースは「/etc/dconf/db」フォルダーに存在します。
ただし使われていなければ、データベースは存在しません。
もし同じアプリの設定が両データベースに存在した場合、ユーザー用のデータベースに格納されているアプリの設定が優先されます。
アプリの設定の保存方法
アプリの設定の保存方法はdconfだけではなく様々な方法があります。設定をテキスト形式でファイルに保存するタイプのアプリもあります。
全てのアプリがdconfを利用して設定を保存しているわけではありません。
GNOME標準アプリやGNOME向けに最適化されたアプリは、dconfを利用することが多いです。
ユーザー用のデータベースを削除するとどうなるか?
そのユーザーがログインした時に、デフォルトの設定でデータベースが構築されます。結果dconfに設定を保存していたアプリの設定はデフォルトに戻ります。
ログインできなくなったりUbuntuが起動しなくなることはありません。
dconfエディター
上記にも書いた通り、dconfデータベースはバイナリ形式のファイルのため、直接編集することはできません。dconfデータベースの編集方法の一つが「dconfエディター」です。
値の編集や値のリセットを行うことができます。
アプリ名は「dconf-editor」です。
インストール
Ubuntuソフトウェアセンターを起動し、「dconf-editor」で検索します。起動
Dashホームから以下のように起動します。UI構成
dconfエディターのUI構成です。1.パス
データベース内のパス(キー)です。階層構造になっています。
パス一つ一つの構成要素はキーです。
2.キー一覧(Name)
選択されたパス内のキーの一覧です。値がデフォルト値と異なる場合は、太字で表示されます。
3.値一覧(Value)
キーに対応する値の一覧です。4.キーと値の情報
選択されたキーの情報が表示されます。Schema
パスの代わりに利用できる識別子です。Summary
キーの概要です。Description
キーの説明です。Type
値のフォーマットです。例えば「Integer [-2147483648..2147483647]」は-2147483648~2147483647の間で数値を指定できるという意味です。
ただし指定できるというだけで、数値をどのように解釈するかはアプリ次第です。
Default
値のデフォルト値です。5.「Set to Default」ボタン
選択された値をデフォルト値に戻します。デフォルト値は「4.」の「Default」に表示されています。
値の編集
値を編集するには、編集したい値をクリックします。クリックすると以下のように編集できる状態になります。
入力できる内容については、すでに入力されている値やType、SummaryやDescriptionを参考にして入力すると良いでしょう。
GVariant formatも参考にしてください。
値を編集したら「エンター」キーを押して値を確定します。
dconfには値の変更をアプリに通知する機能があるため、アプリによっては即座に設定を反映します。