Raspberry Pi Auto启动程序

时间:2014-03-12 13:32:08

标签: python linux pygame raspberry-pi

所以我在树莓派上运行了一个python游戏(PyGame)。

我已按照许多网站上的说明进行Raspberry Pi自动登录(全部工作),自动运行startx,但是一旦GUI加载,我就停止让我的程序运行。

很多人(这里是StackOverflow和其他地方)在这里指出这个演示文稿:

http://www.slideshare.net/SeggySegaran/raspberry-pi-autostarting-a-python-program

我尝试了两种方法(将桌面文件放入自动启动或将命令放在rc.local中

我已打开终端窗口并复制/粘贴命令以验证没有拼写错误且代码将运行......

sudo python /home/pi/valley.py

它会运行。有没有办法查看日志以找出程序未启动的原因?有没有更好的方法来完成我想要完成的任务?

5 个答案:

答案 0 :(得分:1)

我在启动时运行了我的python脚本:

sudo nano /etc/xdg/lxsession/LXDE/autostart

这将允许您添加一个元素,以便在LXDE桌面会话开始时运行(如果使用raspi-config进行设置,则使用raspian默认GUI)

它可能包含以下条目:

@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xscreensaver -no-splash

这只是在那里添加你的脚本的问题

@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xscreensaver -no-splash
@python /home/pi/yourAwesomePyScriptHere.py

如果你的python脚本使用GPIO,你需要以root身份运行它(使用sudo):

@sudo python /home/pi/yourGPIOScript.py

有一件事我想指出:总是先测试你的脚本。 我的意思是,用绝对路径运行,确保它仍然有效,尝试打破它,确保它尽可能健壮。如果您的脚本中存在错误并且您在启动时将其放置在终端窗口中,那么您将无法看到这些错误,但是您将在启动时将python卡在循环中来占用cpu。

同时在RPi exchange

上查看此答案

答案 1 :(得分:0)

创建程序的快捷方式/桌面快捷方式,然后运行:

sudo cp / home / pi / location-of-shortcut /etc/init.d /

我认为就是这样,脱离了我的头脑。如果有人可以验证。嗯,我认为就是这样,因为那是我如何让我的闪屏工作!

答案 2 :(得分:0)

您可以通过两种方式实现这一目标:

1)。使用LXDE自动启动。

2)。作为service via init.d

答案 3 :(得分:0)

如果您使用“startx”启动X,您也可以将游戏粘贴到.xinitrc中。如果您的游戏二进制文件被称为“游戏”并且在您的路径中,请执行以下操作:

 echo "game" >> ~/.xinitrc

这适用于其他命令。添加“&”如果你想让命令继续在后台运行。

这就是我启动窗口管理器,加载壁纸,启动合成器等的方法。它很简单,以后很容易更改,并且可以在终端提示符下执行任何操作。

答案 4 :(得分:0)

您可以使用crontab在启动raspberry时自动运行脚本。 Crontab是列出所有要在预定时间执行的命令的表。

首先,您需要使用以下命令编辑crontab: sudo crontab -e 然后,添加以下行: @reboot python path-of-your-script& (&应位于行尾,表示命令将在后台执行)。

保存脚本并重启系统。系统启动后,您的脚本将自动运行。