以gnome-terminal为例,修改gnome3 的默认配置
gnome连续几个版本的terminal默认配置文件都是同一个配置文件“b1dcc9dd-5262-4d8d-a863-c897e6d979b9”。这是因为gnome的developers编辑了这个配置文件并作为gnome-terminal的默认配置文件,用来对terminal生成一个默认的样式和外观等配置。在3.x连续几个子版本的gnome,这个设置都没有作出什么改变。
如果我们想定制gnome-terminal或其他gnome应用的默认配置,即如果你想把默认配置文件的默认配置选项都调成你想要的,如果你的gnome崩了,待你修复完成后默认的配置还是你自己调制好的,它已经作为一个你专属的gnome默认配置被保存了。
上个图感受下这个gnome-teiminal默认配置文件的默认选项。我们采用dconf-editor这个图形软件查看gnome的配置情况:
可以看到,标题处显示当前路径为“/org/gnome/terminal/legacy/profiles:/”,下面是内容:几个配置文件的id,以及配置文件的默认值和列表值。默认值,即键“default”的值,代表着gnome-terminal的默认配置文件是哪个,可以看到当前的默认值并不是上文提到的那个“b1dcc”开头的值,这是因为这个键的值被我修改过了;列表值,即键“list”的值,这个值代表了在gnome-terminal->edit->preference中显示的配置文件的列表,当前值是和“default”的值是一样的,表示当前默认配置文件为“d0c70...”,并且使用了这个配置文件,而且配置文件的列表中只显示这个配置文件。上图看:
接下来修改gnome-terminal默认配置文件的某个键的默认值,可以用gsettings命令行工具或者dconf图形工具查看:
找到gnome-terminal的默认配置文件,点击进入,找到“font”键,打开:
可以看到,“font”键的当前值是‘Consolas
13’,默认值是‘Consolas
Regular 12’,我们要做的就是把默认值改成别的,比如‘Fixed
15’。
修通过改gnome的dconf数据库定制gnome默认配置的原理:gnome 的默认配置并不是以文档的形式存储的,虽然我们可以在/usr/share/glib-2.0/schemas/找到很多类似保存了配置信息的.xml文件,但是真实的配置信息是存储在小型二进制schemas数据库的,对我们来说并不是可视化的内容。那么如何修改shcema数据库的值呢?官方给出的方法是用类似打补丁的方式覆盖某个键值。我们找到/etc/dconf/目录,查看一下树:
数据库的配置文件保存在/profile,数据库保存在/db。
查看一下/profile/user的信息:
$ cat profile/user
user-db:user
system-db:local
system-db:site
system-db:distro
表示用户级数据库为user,系统级数据库为local/site/distro。如果你想在用户级别修改默认配置,则在user-db下修改,那么系统级别就在system-db下修改咯。
我们假定在global全局状态下修改默认配置,则进入/db下“数据库名.d”的目录,新建补丁文件(也可以在/profile/user 追加用户级别或者系统级别的新建的数据库,再在/db新建对应的目录起名为“数据库名.d,再在此目录下添加补丁。注意不需要手动创建数据库文件。)上边写用中括号括起来的路径,下边写键和修改的默认值。我们已经在local.d下添加了补丁了,查看一下:
$ cat db/local.d/01-change-00
[org/gnome/terminal/legacy/profiles:/:d0c707fb-df0d-465e-ae57-d30e4b1e1d0e]
font='Fixed 15'
use-system-font=false
路径就是gnome-terminal配置文件的路径,第一个键值改为我们想要的。关于第二个键值,gnome-terminal默认使用系统的默认等宽字体‘Monospace’,若此设置为“true”,还原设置时terminal 的字体就会是‘Monospace’而不是‘Fixed’。这也说明gnome 的配置并不是单一键决定的,有时存在多个键共同决定某一设置的情况。
这个补丁最好以root用户创建,因为这是系统级别的。
然后我们更新dconf,设置就会成功了:$ dconf update
查看一下:
默认值变成了‘Fixed
15’,我们使用默认值,看一下terminal变成了什么样子:
没错,就是这个字体,丑丑的。设置成功。
总结:对于gnome3的其他配置,定制其默认属性都可以通过类似打补丁更改数据库的形式完成。前提是数据库中存在这个键值。
注意事项:路径最好通过dconf-editor查看,有些重定义的路径很难写的,容易出错。
参考红帽的《桌面迁移与管理指南》
posted on 2019-02-14 13:31 ExplorerQi 阅读(2700) 评论(0) 编辑 收藏 举报