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


16

从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

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

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

$ gsettings list-keys org.gnome.Terminal.Legacy.Profile:/ | grep default

我得到:

default-size-rows
default-show-menubar
default-size-columns

因此,在Ubuntu 14.10中存在一个default-size-columns可能(?)与该default_size_columns密钥相对应的密钥,但是在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列打开,因此的设置似乎无效。


请先升级到15.10,因为14.10和15.04均已达到使用寿命。
字节指挥官

@ByteCommander我现在已经升级到15.10,问题仍然是15.10和15.04一样。我还找到了一个我想发布的解决方案。如何重新打开此问题,以便我发布解决方案?
哈康Hægland

Answers:


19

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

1
很高兴您自己找到了解决方案。不要忘记接受自己的答案。
字节指挥官

1
实际上,您可以指定配置文件的编号而不是其ID,因此该命令将仅为:gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:0/ default-size-columns 150
Anatoli

1
甚至更短:gsettings set org.gnome.Terminal.Legacy.Profile:/:0/ default-size-columns 150
Anatoli

您的回答挽救了我的生命!您如何找到“ org.gnome.Terminal.Legacy.Profile:/ org / gnome / terminal / legacy / profiles:/:... /”的语法?您在文档中找到它了吗?让我陷入困境的是,我没有意识到“个人资料”后面应该紧跟着“ / org / gnome / ...”。
yaobin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.