树莓派开机自启动rc.local方法

AI助手已提取文章相关产品:

1.打开rc.local

sudo nano /etc/rc.local

2.配置rc.local

在文末exit 0这行代码前,输入自启动命令

(1)如自启动/home/pi文件下的可执行文件main

/home/pi/main
exit 0 //文件中提供

(2)如自启动需要编译的main.py

python /home/pi/main.py
exit 0 //文件中提供

3.查看状态

终端输入:

systemctl status rc-local

4.避坑

(1)长时间执行(死循环)或者执行后不能退出问题:命令后面加入“&”

python /home/pi/main.py &

2)Cannot open shared object file: No such file or directory问题:

  •  共享库文件安装到了/lib或/usr/lib目录下,打开终端输入:
ldconfig
  • 使用 LD_LIBRARY_PATH 添加路径(共享库安装在其他目录且不在/etc/ld.so.conf中加路径),命令行输入: 
export LD_LIBRARY_PATH =$LD_LIBRARY_PATH: +动态库的绝对路径
  • 共享库文件安装到了/usr/local/lib或其它"非/lib或/usr/lib"目录下,命令行输入:
echo "/usr/local/lib" >> /etc/ld.so.conf 
ldconfig

您可能感兴趣的与本文相关内容

在 Raspberry Pi 4B 上设置 Python 脚本开机自启动,可以通过多种方法实现。以下是几种常见且有效的方式: ### 方法一:使用 `rc.local` 文件 编辑 `/etc/rc.local` 文件,在 `exit 0` 之前添加以下内容: ```bash sudo python3 /home/pi/your_script.py & ``` 注意: - 使用 `sudo` 是为了确保脚本拥有足够的权限运行。 - `&` 表示将脚本作为后台进程运行,避免阻塞系统启动流程。 保存并退出后,确保 `rc.local` 服务已启用: ```bash sudo systemctl enable rc-local ``` 此方法适用于大多数基于 Raspbian 的系统[^1]。 ### 方法二:使用 `/etc/init.d` 目录 将 Python 脚本复制到 `/etc/init.d` 目录下: ```bash sudo cp /home/pi/your_script.py /etc/init.d/ ``` 然后创建一个启动脚本(如 `your_script.sh`),放置在 `/etc/init.d/` 中,并赋予执行权限: ```bash sudo chmod +x /etc/init.d/your_script.sh sudo update-rc.d your_script.sh defaults ``` 脚本中应包含启动 Python 脚本的命令,例如: ```bash #!/bin/sh ### BEGIN INIT INFO # Provides: your_script # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start your_script at boot time # Description: Enable service provided by your_script. ### END INIT INFO case "$1" in start) sudo python3 /etc/init.d/your_script.py & ;; stop) echo "Stopping your_script" ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0 ``` 此方法适用于需要更精细控制启动流程的场景[^2]。 ### 方法三:使用 `.desktop` 文件实现桌面自启动 在 `/home/pi/.config/autostart` 目录下创建 `.desktop` 文件,例如 `your_script.desktop`,内容如下: ```ini [Desktop Entry] Name=YourScript Comment=Run your_script at startup Exec=python3 /home/pi/your_script.py Icon=/home/pi/icon.png Terminal=false MultipleArgs=false Type=Application Categories=Application;Development; StartupNotify=true ``` 确保脚本路径和图标路径正确,并赋予 `.desktop` 文件执行权限: ```bash chmod +x /home/pi/.config/autostart/your_script.desktop ``` 此方法适用于图形界面环境下的自启动需求[^3]。 ### 方法四:使用 systemd 服务 创建一个 systemd 服务文件,例如 `/etc/systemd/system/your_script.service`,内容如下: ```ini [Unit] Description=YourScript Service After=multi-user.target [Service] ExecStart=/usr/bin/python3 /home/pi/your_script.py User=pi Group=pi Restart=always [Install] WantedBy=multi-user.target ``` 启用并启动服务: ```bash sudo systemctl enable your_script.service sudo systemctl start your_script.service ``` 此方法适用于现代 Raspbian 系统,具有更好的稳定性和可管理性[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值