6.9. 在命令行上使用 GSettings 键
您可以使用 gsettings 工具来配置、操作和管理 GSettings 键。查看涉及使用 gsettings 工具的用例的示例:
6.9.1. 设置键的值 复制链接链接已复制到粘贴板!
gsettings set SCHEMA[:PATH] KEY VALUE
$ gsettings set SCHEMA[:PATH] KEY VALUE
请注意,值被指定为一个序列化的 GVariant。
如果操作成功,命令不会显示任何输出。更改会立即生效。
例 6.4. 在您喜欢的应用程序中添加所选的应用程序
gsettings set org.gnome.shell favorite-apps \
"['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']"
$ gsettings set org.gnome.shell favorite-apps \
"['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']"
6.9.2. 监控键更改 复制链接链接已复制到粘贴板!
监控键的更改并打印更改的值:
gsettings monitor SCHEMA[:PATH] [KEY]
$ gsettings monitor SCHEMA[:PATH] [KEY]
如果没有指定 KEY 参数,则模式中的所有键都会被监控。监控将继续,直到您停止了进程。
例 6.5. 监控首选应用程序键的更改
要监控您喜欢的应用程序中的更改:
监控
favorite-apps键:gsettings monitor org.gnome.shell favorite-apps
$ gsettings monitor org.gnome.shell favorite-appsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在另一个终端中,更改
favorite-apps键:gsettings set org.gnome.shell favorite-apps \ "['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']"$ gsettings set org.gnome.shell favorite-apps \ "['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 因此,第一个终端中的命令会显示
favorite-apps键已更改的通知:favorite-apps: ['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']
favorite-apps: ['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.9.3. 检查键是否可写 复制链接链接已复制到粘贴板!
gsettings writable SCHEMA[:PATH] KEY
$ gsettings writable SCHEMA[:PATH] KEY
例 6.6. 检查首选应用程序键是否可写
以下键是可写的:
gsettings writable org.gnome.shell favorite-apps
$ gsettings writable org.gnome.shell favorite-apps
True
6.9.4. 列出键的有效值 复制链接链接已复制到粘贴板!
gsettings range SCHEMA[:PATH] KEY
$ gsettings range SCHEMA[:PATH] KEY
例 6.7. 检查 remember-mount-password 键的有效值范围
以下键存储了一个布尔值:
gsettings range org.gnome.shell remember-mount-password
$ gsettings range org.gnome.shell remember-mount-password
type b
如需更多信息,请参阅 GVariant 格式字符串。
6.9.5. 显示键的描述 复制链接链接已复制到粘贴板!
gsettings describe SCHEMA[:PATH] KEY
$ gsettings describe SCHEMA[:PATH] KEY
例 6.8. 显示 picture-uri 键的描述
gsettings describe org.gnome.desktop.screensaver 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
$ gsettings get SCHEMA[:PATH] KEY
请注意,该值显示为一个序列化的 GVariant。
例 6.9. 显示 remember-mount-password 键的值
gsettings get org.gnome.shell remember-mount-password
$ gsettings get org.gnome.shell remember-mount-password
false
6.9.7. 重置键的值 复制链接链接已复制到粘贴板!
gsettings reset SCHEMA[:PATH] KEY
$ 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
$ gsettings reset org.gnome.desktop.screensaver lock-delay
因此,lock-delay 的值被设为 0。
6.9.8. 重置整个模式 复制链接链接已复制到粘贴板!
gsettings reset-recursively SCHEMA[:PATH]
$ gsettings reset-recursively SCHEMA[:PATH]
例 6.11. 将 org.gnome.desktop.screensaver 模式重置为默认值
gsettings reset-recursively org.gnome.desktop.screensaver
$ gsettings reset-recursively org.gnome.desktop.screensaver
因此,lock-delay 值被重置为 0,org.gnome.desktop.screensaver 模式中被用户更改的其他键也会被重置为其默认值。
6.9.9. 列出安装的不可重新分配的模式 复制链接链接已复制到粘贴板!
gsettings list-schemas
$ gsettings list-schemas
例 6.12. 列出安装的不可重新分配的模式
要列出安装在您系统上的所有不可重新分配的模式:
6.9.10. 列出模式中的所有键 复制链接链接已复制到粘贴板!
gsettings list-keys SCHEMA[:PATH]
$ gsettings list-keys SCHEMA[:PATH]
例 6.13. 列出 org.gnome.shell 模式中的所有键
6.9.11. 列出模式中嵌套的所有模式 复制链接链接已复制到粘贴板!
gsettings list-children SCHEMA[:PATH]
$ gsettings list-children SCHEMA[:PATH]
请注意,如果模式不包含其他模式,则列表为空。
例 6.14. 列出 org.gnome.shell 模式中的模式
gsettings list-children 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]]
$ gsettings list-recursively [SCHEMA[:PATH]]
如果没有指定任何模式,命令会列出所有模式中的所有键。
例 6.15. 递归列出系统上的所有键和值