質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

1回答

20839閲覧

raspberry pi 3のrc.localが動作しない【raspbian jessie】

hishiwanko

総合スコア40

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

1グッド

1クリップ

投稿2016/06/28 00:45

編集2016/06/28 08:10

###前提・実現したいこと
raspberry piにカメラモジュールを取り付け、撮影した写真を共有フォルダに送り、その画像を管理するシステムを作ってます。画像に製品の情報があり、複数台のラズパイでそれぞれ撮影し工程管理をするもの。

###発生している問題・エラーメッセージ
作ったプログラムを自動起動させようとしても、rc.localがうんともすんとも言わない。

エラーメッセージ 特になし

###該当のソースコード
@rc.local

.
..
...
#起動時に実行したい処理

/home/pi/start.sh

python/home/pi/window.py
sudo python/home/pi/window.py
/home/pi/window.py

sudo raspistill -o test.jpg

exit 0

このようにいろんなコマンド入れてるんですけど全部無視されます。

ls -oを叩くと

-rwxrwxrwx 1 root 721

となっておりますのでパーミッションも多分大丈夫だと思っているのですが…

ちなみに、start.sh はwindow.pyを起動するシェルが入っているだけで
window.pyは新規ウインドウが出てシャッターボタンを押すと撮影するプログラムです。
こちらは普通に動作しますので問題無いと思います。

###試したこと
まずはパーミッションと、上記のようにいろんな形でコマンドを入力してみましたがダメでした。

###補足情報(言語/FW/ツール等のバージョンなど)
OSはraspbian jessieです。あと、個人的に所有しているraspberry piもrc.localが効かなくなっていました。以前まで動いておりましたが、jessieからは方法が変わったのでしょうか?
ちなみに、質問でメインになっている方がpi3で、個人的に所有しているものがpi2モデルBです。
何かヒントをいただけると嬉しいです。

追記:見ていただいた方、ありがとうございます。
raspbian jessieからどうやらrc.localよりもsystemedが推奨されているようです。(それは理解しておりました。)
ですが
sudo raspi-config

"Wait for Network at Boot" -> " Slow Wait for network connection before completing boot"
に設定を変えてrebootでrc.localが動くようになるそうです。

ですが、version8.0には" Slow Wait for network connection before completing boot"という設定が消えていて、もう分からないです。
ただ言える事は、rc.localがあるという事は多分設定はあるのかな、という事と
多分おとなしくsystemedを勉強しないとダメかな、という事です。
最新raspbianでrc.local使える方法があれば嬉しいです。

なければsystemedを頑張って覚えます。

toshi_yama👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

rc.localをいじっていないことと、手元に今ラズパイがないので一部憶測になってしまいますが、

このトピックを読んでいて気になったので。raspberry pi トピック

どうもrc.localの実行はとても速いという記載がありますが、実は実行されているがほかの準備ができていないといったことはあったりするのかなと。
ただ、それを探るすべとして、例えばコンソールにrc.localが実行された痕跡を逆に探るためにわざとエラーになる処理を埋め込むなど。

またこのトピックにあるように質問者もsystemdで実行して過去の産物となったrc.localの処理の
エラーログが吐かれてることに対しての質問みたいなので、早期に解決するためにはsystemdがてっとりばやいかもしれないです。

投稿2016/06/28 13:30

編集2016/06/28 13:30
toshi_yama

総合スコア133

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hishiwanko

2016/06/29 13:02

そちらのトピックもあらかじめ拝見しておりました! systemdのリストを確認したところ、rc.localがfailedになっておりました。理由は全くわからなかったです。 というわけでsystemdを使ったわけですけど、今回作成したプログラムはpythonのPyQtを使用していたせいかsystemdからどうやっても起動できませんでした。というよりか、数秒くらい起動した後に結局読み込めなかったという現象が起きました。 最終的に/etc/profileにシェルスクリプトを置いて自動ログインとともに起動するように対応しました。 ありがとうございます。
toshi_yama

2016/06/29 15:12

解決に結びつかずすみません。今後の参考にしたいので よろしければ「/etc/profileにシェルスクリプトを置いて」 といった内容で別の回答を記入して 自己解決としていただけませんでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問