所以我在树莓派上运行了一个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
它会运行。有没有办法查看日志以找出程序未启动的原因?有没有更好的方法来完成我想要完成的任务?
答案 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)
答案 3 :(得分:0)
如果您使用“startx”启动X,您也可以将游戏粘贴到.xinitrc中。如果您的游戏二进制文件被称为“游戏”并且在您的路径中,请执行以下操作:
echo "game" >> ~/.xinitrc
这适用于其他命令。添加“&”如果你想让命令继续在后台运行。
这就是我启动窗口管理器,加载壁纸,启动合成器等的方法。它很简单,以后很容易更改,并且可以在终端提示符下执行任何操作。
答案 4 :(得分:0)
您可以使用crontab在启动raspberry时自动运行脚本。 Crontab是列出所有要在预定时间执行的命令的表。
首先,您需要使用以下命令编辑crontab: sudo crontab -e 然后,添加以下行: @reboot python path-of-your-script& (&应位于行尾,表示命令将在后台执行)。
保存脚本并重启系统。系统启动后,您的脚本将自动运行。