从 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
现在,在 Ubuntu 15.10 中输入:
$ dconf list /org/gnome/terminal/legacy/
给出
profiles:/
schema-version
然而
$ gsettings list-relocatable-schemas | grep Terminal
给出
org.gnome.Terminal.SettingsList
org.gnome.Terminal.Legacy.Profile
org.gnome.Terminal.Legacy.Keybindings
上面的输出让我困惑:
- 为什么有
/org/gnome/terminal/legacy/profiles:/
的路径dconf
,但没有org.gnome.Terminal.Legacy.Profiles
(请注意结尾的s
) 架构 IDgsettings
?另请参阅 dconf-editor 和 gsettings 不应该访问同一个数据库吗?了解更多信息。
仍然在 Ubuntu 15.10(使用gnome-terminal
版本 3.16.2)中,如果我运行:
$ gsettings list-keys org.gnome.Terminal.Legacy.Profile:/ | grep default
我得到:
default-size-rows
default-show-menubar
default-size-columns
因此,有一个default-size-columns
密钥可以(?)对应于default_size_columns
Ubuntu 14.10 中的密钥,但没有与 Ubuntu 14.10 中的密钥use-custom-default-size
相对应的密钥。这也让我很困惑。use_custom_default_size
另外,如果我尝试运行:
$ gsettings set org.gnome.Terminal.Legacy.Profile:/ default-size-columns 150
并打开一个新的gnome-terminal
设置default-size-columns
似乎没有效果,因为终端仍然以 80 列打开。
答案1
该命令使用的语法gsettings
描述如下
GNOME 终端常见问题。
首先,您需要找到要更改的配置文件的标识符。例如,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