快轉到主要內容

給Linux螢幕進行色彩管理,套用ICC設定檔,調整螢幕顏色的色溫

· 民國113年甲辰年
· ·
分類   Linux系統 Linux使用技巧
標籤   Linux Wayland Color Management
目錄

Color Management on Linux desktop.

Linux支援色彩管理,但是沒有全域,要看應用程式支援度。Firefox、Chromium系瀏覽器、GIMP、Krita、CUPS印表機是支援色彩管理的,看圖軟體Gwenview也支援讀取內嵌ICC設定檔的圖片。

通常色彩管理會用到描述色彩轉換情況的ICC設定檔(ICC Profiles),附檔名為.icm。

那麼本文Ivon就來討論如何於Linux使用ICC。

1. 前置條件
#

Linux的色彩管理支援度取決於你使用的桌面環境。

撰文當下,GNOME最新版本47、KDE Plasma最新版本6.2.5

要使用色彩管理請使用X11協定。如何確認目前的桌面工作階段為X11還是Wayland?輸入指令echo $XDG_SESSION_TYPE確認。

Wayland協定的色彩管理不成熟,若使用Wayland可能導致螢幕顏色錯亂。

未來Wayland有望實現全域色彩管理,請看這篇2023年9月23日的新聞:Wayland Color Management Protocol Posted For Weston。但即使Wayland的新色彩管理協定草案已經送出,目前各大桌面環境僅有KDE Plasma 6採用。

2. 取得ICC設定檔
#

試試使用現有ICC檔案。可以從Windows系統得到.icm檔案,資料夾位於C:\Windows\System32\spool\drivers\color

順帶一提NotebookCheck網站在寫評測的時候也會附上他們校色過的.icm檔供下載,特別適合筆電用戶參考。

如果要絕對準確度,就是在Linux下進行校色了。DisplayCAL有Linux版,可以搭配校色器使用,藉此產生準確的ICC設定檔。

3. 載入ICC設定檔
#

ICC設定檔以.icm結尾,請放到/usr/local/share/color/icc

sudo cp /home/user/N156HCE.icm /usr/local/share/color/icc

Linux的ICC設定檔是交由桌面環境的常駐程式載入

比如GNOME要安裝gnome-color-manager套件,才能在系統設定調整螢幕的ICC設定檔。

GNOME

KDE Plasma為kde-colord套件,這樣子在桌面環境系統設定的「色彩管理」介面就可以調整螢幕的ICC設定檔。KDE Plasma 6以後也可以在系統設定 → 顯示器,選取ICC設定檔。

KDE

此外,如果Linux使用Nvidia閉源驅動,則Nvidia X Server Settings裡面可以調整色彩空間,確保螢幕顏色準確。

其他桌面環境調整請使用xcalib載入ICC設定檔。


如果系統選單無法讓你挑icc檔案,就用colormgr指令改。colormgr隨附於colord套件。

使用colormgr指令列出螢幕ID

colormgr get-devices

列出可用ICC設定檔ID。ID為一長串英數組合

colormgr get-profiles

再給螢幕新增ICC設定檔

colormgr device-add-profile "xrandr-Chimei Innolux Corporation" "icc-0e818279fc2a0a06ba8adb7c1b11b37d"

然後設定該ICC設定檔為預設

colormgr device-make-profile-default "xrandr-Chimei Innolux Corporation" "icc-0e818279fc2a0a06ba8adb7c1b11b37d"

4. 附註:調整螢幕色溫、Gamma值、對比度
#

GNOME系統設定裡面有「夜間模式」能夠調整色溫。

KDE的系統設定裡面也有Gamma與RGB顏色的調整選項。

如果Linux使用Nvidia閉源驅動,則Nvidia X Server Settings裡面也可以調螢幕的亮度與對比度。

Redshift工具可以調整色溫,從1000K到25000K都有,還有隨地理位置自動調整達成夜間光線的效果。

redshift -P -O 5500

xrandr工具包辦了對比度、Gamma值、亮度、RGB動態範圍的設定。

# 列出螢幕
xrandr --current

# 調整eDP-1螢幕的Gamma值與亮度
xrandr --output eDP-1 --gamma 1:1:1 --brightness 1.0

# 調整RGB動態範圍
xrandr --output eDP-1 --set "Broadcast RGB" "Full"

參考資料
#

相關文章

用Systemd-boot取代GRUB作為Linux的bootloader
分類   Linux系統 Linux使用技巧
標籤   Linux Systemd GRUB
Flatpak跨架構,aarch64模擬異質架構x86_64程式
分類   Linux系統 Linux使用技巧
標籤   Flatpak QEMU User Mode
教你在Arch Linux安裝Nvidia專有驅動、CUDA、NVIDIA Container Toolkit
分類   Linux系統 Linux使用技巧
標籤   Arch Linux Nvidia

留言板

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

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