Linux支援色彩管理,但是沒有全域,要看應用程式支援度。Firefox、Chromium系瀏覽器、GIMP、Krita、CUPS印表機是支援色彩管理的,看圖軟體Gwenview也支援讀取內嵌ICC設定檔的圖片。
通常色彩管理會用到描述色彩轉換情況的ICC設定檔(ICC Profiles),附檔名為.icm,那麼本文就來討論如何於Linux使用ICC。
1. 前置條件#
撰文當下,GNOME最新版本45、KDE最新版本6.0.5
要使用色彩管理請使用X11協定。
Wayland色彩管理不成熟。未來Wayland的發展有望未來也有望實現全域色彩管理,也可以改善Linux X11根本不支援HDR的問題。2023年Wayland的新色彩管理協定草案已經送出!
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
KDE為kde-colord
其他桌面環境可以用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值、對比度#
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"
KDE的系統設定裡面也有Gamma與RGB顏色的調整選項。
如果Linux使用Nvidia閉源驅動,則Nvidia Settings裡面也可以調螢幕的亮度與對比度。