快轉到主要內容

Linux桌面如何啟用深色模式 & 自動切換深色桌布 & 開啟夜間光線

· 民國114年乙巳年
· ·
分類   Linux系統 Linux使用技巧
標籤   Linux GNOME KDE Plasma
目錄

How to enable dark mode on Linux Desktop and switch between light mode and dark mode depending on the time.

討論Linux桌面啟用深色模式(暗黑模式)的方式,並設定自動依照電腦的時間切換深色桌布。適用Ubuntu、Fedora、Arch Linux等發行版。

GIF示意圖。桌布來源

Android手機和iPhone都有依照時間自動切換為深色模式的功能,Linux也有,但要看桌面環境支援不支援。

開啟深色模式這有什麼好處呢?對部份人來說,開啟深色模式有顧眼睛的效果,儘管有醫生說眼睛反而會更累就是了。

在搭載OLED螢幕的Linux筆電啟用深色模式可能有助於省電。

Linux要什麼深色模式?開機時的tty不就是最古老的深色模式了嗎?

需注意「深色模式」不等於「夜間模式」,後者是調整螢幕顏色,透過所謂夜間光線或者灰階螢幕,讓畫面看起來比較暖和。本文會一併附上Linux開啟夜間模式的方式。

1. 桌面環境切換深色模式
#

理想上應該是在桌面環境的選單全域調整後,Linux目前工作階段所開啟的程式就會跟著進入深色模式。但有的程式調皮不跟著走,就得手動處理。

因為不是所有主題都支援淺色與深色模式,我們儘量利用桌面環境內建的深色模式功能,不額外安裝「黑色風格」的主題。

GNOME預設的Adwaita主題提供淺色與深色版本,開啟系統設定 → 外觀切換。

KDE Plasma內建的Breeze主題有淺色與深色版。開啟系統與設定 → 全域主題切換。其中「Breeze Twilight」是工作列深色模式,但視窗保持淺色模式。

2. 桌布跟著深色模式變色
#

GNOME與KDE Plasma內建桌布提供淺色模式與深色模式(部份,看桌布有無顯示對比縮圖),切換到深色模式的時候就會自動變成深色的版本。

如果要給你自己新增的桌布設定「深色版」圖片的話,要手動放置檔案。或者你可以交給第三方程式來自動切換桌布。

GNOME
#

  1. ~/.local/share/backgrounds新增自訂目錄,結構如下:
~/.local/share/backgrounds
├── custom
│   ├── image-dark.png --> 命名隨意,只是為了方便辨識
│   └── image.png      --> 命名隨意,只是為了方便辨識
  1. 然後,在~/.local/share/gnome-background-properties/,新增桌布的註冊資訊,例如custom.xml

  2. 參考/usr/share/backgrounds/其他桌布的格式撰寫xml,填入桌布的路徑:

<?xml version="1.0"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>Custom Wallpaper</name>
    <filename>/home/user/.local/share/backgrounds/custom/image.png</filename>
		<filename-dark>/home/user/.local/share/backgrounds/custom/image-dark.png</filename-dark>
    <options>zoom</options>
    <shade_type>solid</shade_type>
    <pcolor>#ffffff</pcolor>
    <scolor>#000000</scolor>
  </wallpaper>
</wallpapers>
  1. 這樣GNOME系統設定的桌布選單便會出現淺色與深色版桌布。

KDE Plasma
#

  1. ~/.local/share/wallpapers新增自訂目錄,結構如下:
~/.local/share/wallpapers
├── custom
    ├── contents
    │   ├── images            --> 放入淺色版圖片
    │   │   └── 1920x1080.png --> 圖片必須以解析度命名
    │   └── images_dark       --> 放入深色版圖片
    │       └── 1920x1080.png --> 圖片必須以解析度命名
    └── metadata.json         --> 註冊桌布資訊
  1. 編輯metadata.json,參考/usr/share/wallpapers/目錄其他桌布的格式填寫桌布資訊:
{
    "KPlugin": {
        "Authors": [
            {
                "Email": "",
                "Name": "Custom"
            }
        ],
        "Id": "Next",
        "License": "CC-BY-SA-4.0",
        "Name": "Custom"
    }
}
  1. 這樣KDE Plasma的桌布選擇界面才會出現淺色與深色版本。

3. 個別應用程式切換深色
#

GTK 4以上程式應該會跟著桌面環境設定自動變色,不然就用GTK_THEME=Adwaita:dark的環境變數強制使用深色模式主題。

QT 6亦同。可以用環境變數QT_QPA_PLATFORMTHEME=qt6ct指定主題,再透過qc6ct程式強制指定主題。

Firefox和Chromium系列瀏覽器會自動跟著桌面環境設定變色。

支援深色模式的網頁應該也會跟著變色,包括你現在正在觀看的這個部落格。如果要強制網頁變深色,請安裝Dark Reader擴充套件

有些程式的主題顏色是固定的,比如Visual Studio Code,需要手動在設定頁面開啟「Auto Detect Color Scheme」:

4. 定時自動切換深色模式
#

GNOME 47和KDE Plasma 6都尚未支援此功能,需要安裝第三方軟體。

推薦使用baduhai開發的Koi,它可以定時調整GTK與QT主題的顏色,也能夠定時切換桌布。

  1. 先在Preferences頁面設定切換的主題。

  2. 將Koi加入到登入桌面環境後自動啟動

  3. 回到主畫面,勾選Automatic。點選Time Schedule,設定切換為淺色模式與深色模式的時間點。

5. 開啟夜間模式,調整螢幕色溫
#

GNOME:開啟系統設定 → 顯示器 → 夜光模式。如果需要灰階模式,請安裝Bedtime Mode擴充套件。

KDE Plasma:系統設定 → 主題 → 夜光模式。

需要灰階模式,請到系統設定 → 視窗管理 → 桌面效果,安裝KWin Grayscale Effect

參考資料
#

相關文章

Linux Wayland桌面的縮放,放大字型、改善HiDPI支援、解決字型模糊
分類   Linux系統 Linux使用技巧
標籤   Linux GNOME KDE Plasma Wayland
Linux X11桌面的螢幕縮放比例 & 個別程式縮放(scale)的方法
分類   Linux系統 Linux使用技巧
標籤   Linux GNOME KDE Plasma X Window
雙顯卡Linux筆電很耗電?用EnvyControl切換Nvidia獨顯,還可以省電
分類   Linux系統 Linux使用技巧
標籤   Nvidia Linux GNOME KDE Plasma

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。