はじめに
余ったラズパイ3でキオスク端末を作ってみたくなったので,その時のハマったところをまとめる.
環境
- Raspberry Pi3 model B (基本的なセットアップ済み)
- Micro SD カード 16GB
- Raspbian 9.6
作業
Raspbianの導入について解説は省略.
いつもの呪文
最初に既存パッケージをアップデートしておく.
sudo apt-get update
sudo apt-get upgrade
自動GUIログイン
起動後パスワード無しでデスクトップ画面になるのであればこの設定は不要だと思う.
最初のトラブル
piユーザを消して適当なユーザを作っていた影響で,起動するたびパスワードの入力を求められてしまう.
解決法
こちらを参考にGUIへの自動ログイン設定をした.
-
以下をターミナルに張り付けて実行.
systemctl set-default graphical.target ln -fs /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
-
/etc/lightdm/lightdm.conf
の「autologin-user=ユーザ名」を任意のユーザに書き換える.sudo vi /etc/lightdm/lightdm.conf
/etc/lightdm/lightdm.confautologin-user=ログインしたいユーザ名 #autologin-user-timeout=0 #autologin-in-background=false #autologin-session= #exit-on-failure=false
これでGUIへの自動ログインはできた.
ブラウザの全画面表示と自動起動
ブラウザを全画面表示させるにあたってマウスのカーソルが邪魔になる.マウスに一定時間動きがないとカーソルを非表示にするツールunclutter
をインストールしておく.
sudo apt-get install unclutter
またハマる
次に自動実行の設定ファイル~/.config/lxsession/LXDE-pi/autostart
を編集する.
はずなのだが,~/.config/lxsession
が存在しない.
ここで勝手にディレクトリを作って良いのか不安になり色々調べて迷走した.
解決法&手順
無視して~/.config/lxsession/LXDE-pi/autostart
を作る.
-
必要なディレクトリを作成.
mkdir ~/.config/lxsession mkdir ~/.config/lxsession/LXDE-pi
-
自動起動の設定ファイルを作成.
sudo vi ~/.config/lxsession/LXDE-pi/autostart
~/.config/lxsession/LXDE-pi/autostart@xset s off @xset -dpms @xset s noblank @unclutter @chromium-browser --kiosk --app=https://google.com
なんでハマった?
ユーザ別の設定ファイルではなく,グローバルの設定ファイルを編集したから.
このサイトによると,
ファイル | 有効範囲 | 優先順位 |
---|---|---|
~/.config/lxsession/LXDE-pi/autostart | ユーザ別 | 1 |
/etc/xdg/lxsession/LXDE-pi/autostart | 全ユーザ | 2 |
こんな感じでユーザ別の設定ファイルが無い場合のみグローバルの設定が適用されるようだ.そして,Jessieはインストール時に自動でユーザの設定ファイルを作るらしい.つまりグローバルの設定ファイルは機能しない. |
最後に
キオスク端末を作ったのに表示するものがないし,何か作ってみたい.
参考
Raspberry Pi3でキオスク端末(自動ログイン+ブラウザ起動)を作る。
Raspberry Pi, Raspbian Jessie (based on Debian Jessie) disable AutoLogin GUI & Console
Raspberry pi autostart of LXDE does not work