2014年5月11日日曜日

redshiftでLinuxデスクトップの夜間のモニター輝度・色温度を調節する

正直歳をとったせいか、以前のようにモニターの輝度を上げると目が辛くなります。
特に夜間は若干色温度を下げたほうが目にはやさしいですね。
LinuxとWindowsでの双方動作するfluxというものがありますが、Linuxデスクトップでfluxを使用した場合には残念ながら時刻連携(日没後の輝度調整+色温度低下)が上手に動作しませんでした。
機能的にちょっと物足りなく見えますが、redshiftがうまく動作しましたのでこれをご紹介します。

例によってLinux Mint16で動作を確認してます。多分Debian系ならばパッケージは同じようにあるのではないかと思います。

  1. インストール
    まずはインストールです。Debian系の場合はredshihtgtk-redshift をインストールします。
    gtk-redshiftは機能としては大したことがありません(タスクバー経由でのredshift の入・切操作や、一時的な休止、ウィンドウマネージャ起動時のredshiftの自動起動を提供する)、が入れておいたほうがいいでしょう。
  2. 設定
    各ユーザの.config ディレクトリにredshift.conf ファイルを置くことにより、起動時にこれを読み込みします。
    redshift.conf ファイルはキーワードと値の間を=でつなぐ、一般的な普通のテキストファイルです。なお設定ファイルサンプルが/usr/share/doc/redshift/example-redshift.conf にありますが、少なくとも以下の通り記載する必要があります。ちなみにmanもありますが、manの通り記載しても動作しない場合がありました(Linux mint16の redshift1.7 付属のmanファイルの場合)。

    temp-day=****
    日中のディスプレイ色温度を指定します。****の部分に色温度を指定します。6000Kくらいがいいところでしょうか。

    temp-night=****
    夜間のディスプレイ色温度を指定します。上記と同じく****の部分に色温度を指定します。自分は蛍光灯くらいがいいので4200Kを指定しました。

    transition=0 もしくは 1
    manを直訳した感じでは変更出来るようにするという意味みたいですが、まぁ1にしておけばいいと思います。

    gamma=*.***:*.***:*.***
    ガンマ比を調整します。カンマで区切られた3種類の数値で色を指定します。前が赤、中間が緑、後ろが青です。通常は変える必要がないと思いますので、"1.000:1.000:1.000"で構わないでしょう。

    location-provider
    自分の場所を検知する方法を選択します。geoclue, gnome-clock, manual の3種類あるようです。Linux mintの場合、 geoclue・gnome-clockは何故か動作しないためmanual(手動で場所を指定)しかないようです。

    adjustment-method
    輝度・色温度を調整する方法を指定します。vidmodeとxrandrの2種類があるようです。最近のシステムならxrandrが適しているようです。

    brightness=*.*:*.*
    昼間・夜間の輝度を指定します。カンマの前が昼間の輝度、後ろが夜間の輝度です。

    lat=**.****
    緯度を指定します。

    lon=***.****
    経度を指定します。

    複数画面がある場合、screenを指定することでredshiftを有効する画面を指定出来るようです(ただし検証環境がないため不明)。
    以下に自分の設定で動作している設定ファイル貼り付けておきます。御自分で値は調整してみて下さい。もちろん、lat・lonはお住まいの場所に合わせてください。
    ; Global settings
    [redshift]
    temp-day=6000
    temp-night=4200
    transition=1
    gamma=1.000:1.000:1.000
    location-provider=manual
    adjustment-method=randr
    brightness=0.8:0.5
    ; The location provider and adjustment method settings
    ; are in their own sections.
    ; This is an example lat long for Portland, OR
    [manual]
    lat=43.0344
    lon=141.2116
    ; In this example screen 1 is adjusted by vidmode. Note
    ; that the numbering starts from 0, so this is actually
    ; the second screen.
    ;[vidmode]
    ;screen=1
  3. 動作確認
    仮想ターミナルでredshiftを実行し、夜間に輝度がちゃんと落ちるのを確認して下さい。
  4. gtk-redshiftの起動
    ログイン後仮想ターミナル上でgtk-redshiftを実行するか、自動起動するアプリケーションにgtk-redshiftを指定して下さい。これでログイン時にredshiftが有効になります。
    gtk-redshiftでは効果の切替をタスクバーで表示したアイコン経由で行うことが出来ます。

0 件のコメント:

コメントを投稿