如何使用 dconf 或 gsettings 更改 gnome-terminal 配置文件首选项?

Håk*_*and 21 gnome-terminal gconf gsettings dconf

从 Ubuntu 14.10 升级到 15.10 后,似乎不再支持gnome-terminal使用更改首选项gconftool-2。我猜这个问题与Gconf 与 GSettings 迁移有关

现在,我想更改我的一些旧脚本(因为它们在 Ubuntu 15.10 中已损坏)以使用dconf/gesettings而不是gconftool-2.

例如,在 Ubuntu 14.10(gnome-terminal版本 3.6.2)上,我可以使用以下方法设置Default配置文件中的列数:

$ gconftool-2 --set /apps/gnome-terminal/profiles/Default/default_size_columns \
            --type=int 140
$ gconftool-2 --set /apps/gnome-terminal/profiles/Default/use_custom_default_size \
            --type=bool true
Run Code Online (Sandbox Code Playgroud)

现在,在 Ubuntu 15.10 中,输入:

$ dconf list /org/gnome/terminal/legacy/
Run Code Online (Sandbox Code Playgroud)

profiles:/
schema-version
Run Code Online (Sandbox Code Playgroud)

然而

$ gsettings list-relocatable-schemas | grep Terminal
Run Code Online (Sandbox Code Playgroud)

org.gnome.Terminal.SettingsList
org.gnome.Terminal.Legacy.Profile
org.gnome.Terminal.Legacy.Keybindings
Run Code Online (Sandbox Code Playgroud)

上面的输出让我感到困惑:

仍然在 Ubuntu 15.10(使用gnome-terminal版本 3.16.2)中,如果我运行:

$ gsettings list-keys org.gnome.Terminal.Legacy.Profile:/ | grep default
Run Code Online (Sandbox Code Playgroud)

我得到:

default-size-rows
default-show-menubar
default-size-columns
Run Code Online (Sandbox Code Playgroud)

所以有一个default-size-columns密钥可以(?)对应default_size_columns于 Ubuntu 14.10 中的密钥,但没有use-custom-default-size对应use_custom_default_size于 Ubuntu 14.10 中的密钥的密钥。这也让我很困惑。

另外,如果我尝试运行:

$ gsettings set org.gnome.Terminal.Legacy.Profile:/ default-size-columns 150
Run Code Online (Sandbox Code Playgroud)

并打开一个新gnome-terminal的设置default-size-columns似乎没有效果,因为终端仍然以 80 列打开..

Håk*_*and 23

GNOME 终端常见问题 中gsettings描述了与命令 一起使用的语法。

首先,您需要找出要更改的配置文件的标识符。例如,gnome-terminal可以从 schema 中获取默认配置文件的标识符org.gnome.Terminal.ProfilesList

然后更改此配置文件/org/gnome/terminal/legacy/profiles:/:UUID/的模式路径的所需键org.gnome.Terminal.Legacy.Profile:

注意上面路径中的冒号。如果省略它们,它将不起作用。

这是一个使用上述内容设置default-size-columns默认配置文件的脚本:

profile=$(gsettings get org.gnome.Terminal.ProfilesList default)
profile=${profile:1:-1} # remove leading and trailing single quotes
gsettings set "org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$profile/" default-size-columns 150
Run Code Online (Sandbox Code Playgroud)