1 回答
TA贡献1829条经验 获得超6个赞
注意:这适用于 raspbian,主用户帐户使用默认用户名(“pi”)
以下是按顺序排列的步骤:
命名您的 python 文件main.py
并将 python 文件拖到桌面。
接下来,创建一个新的纯文本文件并添加以下内容:
#!/bin/bash python3 /home/pi/Desktop/main.py
将此文本文件保存launch.command
在桌面上。这是启动 python 文件的 shell 脚本。默认情况下它不起作用,我们必须对其进行 chmod(下一步)
运行终端并运行以下命令:
chmod u+x /home/pi/Desktop/launch.command
现在双击 launch.command (并选择execute
)将启动您的 python 文件。
此时,我们已准备好让它在启动时启动。如果您在此之前进行过任何其他启动尝试,请撤消您所做的所有文件更改。
打开终端并运行以下命令:
sudo nano /etc/systemd/system/myproject.service
我们暂时将其命名为 myproject,在它正常工作之前不要更改任何内容,然后随意尝试重命名
在弹出的窗口中,准确复制粘贴以下内容:
[Unit]
Description=Start Myproject
After=graphical.target
Wants=graphical.target
[Service]
User=pi
Group=pi
ExecStart=/bin/bash -c "export DISPLAY=:0; export XAUTHORITY=/home/pi/.Xauthority; /home/pi/Desktop/launch.command"
[Install]
WantedBy=graphical.target
现在按 ctrl+x 退出并保存,它会提示您保存更改,输入“y”,文件名应该已经输入为 .../myproject.service,如果是则按 Enter 键并保存并退出,如果文件名为空,则表示搞砸了(有时会发生这种情况),退出终端并重试所有这些,抱歉。
现在在终端中输入:
sudo systemctl daemon-reload
然后
sudo systemctl enable myproject.service
最后
sudo reboot
启动时,在显示任何其他内容之前(当然是在启动启动画面显示之后,但在桌面显示之前),您的 GUI 现在将启动,恭喜!
我建议你全屏启动它,编辑你的 python 文件来使用它:
root.attributes('-fullscreen', True)
注意,“root”可能不是您所说的 TK() init.... 在代码末尾,您有类似的内容XXXX.mainloop(),将“root”更改为 XXXX 是什么,将其粘贴在您的 init 之后TK()
重新启动后,您可能会卡在应用程序中(特别是如果您全屏启动它),像 alt+f4 或 alt+f11 这样的东西不会杀死您的程序。要退出,请按键盘上的窗口/菜单按钮,访问面板将出现,您可以转到附件>终端以启动新的终端窗口,然后运行以下命令:
sudo systemctl stop myproject.service
该程序将被杀死,您将回到标准桌面......
现在,为了防止它在启动时再次启动,只需将launch.command文件重命名为DISABLED_launch.command,当您准备好在启动时再次启动时,将名称设置回来。
去喝一杯吧,你赚到了。
另外,您显然可以将这些位置放置在桌面以外的位置,但请确保您始终在这些命令中使用完整路径,不要使用“~/..”快捷方式。
添加回答
举报