rasp
进入启动目录
ls /home/pi/.config/autostart #树莓派的自启动目录,可以通过制作desktop文件来实现自启动
cd /home/pi/.config/autostart
cd ~/.config/autostart/
nano df.desktop
运行python程序
[Desktop Entry]
Name=example
Comment=My Python Program
Exec=python /var/www/html/shell/Switch.py
Type=Application
Terminal=true
直接运行可执行程序
chmod 777 /home/pi/frp_0.20.0_linux_arm/start #必须添加可执行的权限
[Desktop Entry]
Name=frp
Comment=df
Exec=/home/pi/frp_0.20.0_linux_arm/start
Type=Application
Terminal=true
or
[Desktop Entry]
Name=airplay
Comment=df
Exec=/home/pi/shairplay-master/run.sh
Type=Application
Terminal=true
- 每次重启或者远程桌面登陆都会执行,如果是后台持续运行的程序,远程桌面登陆会导致程序重复运行
- 每个desktop文件都会作为独立的进程运行
- 运行shell文件需要设置可执行权限
- 路径应该是完整路径,而不应该是简化路径(比如,应该是“/home/pi/shairplay-master/run.sh”,而不应该是“~/shairplay-master/run.sh”)
linux
chmod +x /etc/rc.d/rc.local #有些版本需要给local设置权限
sudo vi /etc/rc.local #编写shell脚本
/etc/rc.local #测试脚本的运行
/etc/rc.d/rc.local
echo >>~/df.df
#可以加载多个程序
. ~/frp_0.20.0_linux_amd64/start &
. ~/shell1 &
. ~/shell2 &
- local文件会在系统启动时运行,编写脚本的时候,对于持续运行的程序需要添加“&”,以免堵塞系统
- 在rasp里也可以使用这种方法进行自启动
shell
start
dir=~/frp_0.20.0_linux_arm/
${dir}frpc -c ${dir}frpc.ini
dir=~/frp_0.20.0_linux_amd64/
${dir}frps -c ${dir}frps.ini
通用方案
sudo nano /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#可以加载多个程序
dir=/home/pi/frp_0.20.0_linux_arm/
${dir}frpc -c ${dir}frpc.ini &
date >> /home/pi/autorun_log
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
- 路径应该是完整路径,而不应该是简化路径(比如,应该是“/home/pi/shairplay-master/run.sh”,而不应该是“~/shairplay-master/run.sh”)
- “rc.local”的自启动是linux通用的