今年初め、私は3Dプリンタを制御するためにRaspberry Piにoctoprintをインストールしました。
私はoctoprintを使用して同時にpi制御2プリンタを持つことができました。 2台目のプリンタを見るために2台目のカメラ(USB)も追加しました。私は2番目のカメラを実行し、オクトプリントを編集して2つの違いを確認する方法を見つけました。
私の唯一の問題は、ラズベリーパイを再起動するたびに別の作業ディレクトリに変更する必要があることです。
cd ~/mjpg-streamer
次に、2番目のカメラを起動します。
./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"&
起動時にカメラを起動するスクリプトを書いて、毎日Raspberry PiにSSHとしてログインしてコマンドを送信する必要がないようにしたいと思います。起動スクリプトの作成に関する多くの情報が見つかりましたが、その中の作業ディレクトリを変更する方法については見つかりませんでした。
私はこれを使って起動スクリプトを作成しました(失敗):
sudo nano /etc/init.d/startsecondcamera
ベストアンサー1
手動で実行するのと同じように、起動スクリプトで実行前のcd
タスクを実行するようにします。mjpg_streamer
#!/bin/sh
cd /home/geilisa/mjpg-streamer
./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"
これはホームディレクトリがあると仮定します/home/geilisa
。
~
ルートとして実行できるため、スクリプトでは使用できません。ユーティリティをrootとして実行できない場合は、sudo -u gelisia ./mjpg_streamer ...
スクリプトでユーザーとして実行を使用してくださいgelisia
。
別のアプローチは、起動時に実行されるクローンジョブを追加することです。
@reboot cd /home/geilisa/mjpg-streamer && ./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"
コマンドを使用してcrontabに追加しますcrontab -e
。これにより、crontab(おそらく空のファイル)があるエディタが開きます。上記の行を追加、保存、終了します。
私が知る限り、ほとんどのクローンは通常、実際のコマンドの前にある5つの作業スケジュール列の代わりに@reboot
(および@hourly
etc)使用を許可します。@daily