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)
上面的输出让我感到困惑:
/org/gnome/terminal/legacy/profiles:/路径dconf但没有org.gnome.Terminal.Legacy.Profiles(注意尾随s)模式 ID gsettings?另外,请参阅 不应 dconf-editor 和 gsettings 访问同一个数据库吗?想要查询更多的信息。仍然在 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)