raspbianでディスプレイをスリープさせない設定

最近会社で社内デジタルサイネージ用に大型のテレビが届いたのですが、 コンテンツを表示させるためのサーバがないということで、 会社の先輩がraspberry piを調達してきてくださいました。

OS焼いてコンテンツの表示をできる用にしたのですが、 デフォルトだと勝手にスリープしちゃって困りました。 みんな対応方法を知ってるのか、検索方法が悪いのか、 なかなか情報がみつからなかったので備忘録として残しておきます。

Raspberry Pi Type B、OSはRaspbian wheezy(デスクトップ設定あり)で、出力はHDMIでテレビにつないで確認しました。

.xinitrcの用意

~/.xinitrcを用意して以下の内容を書き込みます。

xset s off
xset -dpms
xset s noblank
lightdm.confの編集

/etc/lightdm/lightdm.confを以下のように編集します。

86c1
< xserver-command=X
---
> xserver-command=X -s 0 -dpms

編集したらlightdmを再起動します。

/etc/init.d/lightdm restart
screensaver.desktopの作成

~/.config/autostart/screensaver.desktopを作成し、以下の内容を書き込みます。

[Desktop Entry]
Type=Application
Exec=/home/pi/.xinitrc

書き込んだあとはxの再起動が必要かもです。 これでスリープを阻止できます!

おまけ: cronでスリープ制御

上記の手順でスリープを阻止することができますが、深夜帯はスリープさせたい!などの要望があるかもしれません。その場合はtvserviceというHDMIを操作するためのツールを使うとよさそうです。 

下記コマンドをcronのジョブとして好きな時間に登録すれば、オンオフが自動でできそうです。

tvservice -o # スリープ
tvservice -p # 表示

RPiたのすい

参考: raspbmc - Make display go to sleep - Raspberry Pi Stack Exchange