Ubuntu 16.04 美化——用戶登錄界面修改


Ubuntu 16.04 使用的全新的LightDM作為桌面管理器,默認使用Unity Greeter作為登錄管理器。
本文就介紹一些有限的美化方法。
目前已知的個性化登錄界面有四種辦法:

第一種是在"/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml"中直接修改各項值。

編輯好后保存退出。
刷新schemas

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

然后重啟lightdm服務

sudo systemctl restart lightdm

第二種,就是在"/usr/share/glib-2.0/schemas/"中創建一個名為"50_unity-greeter.gschema.override"的override文件來定義各項值,達到覆蓋其值的效果。原理上同第一種是一樣 。

下面講具體的:
首先,終端里輸入命令:

sudo gedit /usr/share/glib-2.0/schemas/50_unity-greeter.gschema.override

這里得到一個空文件,在文件第一行寫入:

[com.canonical.unity-greeter]

然后,需要修改下面哪幾項,就將具體哪行代碼另起一行插在后面就可以了。

一、修改登錄界面背景圖片
面對着GDM海量的各種主題,LightDM用戶也最多只能修改一下登錄界面背景了。
修改登錄界面背景圖片的代碼是:

background = "你的圖片路徑"

其默認值是

background = "/usr/share/backgrounds/warty-final-ubuntu.png"

因此我建議,將自己喜歡的圖片sudo cp 到"/usr/share/backgrounds/"目錄下,然后把background路徑修改為"/usr/share/backgrounds/你的圖片.jpg"。
二、禁用用戶桌面背景
需要注意的是,剛剛我們定義的背景圖片優先級默認低於當前正在登錄用戶的桌面背景圖片,實際效果是該圖片一閃而過后被當前正在嘗試登錄的用戶的桌面背景圖片覆蓋。如果將嘗試登錄的用戶切換至Guest,該圖片才會出現。這里我們可以通過禁止顯示任何用戶的自定義桌面背景來實現只顯示第一條中定義的登錄背景。代碼如下:

draw-user-backgrounds = false

三、修改登錄界面底色
然而即便修改了登錄界面背景圖片,每次系統加載進入登錄界面的一瞬間,不論你的電腦配置有多么的強大,不論你設置了什么圖片作為登錄界面背景,總是會有那么若干秒出現Ubuntu 16.04標志性的紫色背景,非常令人討厭。
修改背景顏色的代碼是:

background-color = "#000000"

引號里的顏色根據自己喜歡填入。
四、禁用登錄聲音
下面的代碼可以禁用登錄界面加載成功時的那聲奇怪的鼓聲:

play-ready-sound = false

五、去除背景中的點狀網紋
登錄界面的背景上會默認鋪一層點狀網紋,這個可以根據自己需求去除,具體代碼是:

draw-grid = false

六、修改左下角的Ubuntu LOGO
我們可以嘗試使用各種有趣的圖片來模擬出不同的登錄主題效果來,但是登錄界面左下角的Ubuntu Logo有時候卻並不是我們想要的。修改的代碼如下:

logo = "你的Logo路徑"

該項的默認值是:

logo = "/usr/share/unity-greeter/logo.png"

同樣,我建議,將自己喜歡的圖片sudo cp 到"/usr/share/unity-greeter/"目錄下,然后把logo路徑修改為"/usr/share/unity-greeter/你的logo.png"。
七、取消顯示主機名
登錄界面左上角會默認顯示本主機的主機名,取消代碼如下:

show-hostname = false

八、修改登錄界面主題
如果你的桌面更換了GTK+主題,那么最好登錄界面也保持統一,雖然效果非常有限,僅限於右上角的幾個菜單的樣式而已。具體代碼是:

theme-name = "Flatabulous"

本人用的是Flatabulous主題,此處把Flatabulous換成你自己的主題名稱,大小寫敏感。

此處還可以修改圖標主題,DPI,菜單欄指示器等項目,具體可以參閱我開篇所提到的"/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml"文件中各項值,並通過本文的方法修改。

最終,你的50_unity-greeter.gschema.override文件內容大概是這樣的:

[com.canonical.unity-greeter]
background = "/usr/share/backgrounds/my-background.jpg"
background-color = "#262626"
play-ready-sound = false
logo = "/usr/share/unity-greeter/my-logo.png"
draw-grid = false
show-hostname = false
theme-name = "Flatabulous"

編輯好后保存退出。
刷新schemas

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

如果該命令產生錯誤,可以觀察一下錯誤提示中具體是哪個文件產生了錯誤,如果不是我們剛剛創建的50_unity-greeter.gschema.override,那么直接無視就可以了。如果是的話,那么仔細檢查一下語法和大小寫再重新刷一次上面的命令。產生的錯誤是不影響正常登錄的,因為錯誤的相關行直接被ignore了。
最后重啟lightdm服務

sudo systemctl restart lightdm

注意,這兩種方式修改的效果優先級是override文件(第二種)>xml文件(第一種)
個人在此建議使用第二種方式,既不會動原值,又干凈利落。

第三種是安裝LightDM GTK+ Greeter settings

LightDM GTK+ Greeter也是一款登錄管理器,安裝后會替代默認的Unity Greeter。這也就是說,一旦使用這款Greeter,第一種和第二種方法就無效了,因為前兩種方法調整的是Unity Greeter的配置,然而現在Unity Greeter已經不再工作了。
所幸的是,GTK+ Greeter是通過一個GUI工具來進行配置,調節起來相對簡單,可以配合各種GTK3 THEME。不幸的是,調整的幅度依然非常的有限。
安裝方法:

sudo apt-get install lightdm-gtk-greeter-settings

然后

sudo lightdm-gtk-greeter-settings

打開GUI工具進行設置。(設置的內容保存在/etc/lightdm/lightdm-gtk-greeter.conf)
設置完后重啟lightdm服務

sudo systemctl restart lightdm

注意事項1.0

如果本文中的前三種方法你混用了,並且搞的有些亂,有幾種方法可以清理一下。

  1. 清理lightdm-gtk-greeter、lightdm-gtk-greeter-settings生成的配置文件。
sudo apt purge lightdm-gtk-greeter lightdm-gtk-greeter-settings

或者是臨時禁用

sudo mv /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf.disabled
sudo mv /etc/lightdm/lightdm-gtk-greeter.conf /etc/lightdm/lightdm-gtk-greeter.conf.disabled

然后重啟lightdm服務

sudo systemctl restart lightdm
  1. 重裝unity-greeter,重置/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml文件。
sudo apt install --reinstall unity-greeter
  1. 查找是否自己有創建過其他override文件造成了沖突。
grep -rn -e "com.canonical.unity-greeter" /usr/share/glib-2.0/schemas/

第四種、通過lightdm-webkit-greeter來進行個性化

lightdm-webkit-greeter是一款基於HTLM/CSS/JS的強大的登錄管理器,同GTK+ Greeter一樣,安裝后會替代默認的Unity Greeter作為LightDM的登錄管理器。同理,一旦安裝,第一種和第二種做出的修改就無效了。
然而非常可惜的是,ubuntu源里lightdm-webkit-greeter的版本非常低,還停留在好幾年前的0.1.2。而目前lightdm-webkit-greeter最新的版本已經是2.0.0了。github上大量的lightdm-webkit-greeter-theme都是基於2.0版本的,甚至一些優秀的主題是基於更新的lightdm-webkit2-greeter。因此ubuntu根本用不了。
如果你仍然想安裝並學習,安裝的方式是:

sudo apt-get install lightdm-webkit-greeter

安裝后會生成目錄 /usr/share/lightdm-webkit/theme里面有一個默認主題。如果你會一些網頁開發的話,可以嘗試自己基於默認主題寫點什么。此處就不再贅述了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM