6.9. コマンドラインで GSettings キーの設定

gsettings ユーティリティーを使用して、GSettings キーを設定、操作、管理できます。gsettings ユーティリティーの使用を含むユースケースの例を以下に示します。

6.9.1. キーの値の設定

$ gsettings set SCHEMA[:PATH] KEY VALUE

値はシリアル可能な GVariant として指定されることに注意してください。

操作が成功した場合、コマンドは出力を表示しません。この変更は即座に有効になります。

例6.4 選択したアプリケーションをお気に入りのアプリケーションに追加する

$ gsettings set org.gnome.shell favorite-apps \
                "['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']"

6.9.2. キー変更の監視

キーの変更を監視し、変更した値を出力するには、次のコマンドを実行します。

$ gsettings monitor SCHEMA[:PATH] [KEY]

KEY 引数を指定しない場合、スキーマ内のすべてのキーがモニターされます。プロセスを停止するまでモニタリングは継続されます。

例6.5 favorite applications キー変更の監視

お気に入りのアプリケーションの変更をモニタリングするには、以下のようにします。

  1. favorite-apps キーをモニターします。

    $ gsettings monitor org.gnome.shell favorite-apps
  2. 別の端末で、favorite-apps キーを変更します。

    $ gsettings set org.gnome.shell favorite-apps \
                    "['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']"
  3. その結果、最初のターミナルのコマンドは、favorite-apps キーが変更されたという通知を表示します。

    favorite-apps: ['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']

6.9.3. キーが書き込み可能かどうかを確認する

$ gsettings writable SCHEMA[:PATH] KEY

例6.6 favoriate applications キーが書き込み可能であるかを確認

次のキーは書き込み可能です。

$ gsettings writable org.gnome.shell favorite-apps

True

6.9.4. キーの有効な値のリスト

$ gsettings range SCHEMA[:PATH] KEY

例6.7 remember-mount-password キー値の有効な範囲の確認

次のキーにはブール値が格納されます。

$ gsettings range org.gnome.shell remember-mount-password

type b

詳細は、GVariant Format Strings を参照してください。

6.9.5. キーの説明を表示する

$ gsettings describe SCHEMA[:PATH] KEY

例6.8 picture-uri キーの説明の表示

$ gsettings describe org.gnome.desktop.screensaver picture-uri

URI to use for the background image. Note that the backend only supports local `file://` URIs.

6.9.6. キーの値を表示する

$ gsettings get SCHEMA[:PATH] KEY

値はシリアル可能な GVariant として表示されることに注意してください。

例6.9 remember-mount-password キー値のクエリー

$ gsettings get org.gnome.shell remember-mount-password

false

6.9.7. キーの値をリセットする

$ gsettings reset SCHEMA[:PATH] KEY

リセットが成功した場合、コマンドは出力を表示しません。

デフォルト値は、dconf および gsettings-desktop-schemas ファイルに保存されます。

例6.10 lock-delay キーのデフォルト値へのリセット

lock-delay キーのデフォルト値は 0 で、/usr/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.xml ファイルに格納されています。

$ gsettings reset org.gnome.desktop.screensaver lock-delay

このコマンドを実行すると、lock-delay の値が 0 に設定されます。

6.9.8. スキーマ全体をリセットする

$ gsettings reset-recursively SCHEMA[:PATH]

例6.11 org.gnome.desktop.screensaver スキーマをデフォルト値にリセット

$ gsettings reset-recursively org.gnome.desktop.screensaver

このコマンドを実行すると、lock-delay の値は 0 にリセットされ、ユーザーが変更した org.gnome.desktop.screensaver スキーマ内のその他のキーもデフォルト値にリセットされます。

6.9.9. インストール済みで再配置不能なスキーマのリスト表示

$ gsettings list-schemas

例6.12 インストール済みで再配置不能なスキーマのリスト表示

システムにインストールされている再配置不能なスキーマのリストを表示するには、次のコマンドを実行します。

$ gsettings list-schemas

org.gnome.rhythmbox.library
org.gnome.shell.overrides
org.gnome.system.proxy.https
org.gnome.clocks
org.gnome.eog.fullscreen
org.gnome.login-screen
org.gnome.eog.view
...

6.9.10. スキーマ内のすべてのキーをリストする

$ gsettings list-keys SCHEMA[:PATH]

例6.13 org.gnome.shell スキーマ内のすべてのキーのリストを表示する

$ gsettings list-keys org.gnome.shell

enabled-extensions
command-history
remember-mount-password
always-show-log-out
had-bluetooth-devices-setup
looking-glass-history
disable-user-extensions
app-picker-view
disable-extension-version-validation
development-tools
favorite-apps
...

6.9.11. スキーマ内にネストされたすべてのスキーマのリスト

$ gsettings list-children SCHEMA[:PATH]

スキーマに他のスキーマが含まれていない場合、リストは空であることに注意してください。

例6.14 org.gnome.shell スキーマ内のスキーマのリスト

$ gsettings list-children org.gnome.shell

keyboard org.gnome.shell.keyboard
keybindings org.gnome.shell.keybindings

6.9.12. スキーマ内のキーと値を再帰的にリストする

$ gsettings list-recursively [SCHEMA[:PATH]]

スキーマを指定しない場合、コマンドはすべてのスキーマ内のすべてのキーをリストします。

例6.15 システム上のすべてのキーと値を再帰的にリストする

$ gsettings list-recursively

org.gnome.nautilus.desktop network-icon-visible false
org.gnome.nautilus.desktop font ''
org.gnome.nautilus.desktop network-icon-name 'Network Servers'
org.gnome.nautilus.desktop home-icon-name 'Home'
org.gnome.nautilus.desktop volumes-visible true
org.gnome.Vinagre always-enable-listening false
org.gnome.Vinagre always-show-tabs false
org.gnome.Vinagre show-accels false
org.gnome.Vinagre history-size 15
org.gnome.Vinagre shared-flag true
...