如何在 Raspbian 像素上加载 GUI 后自动启动 python 文件
How to automatically launch python file once GUI has loaded on Raspbian Pixel
我现在已经有人问过这个问题,但我花了很多时间试图找出如何做到这一点,但绝对没有任何效果。我有一个 python 文件,我想在 pi 启动并加载其 GUI 后在终端 window 中自动 运行。
我不知道还能做什么,烦人的是我让它为同一个项目工作(我花了很长时间才弄清楚当时是怎么做的),但是今天 pi 崩溃了,我不记得怎么做了。我只记得我在以 /autostart 结尾的文件中添加了一些内容,如果有帮助的话。
通过 运行 sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
并在文件末尾添加 @lxterminal -e python /home/pi/weatherStation/core.py
,我能够在启动时启动 python 文件
我在记住在哪里以及如何做这件事时遇到了类似的问题。然后这一切似乎又因巴斯特而改变了。
刚刚将 Buster 安装到新的 SD 卡上,我不得不重新经历整个过程。第三次或第四次肯定更容易;-)
我发现我之前用的路径里没有lxsession文件夹:
/home/pi/.config/lxsession/LXDE-pi/autostart
/home/pi/.config/lxsession 在我刚刚安装的 Buster 中不存在(2020 年 5 月)
我在这里找到了一篇 2020 Buster 相关文章:
http://wideberry.com/autostart-python-script-after-boot-in-raspbian-buster/
并从中找到了这个路径中的自动启动文件:
/etc/xdg/lxsession/LXDE-pi
注意:这是一个根文件,将影响所有用户。
因为我之前发现发出 python 命令的时间问题,所以我调用一个脚本在 运行 我的 python 脚本之前暂停。
我在 /etc/xdg/lxsession/LXDE-pi/autostart
中添加了一个 @lxterminal
命令,如下所示:
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 选项在终端上放置一个可识别的名称 window。
有效。
顺便说一句,我通过本地局域网从 ETA PU15 锅炉收集数据。我从我的 British Gas Hive 家庭控制系统和英国气象局收集数据并将其集成到 sqlite table 中,以便我可以跟踪房屋性能。为什么?为什么不?称之为爱好。
我想这是我在这个论坛上的第一个回答。我希望它符合要求并能帮助到其他人。
我现在已经有人问过这个问题,但我花了很多时间试图找出如何做到这一点,但绝对没有任何效果。我有一个 python 文件,我想在 pi 启动并加载其 GUI 后在终端 window 中自动 运行。
我不知道还能做什么,烦人的是我让它为同一个项目工作(我花了很长时间才弄清楚当时是怎么做的),但是今天 pi 崩溃了,我不记得怎么做了。我只记得我在以 /autostart 结尾的文件中添加了一些内容,如果有帮助的话。
通过 运行 sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
并在文件末尾添加 @lxterminal -e python /home/pi/weatherStation/core.py
我在记住在哪里以及如何做这件事时遇到了类似的问题。然后这一切似乎又因巴斯特而改变了。
刚刚将 Buster 安装到新的 SD 卡上,我不得不重新经历整个过程。第三次或第四次肯定更容易;-)
我发现我之前用的路径里没有lxsession文件夹:
/home/pi/.config/lxsession/LXDE-pi/autostart
/home/pi/.config/lxsession 在我刚刚安装的 Buster 中不存在(2020 年 5 月)
我在这里找到了一篇 2020 Buster 相关文章: http://wideberry.com/autostart-python-script-after-boot-in-raspbian-buster/ 并从中找到了这个路径中的自动启动文件:
/etc/xdg/lxsession/LXDE-pi
注意:这是一个根文件,将影响所有用户。
因为我之前发现发出 python 命令的时间问题,所以我调用一个脚本在 运行 我的 python 脚本之前暂停。
我在 /etc/xdg/lxsession/LXDE-pi/autostart
中添加了一个 @lxterminal
命令,如下所示:
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 选项在终端上放置一个可识别的名称 window。
有效。
顺便说一句,我通过本地局域网从 ETA PU15 锅炉收集数据。我从我的 British Gas Hive 家庭控制系统和英国气象局收集数据并将其集成到 sqlite table 中,以便我可以跟踪房屋性能。为什么?为什么不?称之为爱好。
我想这是我在这个论坛上的第一个回答。我希望它符合要求并能帮助到其他人。