作品展示のための環境構築
メディアアートやインタラクティブな作品を展示会場で展示をする場合、面倒なのが朝の起動と夜のシャットダウンです。作者が会場に滞在できる場合は自分でできますが、他の人にお願いするのもアレなので自動化するのが確実です。
環境
Raspberry PiにUbuntuをインストールしてProcessingをインストールします。Export as Applicationで単独で動くアプリとして書き出しておきます。このアプリをRasPiの起動時に起動して一定時間経過後にshutdownするようにします。
起動は物理的なタイマーを使用します。例えば(https://www.monotaro.com/g/06053445/)
こんなタイマーでセットした時間に電源が入るようにします。
書き出したアプリは以下の場所にあるとします。
/home/USER/Document/Processing/displayProgram/linux-aarch64/displayProgram
起動から決められた時間後にshutdownするようにセットしアプリを起動するためのスクリプトを作成します。
~/にautoStart.shを作成します。
$ cd ~/
$ vi autoStart.sh
autoStart.shの中身は次のとおりです。
#!/bin/sh
shutdown -h 720
/home/USER/Document/Processing/displayProgram/linux-aarch64/displayProgram
これで720分後(12時間 x 60分=720分)後にshutdownするようにセットします。そしてProcessingで書き出したアプリを起動します。タイマーで朝8時に起動すると午後8時にshutdownされます。
権限を変更して実行権限を追加しておきます。
$ chmod 755 autoStart.sh
このシェルスクリプトを実行して起動するか確認してみます。
$ ./autoStart.sh
起動が確認できたら.bashrcを編集してこのスクリプトを追加します。
$ vi .bashrc
最後に以下の一行を追加します。
/home/USER/autoStart.sh
これでターミナルを起動するとautoStart.shが動きます。
次にUbuntuが起動した時にターミナルが起動するようにします。
$ vi .config/autostart/gnome_terminal.desktop
でファイルを作成して以下の内容を入れます。
[Desktop Entry]
Exec=gnome_terminal
Type=Application
以上で完了です。
RasPIを起動しUbuntuが起動した後にterminalが開きautoStart.shが実行されます。
指定された時間が経つとshutdownです。
ただ一つ問題、Processingのアプリで
setup(){
fullScreen(P2D);
noCursor();
...
}
としてマウスカーソルを非表示にしている場合でもマウスカーソル起動から全く動いてないとカーソルが表示されたままになってしまいます。マウスをterminalから動かす方法もあるようですがUbuntuの新しいバージョンでは対応してないらしいです。そこで「マウスジグラー」とか「マウスムーバー」とか呼ばれるものを使います。USBに差してマウスの振りをしてカーソルを動かすものらしいです。
例えばこんな商品があります。https://amzn.asia/d/0Bq5BHs
以上でした。