Raspberry PI3 をデジタルサイネージ風に使っていて、
MP4ビデオを数本入れて、自動再生していました。
その方法は、
omxplayer という動画プレイヤーを使って、
/home/pi/.config/lxsession/LXDE-pi/autostart
にスクリプトを入れて、複数の動画を連続再生しています。
参考にさせていただいたのは、
http://www.cenolan.com/2013/03/looping-video-playlist-omxplayer-raspberry-pi/
毎日順調に再生されていたのですが、
同じコンテンツだと飽きてくるので、今回違う動画ファイルを入れようと思って、
電源を切ったときに、ミスったようです。
実は、上記の設定だと、必ず自動再生されてしまうので、
メンテや動画ファイルの交換には必ず、ほかの端末からSSHなどでコンソールに入るしか方法が無くなりますが、そうなると、ネットワーク環境が必要になります。
今回は、全くネットワークを使わない設定にしたかったので、
USBポートに特定のデバイスをつないだ時だけ、自動再生されない設定にしていました。
USBポートに「DELL のキーボードを検出したとき」という設定です。
普段は、ネットワークもなし、キーボードもマウスもなし。
全くラズパイ本体だけをモニターに繋いでて、
メンテナンスの際にDELL製のキーボードをつなぐと自動再生されない。
で、キーボードを繋いで、コンソールを出して、
「autostart」のファイル名を一時的に変更して、再起動させると、X-Windowが起動する。
ここで、再起動の際に、なぜか X-Window は起動するけど、「pi」のユーザーで、ログインパスワード待ちのウインドウが開いて、正規のパスワードを入れても、ログインできない状態になってしましった。
普通は自動ログイン設定なので、パスワード待ちなんてありえないのに。
試しにわざと間違ったパスワードを入れてみると、「パスワードが間違ってる。」というメッセージがでるので、入れたパスワード自体は正しい。
でも、X は触れない。デスクトップ背景の画像も表示されているのに。
これにはかなりはまった。
とりあえず、CTRL+ALT+F1 でコンソールを出して、raspi-config でCUI ログインに変更したら、CUI ログインはできたけど、日本語が通らない。
この状態で、startx でX-Window を起動したら、TimeOut とか言いやがって、起動しない。
と思っていたら、一旦タイムアウトしてるのでのに、何かのキーを触ったらX が起動した!
ログインもできている。
でも、根本的な原因は解消されていなくて、自動起動させたら、ログインパスワード待ちのまま。
色々ネットを彷徨ったら、
https://www.raspberrypi.org/forums/viewtopic.php?t=180859
このページに助けていただいた。
「`~/.Xauthority` の権限をlsコマンドなどで確認してもし`pi`以外のものだったら`pi`にしてログインし直しして直らないか.」
ちょうど偶然 X が起動している状態になったので、ファイルマネージャーで権限を確認したら、「root」になっている。なんでじゃ?
これを、
「sudo chown pi.pi ~pi/.Xauthority」
で「pi」に変更したら、正常に戻った。
助かりました。