亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

DietPI:_tkinter.TclError:沒有顯示名稱,也沒有 $DISPLAY 環境變量

DietPI:_tkinter.TclError:沒有顯示名稱,也沒有 $DISPLAY 環境變量

森欄 2023-11-09 22:26:54
我想在 DietPI 上運行 python 腳本。我選擇 DietPI 因為我想快速啟動。當我運行一個簡單的 tkinter 程序時,我收到錯誤 _tkinter.TclError: no display name and no $DISPLAY environment variable 我已經嘗試設置顯示變量,如下所示:(export DISPLAY=:0  我也嘗試了其他數字)但后來我明白了_tkinter.TclError: couldn't connect to display ":0.0"有什么幫助嗎?
查看完整描述

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,當您準備好在啟動時再次啟動時,將名稱設置回來。


去喝一杯吧,你賺到了。


另外,您顯然可以將這些位置放置在桌面以外的位置,但請確保您始終在這些命令中使用完整路徑,不要使用“~/..”快捷方式。


查看完整回答
反對 回復 2023-11-09
  • 1 回答
  • 0 關注
  • 297 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號