Raspberry PIが起動時にプログラムを実行して、自動的にブラウザを開くようにする

1. 自動ログイン設定

$ sudo vi /etc/inittab

して、以下の通りに変更

# こうなっている場所を
1:2345:respawn:/sbin/getty 115200 tty1

# こうする
#1:2345:respawn:/sbin/getty 115200 tty1
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1

2. スクリプトの自動実行を設定する

$ sudo vi /etc/rc.local

して、以下をexit 0 と書かれている前に書く

# パスやファイル名はお好きに
$ sudo -u pi /home/pi/bin/my-script.sh

3. スクリプトを用意する

$ cd ~
$ mkdir bin
$ vi bin/my-script.sh

書き込む内容はたとえば下記のような感じ

#!/bin/sh

SCRIPT_PATH=/home/pi/script/
$OCTOPRINT_HOME/run

4. LXDE起動時にブラウザを自動で開く

Raspberry PI 2とかはこちら

$ sudo vi /etc/xdg/lssession/LXDE-pi/autostart

古いOSを動かしているときはこちら

$ sudo vi /etc/xdg/lssession/LXDE/autostart

書く内容は以下のような感じ

# @lxpanel --profile LXDE-pi
# @pcmanfm --desktop --profile LXDE-pi
# @xscreensaver -no-splash
@xset s off
@xset -dpms
@xset s noblank
@epiphany-browser http://localhost:3000 # 開きたいページ

5. Raspberry PI起動時に自動的にGUILXDE)を起動するように設定

$ sudo raspi-config

を実行して、 Select Enable Boot to Desktop/Scratch from the menu and press Enter > Step 3: Select Desktop Login as user pi at the Graphical Desktop.の順番で選択。再起動したいか>聞かれるので、ここまですべて済んでいたら再起動を実行。すべて動作するのを確認しておしまい。

6. おまけ:やめたいとき

いきなりビジュアルモード(OSのインタフェースなし)に突入するので、コマンドだけではどうしようもない。マウスの偉大な力が必要。マウスを使ってブラウザをずらし、バックグラウンド(真っ黒で怖い)を右クリックすると、Open Terminal Emulatorと出るので、再度sudo raspi-configLXDEの設定をいじることで通常に戻ることができる。