You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在树莓派3B+开机启动时在终端中运行脚本?

解决树莓派开机启动Shell脚本并显示终端输出的问题

嘿,我来帮你搞定这个问题!你遇到的情况很常见,crontab的@reboot确实会在后台静默运行脚本,完全看不到输出;而.desktop文件的思路是对的,只是你缺少了关键的autostart目录而已。下面一步步来操作:

1. 创建缺失的autostart目录

首先打开终端,输入命令创建所需的目录结构:

mkdir -p ~/.config/autostart

-p参数会自动创建所有不存在的父目录,这里就是确保.configautostart文件夹都能被正确创建。

2. 创建并配置桌面启动项文件

接下来我们要编写一个.desktop格式的启动配置文件,用nano编辑器打开一个新文件:

nano ~/.config/autostart/keeper-script.desktop

然后把下面的内容粘贴进去:

[Desktop Entry]
Name=Keeper Script Launcher
Comment=启动keeper脚本并显示终端输出
Exec=lxterminal -hold -e "sudo sh /home/pi/Desktop/main_pro/keeper_sh.sh"
Type=Application
Terminal=false
Hidden=false

这里做了几个关键优化:

  • -hold参数:让终端在脚本执行完成后保持打开状态,这样你就能看到所有调试输出了(不然脚本跑完终端会直接一闪而过)
  • NameComment:给这个启动项起个易识别的名字和描述,方便你在系统里管理
  • Terminal=false:因为我们已经明确调用了lxterminal,不需要系统再额外启动终端窗口

3. 设置文件可执行权限

最后要确保这个.desktop文件拥有可执行权限,不然系统可能无法识别它:

chmod +x ~/.config/autostart/keeper-script.desktop

4. 提前测试(可选但推荐)

不需要立刻重启树莓派,你可以直接打开文件管理器,导航到~/.config/autostart目录,双击刚才创建的keeper-script.desktop文件,看看是否能正常弹出终端并运行你的脚本。如果一切正常,重启后它就会自动在桌面环境启动时运行了。

如果之后你不需要终端保持打开,只需要把Exec行里的-hold参数去掉就行。

内容的提问来源于stack exchange,提问作者Aatif Shaikh

火山引擎 最新活动