Linux と色管理
「Linux では色管理が行えない」と考えている人は、意外と多いようだ。だが、それは間違いだ。例えば Fedora ではかなり前から色管理(カラーマネージメント)は可能であり、しかも基本的なツールがデフォルトで組み込まれている。(Fedora21 では Workstation エディションを利用した場合)
ただし色管理を行う場合は、ある程度のマシンパワーが必要であり、軽量型のデスクトップ環境を利用している場合は、デスクトップ環境を変更する必要がある場合がある。
そこで今回は、色管理(カラーマネージメント)の基本的な事から導入などについて説明しようと思う。
色管理(カラーマネージメント)とは?
そもそも色管理(カラーマネージメント)とは何だろう?
例えば PC-A で作成したカラーのイラストがあったとしよう。その画像データを PC-B に持ってきた場合、色が違って見える事は珍しくない。
これは、モニターの色空間(表示できる色域や特性)の違いにより発生します。例えば、あるプリケーションで赤(#FF0000)を表示したとします。この時、この赤はモニターに依存するものであり、鮮やかさや明るさ、場合によっては色相がズレている事もあります。その結果として、同じアプリケーションで同じデータを利用したとしても、モニターによって違う色に見える事が起こる訳です。
また、この問題はモニター間以外にも、モニターとプリンターの間など、およそ色を扱うデバイス間であれは、発生するモノだと言えます。
こう言った問題に対応する為に考えだされた方法が『色管理(カラーマネージメント)』です。
色管理(カラーマネージメント)を行う
色管理(カラーマネージメント)を行う為には、カラーマネージメント対応アプリケーションを利用する必要があります。
しかし、心配する必要はありません。このページの後半にカラーマネージメント対応アプリケーション一覧が表示されていますが、実際には、さらに多くのアプリケーションが存在しています。もう少し詳しく言うと、lcms2 をライブラリとしてリンクしている場合は、何らかの形で対応している事が多いのです。
むしろ実際に問題になるのは、軽量デスクトップを利用してる場合でしょう。Xfce などの軽量デスクトップは、あまり一般的ではない機能を省く事によって軽量化を行っているケースが殆どですので、その一般的ではない機能に色管理(カラーマネージメント)が含まれているからです。つまり、マシンパワーが不足しがちな PC では色管理(カラーマネージメント)の導入は、現実的ではありません。
しかし、Fedora や Ubuntu などを利用している場合は、特に問題にはならないでしょう。しかも Fedora (Fedora21 では Workstation エディションを利用した場合)ではデフォルトで色管理(カラーマネージメント)のツールやコントロールパネルなどがインストールされています。
色管理(カラーマネージメント)を行うのであれば、GNOME または KDE デスクトップを利用するのが一般的です。ただし、厳密には Ubuntu の Unity などの GNOME 系デスクトップでも問題無く行えます。
※ GNOME のカラーマネージメントはコチラ、KDE のカラーマネージメントはコチラをご覧下さい。
では先ず、モニターのメーカーから ICC プロファイルを入手します。(拡張子が「.icc」か「.icm」のファイル)もし、入手できない場合は、sRGB プロファイルを使用する事も出来ますが、その場合は正確な色管理は行えません。
※ ICC プロファイルはデバイスの色空間が定義されたファイルです。デバイスのメーカーから入手する必要があります。入手できない場合は、sRGB プロファイルを代用したり、キャリブレーション設定を割り当てる必要があります。
次に、「colord」が動作しているかどうかをコマンドで確認します。
colord 2769 0.0 0.4 430452 38436 ? Ssl 11:46 0:00 /usr/libexec/colord
「colord」は、デバイスと ICC プロファイルを関連付けるサービス(デーモン)です。
※ Fedora は勿論、Ubuntu でも「colord」がデフォルトでインストールされている様です。
「colord」をコントロールするコマンドとして、「colormgr」があります。このコマンドによって、デバイスと ICC プロファイルの関連付けを行います。まずは、「colormgr –help」で内容を確認しましょう。
用法:
colormgr [オプション…]create-device [ID] [SCOPE] [KIND]
デバイスの作成
create-profile [ID] [SCOPE] プロファイルの作成
delete-device [ID|PATH] デバイスの削除
delete-profile [ID|PATH] プロファイルの削除
device-add-profile [ID|PATH] [ID|PATH]
Add a profile to a device that already exists
device-get-default-profile [ID|PATH]
デバイス用のデフォルトプロファイルの取得
device-get-profile-for-qualifier [ID|PATH] [QUALIFIER]
修飾子に合う全てのプロファイルを返す
device-inhibit [ID|PATH] [TIMEOUT|0]
このデバイスへのカラープロファイルの適用の制限
device-make-profile-default [ID|PATH] [ID|PATH]
デバイス用のデフォルトプロファイルに設定
device-set-enabled [ID|PATH] [TRUE|FALSE]
デバイスを有効化または無効化します
device-set-kind [ID|PATH] [KIND] デバイスの種類の設定
device-set-model [ID|PATH] [MODEL]
デバイスのモデル名の設定
device-set-serial [ID|PATH] [SERIAL]
デバイスのシリアルの設定
device-set-vendor [ID|PATH] [VENDOR]
デバイスベンダーの設定
dump Dump all debug data to a file
find-device [ID] Find a device from the device ID
find-device-by-property [KEY] [VALUE]
Find a device with a given property value
find-profile [ID] Find a profile from the profile ID
find-profile-by-filename [FILENAME]
ファイル名でプロファイルを検索
get-devices カラーマネジメントされたデバイスをすべて取得
get-devices-by-kind [KIND] 指定された種類のカラーマネジメントされたデバイスをすべて取得
get-profiles 利用可能なすべてのカラープロファイルを取得
get-sensor-reading [KIND] センサーから読みだした情報を取得
get-sensors 利用可能なすべてのカラーセンサーを取得
get-standard-space [TYPE] 標準色空間の取得
import-profile [FILENAME] Import a profile and install it for the user
profile-set-property [ID|PATH] [KEY] [VALUE]
プロファイルへの拡張プロパティの追加
sensor-lock カラーセンサーをロック
sensor-set-options [KEY] [VALUE] 一つ以上のセンサーオプションを設定ヘルプのオプション:
-h, –help ヘルプのオプションを表示するアプリケーションのオプション:
-v, –verbose 拡張デバッグ情報の表示
–version クライアントとデーモンのバージョンを表示します
–value-only Show the value without any header
–filter Filter object properties when displaying
このコマンドを用いて、ICC プロファイルの割り当てが行えます。
GUI での色管理
Fedora では必要ありませんが、その他の環境では必要に応じてパッケージをインストールして下さい。
- 「gnome-color-manager」 … GNOME 用の ICC プロファイル管理ツール
- 「colord-kde」 … KDE 用の ICC プロファイル管理ツール
- 「unity-control-center」 … Unity 用の ICC プロファイル管理ツール(Ubuntu の Unity ではコレを選択)
※ Ubuntu で GNOME のカラーマネージメントをフルに利用する為には、GNOME デスクトップの導入を考えてみるのもアリです。パッケージ「ubuntu-gnome-desktop」をインストールし、インストール中に「GDM (GNOME Display Manager)」を利用するかを聞いて来るので yes を選択して下さい。再起動すれば、GNOME デスクトップが利用できます。ただし、GNOME3 + GDM は Unity より確実に重たくなります。
GNOME3 での設定方法を説明します。他のツールでも基本的には似たような設定を行うだけです。
先ず、一番最初に注意しておく事は、プリンターの選択を済ました上で、色管理を行う USB デバイスは電源を入れた状態にしておきます。
※ USB プリンターやスキャナーは、電電を入れた状態で接続しておけば、ドライバーのインストールする必要も無く認識されます。ただし、プリンターは事前に「選択」を行っておくほうが無難です。
- 左上の電源アイコンからパネルを表示し、設定アイコンをクリックし「設定」ダイアログを表示します。
- 「設定」ダイアログの「カラー」アイコンをクリックし、「カラー」を表示します。
- 認識されているデバイスの一覧が表示されますので、デバイスを選択した状態で「プロファイルの追加」で ICC / ICM ファイルを指定して下さい。
また、キャリブレーション用の画像が必要ですが、スキャナーなどでは「キャリブレート」ボタンで、ICC プロファイルを作成する事も出来ます。
※ デバイスの一覧が表示されない場合は、接続に問題があるか、特別なドライバーが必要な機器である場合があります。ただし、USB プリンター / スキャナー は9割以上はドライバーをインストールしなくても利用可能です。対応スキャナー検索はコチラ、対応プリンター検索はコチラ。
※ 一般的に Linux が苦手としているのは、ワイヤレスデバイスです。しかし、OS のバージョンが上がれば解消されている事もありますので、バージョン古い OS を利用している場合は、バージョンアップも検討して下さい。
運用方法
色管理(カラーマネージメント)のツールが無ければ、意味がありません。先ずは GIMP や Krita などを用意します。
対応アプリケーションは起動後、colord に対し、libcolord や D-Bus などを用いてモニターの ICC プロファイルを入手します。
ドキュメントを開く場合は、先ずドキュメントの ICC プロファイルを取得します。また、新規作成の場合は、指定されたプロファイルを割り当てます。
ドキュメントの読み込みでは、ドキュメントの色空間からモニターの色空間へ変換し、メモリ内へ読み込みます。この変換されたデータに対し、編集や表示を行います。
保存する場合は、メモリ内のデータ(モニターの色空間)をドキュメントの色空間に変換して保存します。
印刷する場合は、プリンターの ICC プロファイルを colord から入手し、メモリ内に格納されたモニターの色空間を持つデータをプリンターの色空間に変更し、プリントアウトします。
※ GIMP での設定方法や運用はコチラをご覧下さい。
ICC プロファイルの入手
幾つかの色管理対応アプリケーションでは、ドキュメントを新規作成する場合、ドキュメントの ICC プロファイルを指定する必要があります。
※ 指定の必要が無い場合は通常、sRGB が割り当てられます。これは、lcms2 などのライブラリで sRGB を自動生成できる為です。
しかし、色管理(カラーマネージメント)が導入されている場合は、ある程度のプロファイルはインストールされています。インストールされている場所は、次のコマンドで確認できます。
sRGB.icc や compatibleWithAdobeRGB1998.icc(AdobeRGB の完全互換)、ProPhoto-RGB.icc は OpenICC から入手できます。また、OpenICC はパッケージ(パッケージ名:icc-profiles-openicc)としても提供されていますので、「openicc」でパッケージャーを検索してみて下さい。
CMYK 用の ICC プロファイルとしては、「Japan Color 2011」が良いかも知れません。入手はココ。
Linux ではプリント関連では通常、Ghostscript がデフォルトでインストールされています。その関係で、Ghostscript の ICC プロファイルがデフォルトでインストールされている環境は多いはずです。「/usr/share/ghostscript/」の配下を探してみて下さい。
GNOME 環境では、「gcm-viewer」が利用できます。コレにより、ICC プロファイルの特性などを確認できます。コマンドラインから「gcm-viewer」と入力して起動してみて下さい。
「gcm-viewer」利用すれば色味や色域、出力曲線なども確認できます。