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,當您準備好在啟動時再次啟動時,將名稱設置回來。
去喝一杯吧,你賺到了。
另外,您顯然可以將這些位置放置在桌面以外的位置,但請確保您始終在這些命令中使用完整路徑,不要使用“~/..”快捷方式。
添加回答
舉報