Raspberry Pi 3でOpenCVを起動時に自動実行させるおはなし

はじめに

Raspberry pi 3でOpenCVを起動時に自動実行させようとしたら、かなり苦戦したので備忘録とします。

環境

ハマり

まずはこちらのサイトを参考にし、/etc/rc.localファイルに実行したい処理(20行目)を書き込みました。なお、自動ログインの記述に関しては、自動でpiユーザーとしてログインする設定になっていたため、行っていません。

www.takunoko.com

LXTerminalで

sudo vi /etc/rc.local

を実行します。

exit 0の前に実行したいプログラムを書きこみました。

gistca3de95acd1220af4a5b4c631a7e5d9e

しかし、起動中に

Gtk-WARNING **: cannot open display:

というエラーメッセージが表示され、起動後に自動実行しませんでした。

どうやら、GUIに対応していないようなので、sudoの代わりにgksudoを使用してみました。

それでも、同じエラーメッセージとなり、やはり自動実行されませんでした。

原因

上述の方法でプログラムを実行後、piユーザーとしてログイン、プロファイルを読み込んでいたことが原因のようです。

解決策

LXTerminalで、

vi .profile

を実行し、プロファイルを読み込みます。

gist643b5647d436b3af49fc84247dcf8630

最後に、実行したいプログラムを書きます。

今度は、起動後に自動でOpenCVが実行されました。

f:id:kieferbuch52:20161111153237p:plain

 

 今回実行したプログラムはこちらです。

giste5cc06210e17a591d174c4f5f5dabcf9