以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查看,有些重定义的路径很难写的,容易出错。
参考红帽的《桌面迁移与管理指南》
以gnome-terminal为例,修改gnome3 的默认配置的更多相关文章
- Cocos2d-x 3.2Lua演示样例UserDefaultTest(用户默认配置)
Cocos2d-x 3.2演示样例UserDefaultTest(用户默认配置) 本篇博客介绍Cocos2d-x 3.2演示样例中的UserDefaulstTest,我们在开发中可能须要用到一些默认配 ...
- Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)
Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...
- 修改JQM的默认配置属性
从本文开始,使用 jQuery Mobile 与 HTML5 开发 Web App 系列将会进入第三部分——jQuery Mobile 事件与方法,这其中将会利用之前所讲述的 jQuery Mobil ...
- 提升PHP安全:8个必须修改的PHP默认配置
很明显,PHP+Mysql+Apache是很流行的web技术,这个组合功能强大,可扩展性强,还是免费的.然而,PHP的默认设置对已经上线的网站不是那么适合.下面通过修改默认的配置文件加强PHP的安全策 ...
- StringGrid 实例3: 本例功能: 1、修改 TStringGrid的默认宽与高; 2、添加行; 3、确认当前单元并赋值.
实例3: 本例功能: 1.修改 TStringGrid的默认宽与高; 2.添加行; 3.确认当前单元并赋值. 实例图形:
- 【SecureCRT配置】修改默认卷屏行数当做一个操作,屏幕输出有上百行,当需要将屏幕回翻时,这个设置会有很大帮助,默认为500行,可以改为10000行,不用担心找不到了。 选项 => 全局选项 => Default Session => Edit Default Settings => Terminal => Emulation => Scrollback 修改为32000。
SecureCRT配置屏幕内容输出到log文件 SecureCRT看不到前几分钟操作的内容,或者想把通过vi命令查看的日志输出到log文件(在懒得下载日志文件的情况下),所以接下来就这样操作: 文件保 ...
- 如何修改mtk android 默认拍照size
[DESCRIPTION] 修改默认拍照size [SOLUTION] 修改默认的capture size,改变camera feature table的FID_CAP_SIZE default值不起 ...
- PMS 修改禅道默认首页元素及展示
修改禅道默认首页元素及展示 by:授客 QQ:1033553122 测试环境: 禅道项目管理软件ZenTaoPMS.9.5.1.win64 需求描述 如下,安装禅道后访问默认首页,展示如下,我们希望它 ...
- 修改windows远程默认端口
修改windows远程默认端口 windows端口修改rdp 1 远程服务器运行窗口调出注册表编辑器 注册表编辑器regeidt 2 修改两个注册表 1,在注册表HKEY_LOCAL_MACHINE\ ...
随机推荐
- centos7 tengine2.1.2 编译安装 防火墙设置
安装 pcre 和 openssl yum -y install pcre pcre-devel yum -y install openssl openssl-devel wget http://te ...
- Android 录音和摄像头权限适配【转】
本文转载自:http://blog.csdn.net/self_study/article/details/52965045 最近在研究权限适配的相关内容,整理以前的权限博客如下: android ...
- Swift-AES之加密解密
什么是AES 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代 ...
- html5 画图板
8个最新炫酷的HTML5动画应用 http://www.php100.com/html/it/qianduan/2015/0107/8281.html 另外一个画板demo http://www.os ...
- HTML文档中class的命名规则以及命名规范
1.采用英文字母.数字以及“-”和“_”命名. 2.以小写字母开头,不能以数字和“-”.“_”开头. 3.命名形式:单字,连字符,下划线和驼峰. 4.使用有意义命名. 其中(3).(4)条规定主要是便 ...
- MongoDB的用户权限管理
1.创建用户并授权语法:db.createUser({user:"UserName",pwd:"Password",roles:[{role:"Rol ...
- C#命名空间 using的用法
using的用法: 1. using指令:引入命名空间 这是最常见的用法,例如: using System; using Namespace1.SubNameSpace; 2. using stati ...
- 理解 Java 构造函数不可以继承
参考来源:http://www.52bowen.com/a/2604620.html
- 2、ipconfig命令
该命令能够显示出正在使用的计算机的IP信息情况.这些信息包括IP地址.子网掩码.默认网关(连接本地计算机与Internet的计算机).通过IP地址可以进行扫描.远程管理.入侵检测等.ipconfig命 ...
- Previous operation has not finished; run 'cleanup' if it was interrupted.SVN报错
原因: 错误的原因是SVN管理的文件夹改名.删除文件太过频繁,导致有操作挂起了. 解决方式: 1.百度sqlite3.exe并下载. 2.将该文件解压到项目根目录下的.svn文件夹中. 3.打开cmd ...