一旦GUI加载到Raspbian Pixel,如何自动启动python文件

时间:2017-01-28 19:33:22

标签: raspberry-pi raspbian

我现在已经问过这个问题,但我花了几个小时试图找出如何做到这一点,绝对没有任何效果。我有一个python文件,我希望在pi启动并加载其GUI后自动在终端窗口中运行。

我不知道还能做什么,令人烦恼的是我让它在同一个项目中工作(花了很长时间才发现当时的情况),但是pi今天和我崩溃了我不记得如何再做一次。我记得的是,如果有帮助的话,我在以/ autostart结尾的文件中添加了一些内容。

2 个答案:

答案 0 :(得分:2)

我可以通过运行sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart并在文件末尾添加@lxterminal -e python /home/pi/weatherStation/core.py来启动时启动python文件

答案 1 :(得分:1)

我在记住在何处以及如何执行此操作时遇到了类似的问题。然后,随着Buster,一切似乎又都改变了。

刚刚将Buster新安装到新的SD卡上后,我不得不再次完成整个过程。第三次或第四次肯定更容易;-)

我发现以前使用的路径中没有 lxsession 文件夹:

/home/pi/.config/lxsession/LXDE-pi/autostart

/home/pi/.config/lxsession 在我刚刚安装的“克星”(2020年5月)中不存在

我在这里找到了2020年与Buster相关的文章: http://wideberry.com/autostart-python-script-after-boot-in-raspbian-buster/ 然后在该路径中找到自动启动文件:

/etc/xdg/lxsession/LXDE-pi  

注意:这是一个根文件,将影响所有用户。

由于我之前发现何时发出python命令的时间有问题,因此我在运行python脚本之前调用一个脚本来暂停。

我在@lxterminal中添加了一个/etc/xdg/lxsession/LXDE-pi/autostart命令,如下所示:

lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@lxterminal -e /home/pi/StartCollectors.sh
@xscreensaver -no-splash

注意:由于/etc/xdg/lxsession/LXDE-pi/autostart是受root保护的文件,因此必须使用root权限进行编辑,例如sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

StartCollectors.sh包含此

#!/bin/bash
# started from the /etc/xdg/LXDE-pi/autostart file (reminder)
cd /home/pi/ETA2-copy
echo "starting House Collectors in 20 seconds"
sleep 10
echo "starting House Collectors in 10 seconds"
sleep 10 
lxterminal --working-directory='/home/pi/ETA2-copy' --command='python3 Hiverun.py' -t 'Hive'
lxterminal --working-directory='/home/pi/ETA2-copy' --command='python3 ETALog.py' -t 'ETA'
lxterminal --working-directory='/home/pi/ETA2-copy' --command='python3 ETADailySum.py' -t 'Summary'
echo "My work is done.  Closing in 10 seconds
sleep 10
exit

-t选项在终端窗口上放置一个可识别的名称。

有效。

顺便说一句,我从本地局域网上的ETA PU15锅炉收集数据。我从我的英国Gas Hive家庭控制系统和英国气象局收集数据,并将其集成到一个sqlite表中,以便可以跟踪房屋的性能。为什么?为什么不?称其为爱好。

我认为这是我在这个论坛上的第一个答案。我希望它符合要求并能对其他人有所帮助。