樹莓派linux設(shè)置開機啟動程序
## 方法一:向rc.local文件添加啟動代碼 ##
修改rc.local文件,在終端輸入并回車:
????sudo nano /etc/rc.local
????
在打開的文本中找到exit 0,在此之前添加的代碼在啟動時都會被執(zhí)行,在exit 0 之前添加一行代碼:
????su pi -c "exec /home/pi/testboot.sh"
ctrl+o保存,ctrl+x退出,然后在終端輸入:sudo reboot ,重啟系統(tǒng)測試。
su命令是指定在pi用戶下執(zhí)行這條命令,-c 表示執(zhí)行完這條命令之后恢復(fù)原來的用戶。
注意:系統(tǒng)啟動時在執(zhí)行這段代碼時是使用root用戶權(quán)限的,如果不指定pi用戶,可能會因為權(quán)限問題導(dǎo)致腳本執(zhí)行失敗。
## 方法二:使用systemctl設(shè)置服務(wù) ##
在/usr/lib/systemd/system/ 下新建文件testboot.service:
????sudo nano /usr/lib/systemd/system/testboot.service
如果目錄system不存在,請自行創(chuàng)建:
????sudo mkdir /usr/lib/systemd/system
testboot.service文件內(nèi)容如下:
????[Unit]
????
????Description=testboot
????
????[Service]
????
????Type=oneshot
????
????ExecStart=/home/pi/testboot.sh
????
????[Install]
????
????WantedBy=multi-user.target
這里直接指定啟動文件的路徑,無法指定到pi用戶執(zhí)行,所以只能在root用戶下執(zhí)行。
設(shè)置服務(wù)自啟動:
????sudo systemctl enable testboot.service