快轉到主要內容

給Linux顯示器進行色彩管理,套用ICC色彩描述檔,確保螢幕顏色一致

· 民國114年乙巳年
·
切換繁體/簡體
分類   Linux系統 Linux使用技巧
標籤   Linux Color Management GIMP Wayland X Window
目錄

Install ICC Color Profiles on Linux desktop.

編輯照片的時候會遇到色彩管理(Color Management )的問題。以廣色域照片為例,如果作業系統沒有妥善的色彩管理,那麼廣色域顯示器就無法處理sRGB以外色域的照片,導致採用DCI-P3廣色域的照片顯示錯誤的顏色。

當然,要編輯廣色域的照片,你得先確認自己的顯示器是否支援廣色域。

通常色彩管理會用到ICC色彩描述檔(ICC Profiles),附檔名為.icm。它能夠用來指定顯示器顏色,也能夠內嵌在圖片檔裡面,讓軟體正確得知該圖片使用的色域。

Linux各大發行版(Ubuntu、Fedora、Arch Linux)支援色彩管理,但是並非全域統一支援,要桌面環境加上應用程式支援度。

GNOME和KDE Plasma桌面環境支援色彩管理。

Firefox、Chromium系瀏覽器、修圖軟體GIMP、繪圖軟體Krita、照片整理程式digiKam、CUPS印表機都是支援色彩管理的。看圖軟體Gwenview也支援讀取內嵌ICC色彩描述檔的圖片。

如果軟體不支援色彩管理,那麼它會以sRGB色域顯示圖片。

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

1. 前置條件
#

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

撰文當下,GNOME最新版本48,KDE Plasma最新版本6.3

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

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

順帶一提,如果你想要使用HDR功能,必須要使用Wayland協定,且桌面環境需要GNOME 48或者KDE Plasma 6以上版本。

2. 取得ICC色彩描述檔
#

ICC設定檔以.icm結尾,Linux桌面環境應該已經內建一套色彩描述檔,位於/usr/share/color/icc/目錄。

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

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

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

3. 載入ICC色彩描述檔
#

桌面環境應該有圖形界面讓你選。要手動安裝的話,用指令複製過去,ICC色彩描述檔應放到/usr/share/color/icc/目錄:

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

Linux顯示器的ICC色彩描述檔是交由桌面環境的常駐程式載入。

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

KDE Plasma為kde-colord套件,這樣子在系統設定的「色彩管理」介面就可以調整螢幕的ICC色彩描述檔。點裝置 → 選取顯示器 → 點Assign Color Profile,切換ICC色彩描述檔。

另外,KDE Plasma 6以後,Wayland工作階段也可以在系統設定 → 顯示器,選取ICC色彩描述檔。

如果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. 在GIMP使用ICC色彩描述檔
#

GIMP具有讀取ICC色彩描述檔與轉換ICC色彩描述檔的功能。

以GIMP 3.0為例。

  1. 開啟GIMP,點選檔案,開啟一張照片。

  2. 如果照片內嵌的IC色彩描述檔並非sRGB,它會問你要不要轉換為sRGB,點選「維持」原本的

  3. 點選影像 → 色彩管理 → 指派色彩描述檔

  4. 這裡就能夠選取Linux磁碟中的ICC色彩描述檔了,應該能夠從/usr/share/color/icc/找到ICC色彩描述檔。若GIMP是用Flatpak安裝的,則系統全域安裝的ICC色彩描述檔會跑到/run/host/usr/share/color/icc/

也可以按「儲存色彩描述檔到檔案」,抽出圖片內嵌的ICC色彩描述檔。

  1. 點選檔案 → 匯出為,匯出的時候要勾選儲存色彩描述檔。

5. 附註:調整螢幕色溫、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"

參考資料
#

相關文章

Linux Wayland桌面的縮放,放大字型、改善HiDPI支援、解決字型模糊
分類   Linux系統 Linux使用技巧
標籤   Linux GNOME KDE Plasma Wayland
Linux X11桌面的螢幕縮放比例 & 個別程式縮放(scale)的方法
分類   Linux系統 Linux使用技巧
標籤   Linux GNOME KDE Plasma X Window
Linux桌面螢幕截圖軟體,Flameshot使用教學
分類   Linux系統 Linux好用軟體
標籤   Linux Wayland X Window

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

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