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查看,有些重定义的路径很难写的,容易出错。

参考红帽的《桌面迁移与管理指南》

以gnome-terminal为例,修改gnome3 的默认配置的更多相关文章

  1. Cocos2d-x 3.2Lua演示样例UserDefaultTest(用户默认配置)

    Cocos2d-x 3.2演示样例UserDefaultTest(用户默认配置) 本篇博客介绍Cocos2d-x 3.2演示样例中的UserDefaulstTest,我们在开发中可能须要用到一些默认配 ...

  2. Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)

    Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...

  3. 修改JQM的默认配置属性

    从本文开始,使用 jQuery Mobile 与 HTML5 开发 Web App 系列将会进入第三部分——jQuery Mobile 事件与方法,这其中将会利用之前所讲述的 jQuery Mobil ...

  4. 提升PHP安全:8个必须修改的PHP默认配置

    很明显,PHP+Mysql+Apache是很流行的web技术,这个组合功能强大,可扩展性强,还是免费的.然而,PHP的默认设置对已经上线的网站不是那么适合.下面通过修改默认的配置文件加强PHP的安全策 ...

  5. StringGrid 实例3: 本例功能: 1、修改 TStringGrid的默认宽与高; 2、添加行; 3、确认当前单元并赋值.

    实例3: 本例功能: 1.修改 TStringGrid的默认宽与高; 2.添加行; 3.确认当前单元并赋值. 实例图形:

  6. 【SecureCRT配置】修改默认卷屏行数当做一个操作,屏幕输出有上百行,当需要将屏幕回翻时,这个设置会有很大帮助,默认为500行,可以改为10000行,不用担心找不到了。 选项 => 全局选项 => Default Session => Edit Default Settings => Terminal => Emulation => Scrollback 修改为32000。

    SecureCRT配置屏幕内容输出到log文件 SecureCRT看不到前几分钟操作的内容,或者想把通过vi命令查看的日志输出到log文件(在懒得下载日志文件的情况下),所以接下来就这样操作: 文件保 ...

  7. 如何修改mtk android 默认拍照size

    [DESCRIPTION] 修改默认拍照size [SOLUTION] 修改默认的capture size,改变camera feature table的FID_CAP_SIZE default值不起 ...

  8. PMS 修改禅道默认首页元素及展示

    修改禅道默认首页元素及展示 by:授客 QQ:1033553122 测试环境: 禅道项目管理软件ZenTaoPMS.9.5.1.win64 需求描述 如下,安装禅道后访问默认首页,展示如下,我们希望它 ...

  9. 修改windows远程默认端口

    修改windows远程默认端口 windows端口修改rdp 1 远程服务器运行窗口调出注册表编辑器 注册表编辑器regeidt 2 修改两个注册表 1,在注册表HKEY_LOCAL_MACHINE\ ...

随机推荐

  1. Silverlight调用一般性处理程序模拟Silverlight调用WCF效果(2)

    [置顶] Silverlight调用一般性处理程序模拟Silverlight调用WCF效果(2) 分类: 技术2012-03-31 12:51 548人阅读 评论(0) 收藏 举报 silverlig ...

  2. android 制作9.png图片

    什么叫.9.PNG呢,这是安卓开发里面的一种特殊的图片   这种格式的图片在android 环境下具有自适应调节大小的能力.   (1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区 ...

  3. 杂项-Java:MyBatis

    ylbtech-杂项-Java:MyBatis 1.返回顶部 1. MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundatio ...

  4. oracle给用户授权

    1.在PLSQL里,用sys(oracle系统用户)登陆,登陆的时候一定要选择SYSDBA.普通用户登陆选择normal就可以了 2.创建用户 *也可以给普通用户授权为dba即数据库管理员.在导入导出 ...

  5. npm更换为淘宝镜像源

    1.通过config命令   1 2 npm config set registry http://registry.cnpmjs.org npm info underscore (如果上面配置正确这 ...

  6. Java compiler level does not match the version of the installed Java project facet问题处理

    从SVN上下载应用后在Problems面板中提示以下错误信息: Java compiler level does not match the version of the installed Java ...

  7. EasyUI tree 异步树与采用扁平化实现的同步树

    所谓好记性不如烂笔头,为了以防忘记,才写下这篇博客,废话不多.. 异步树: tips:   可以采用easyui里的原始数据格式,也可以采用扁平化的数据格式. 使用场景: 当菜单模块数量庞大或者无限极 ...

  8. SQL Server的安装笔记

    SQL安装笔记 安装SQL Server 2008 打开SQL Server 2008中的setup.exe,显示SQL安装程序的对话框. 提示必须安装相关组件Microsoft.NET Framew ...

  9. Farseer.net轻量级开源框架 入门篇:删除数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...

  10. jstree -- 使用JSON 数据组装成树

    概述: 前面主要是html数据,这里主要是json数组 1.格式 jsTree需要一个具体格式JSON数据,在标准的语法没有那个字段是必须的-而是那些是你需要的.请记住你可以获取任何你请求的其他属性, ...