Raspberry-Pi
使用不同的工作目錄編寫啟動腳本
今年早些時候,我在我的樹莓派上安裝了 octoprint,以便控制我的 3d 列印機。
我已經能夠使用 octoprint 一次使 pi 控制 2 台列印機。我還添加了第二台相機 (USB) 來查看第二台列印機。我設法找到了一種方法來啟動第二台相機並編輯 octoprint 以查看兩者的區別。
我唯一的問題是每次我再次啟動我的樹莓派時,我都必須更改為不同的工作目錄:
cd ~/mjpg-streamer
然後啟動第二台相機:
./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"&
我希望能夠編寫一個腳本來在啟動時啟動相機,這樣我就不必每天 ssh 到我的樹莓派、登錄和發送命令。我發現了很多關於編寫啟動腳本的內容,但沒有發現關於更改其中的工作目錄的內容。
我一直在使用它來編寫啟動腳本(不成功):
sudo nano /etc/init.d/startsecondcamera
使啟動腳本
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 執行。如果以 root 身份執行該實用程序存在問題,sudo -u gelisia ./mjpg_streamer ...
請在腳本中使用以使用者身份執行它gelisia
。另一種方法是添加一個在啟動時執行的 cron 作業:
@reboot cd /home/geilisa/mjpg-streamer && ./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"
使用命令將其添加到您的 crontab 中
crontab -e
。這將使用您的 crontab(可能是一個空文件)打開一個編輯器。添加上面的行,保存並退出。我知道的大多數 cron 都允許使用
@reboot
(和@hourly
等@daily
)而不是通常在實際命令之前出現的五個作業調度列。