Python Raspberry Pi自动启动程序

Python Raspberry Pi自动启动程序,python,linux,pygame,raspberry-pi,Python,Linux,Pygame,Raspberry Pi,所以我有一个python游戏(PyGame)在树莓皮上运行 我已经按照许多网站上的说明让Raspberry Pi自动登录(这些都可以),自动运行startx,但我一直坚持让我的程序在GUI加载后运行 许多人(在StackOverflow和其他地方)在这里指出了此演示: 我尝试了两种方法(将桌面文件放入autostart或将命令放入rc.local) 我已经打开了一个终端窗口,复制/粘贴了命令,以验证没有输入错误,代码将运行 sudo python/home/pi/valley.py 它将运行。

所以我有一个python游戏(PyGame)在树莓皮上运行

我已经按照许多网站上的说明让Raspberry Pi自动登录(这些都可以),自动运行startx,但我一直坚持让我的程序在GUI加载后运行

许多人(在StackOverflow和其他地方)在这里指出了此演示:

我尝试了两种方法(将桌面文件放入autostart或将命令放入rc.local)

我已经打开了一个终端窗口,复制/粘贴了命令,以验证没有输入错误,代码将运行

sudo python/home/pi/valley.py


它将运行。有没有办法查看日志以了解程序为什么不启动?有没有更好的方法来完成我想要完成的事情?

我有我的python脚本在启动时运行,这样做:

sudo nano /etc/xdg/lxsession/LXDE/autostart
这将允许您添加一个元素,以便在LXDE桌面会话开始时运行(如果通过raspi配置进行设置,则为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):

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


还可以在

上查看此答案。您可以通过两种方式实现此目的:

1) 。使用autostart


2) 。作为一个例子。

如果你用“startx”开始X,你也可以把你的游戏放在你的.xinitrc中。如果您的游戏二进制名为“游戏”,并且在您的路径中,只需执行以下操作:

 echo "game" >> ~/.xinitrc
这适用于其他命令。如果希望命令在后台继续运行,请添加“&”


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

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

首先,您需要使用以下命令编辑crontab: sudo crontab-e 在此之后,添加以下行: @重新启动脚本的python路径&(&应该在行的末尾,这意味着命令将在后台执行)


保存脚本并重新启动系统。当系统启动时,脚本将自动运行。

为什么要在
sudo
下运行?没有它能用吗?我运行sudo是因为幻灯片说明就是这样的。将尝试不使用。感谢您的详细回复。我一直在全速奔跑。当我今晚有机会尝试的时候,我会向你汇报。谢谢你的提示,但是它不起作用。当我这样做的时候,屏幕会变成空白,什么也不做。就像我说的,如果我输入@sudopython/home/pi/myGPIOScript.py,一切都会正常运行。没有错误,只是运行正常。但是如果我把它放在autostart中,屏幕就会引导到黑色。你确定脚本中没有任何错误吗?尝试使用最小脚本(导入RPi.GPIO包并打印消息(如board revision/version))。我想知道使用GPIO运行python脚本是否存在问题,或者脚本中是否存在敏感内容
 echo "game" >> ~/.xinitrc