gnome連續幾個版本的terminal預設配置文件都是同一個配置文件“b1dcc9dd-5262-4d8d-a863-c897e6d979b9”。這是因為gnome的developers編輯了這個配置文件並作為gnome-terminal的預設配置文件,用來對terminal生成一個預設的樣式和外 ...
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查看,有些重定義的路徑很難寫的,容易出錯。
參考紅帽的《桌面遷移與管理指南》