Графический интерфейс Tkinter не открывается из crontabPython

Программы на Python
Anonymous
Графический интерфейс Tkinter не открывается из crontab

Сообщение Anonymous »

У меня Raspberry Pi 4 модели B, и я пытаюсь запустить очень простой графический интерфейс tkinter при перезагрузке
#!/home/pi/miniforge3/envs/myenv/bin/python

import tkinter as tk

def tk_gui():
root = tk.Tk()
root.geometry("200x200")
label = tk.Label(root, text="Hello")
label.pack(pady=20)
root.mainloop()

if __name__ == "__main__":
tk_gui()

Я сохранил вышеизложенное в файле с именем tk_basic.py, а также изменил разрешения chmod + x tk_basic.py. Когда я вызываю его вручную, графический интерфейс работает.
Я хочу отредактировать свой crontab, чтобы графический интерфейс открывался при перезагрузке.
@reboot XAUTHORITY=/home/pi/.Xauthority DISPLAY=:0 /home/pi/path/to/folder/tk_basic.py

но у меня это не работает. Мой DISPLAY выглядит как 0, так как команда ps aux | grep "Xorg|PID" возвращает
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
pi 2047 0.0 0.0 6088 1920 pts/0 S+ 13:01 0:00 grep -E --color=auto Xorg|PID

Даже когда я меняю cron на вызов исполняемого файла Python следующим образом:
@reboot XAUTHORITY=/home/pi/.Xauthority DISPLAY=:0 /home/pi/miniforge3/envs/myenv/bin/python /home/pi/path/to/folder/tk_basic.py

или даже
@reboot /home/pi/miniforge3/envs/myenv/bin/python /home/pi/path/to/folder/tk_basic.py

ничего не меняет, графический интерфейс не отображается. Я знаю, что есть подобные посты, подобные тем или иным, но я не смог заставить их работать. Есть идеи, чего мне не хватает?
Подводя итог, мой crontab выглядит так: (ни один из них не работает). Я даже попробовал DISPLAY=:1, но безрезультатно. Другие задачи в crontab ниже этих строк вызываются успешно.
@reboot XAUTHORITY=/home/pi/.Xauthority DISPLAY=:0 /home/pi/miniforge3/envs/myenv/bin/python /home/pi/path/to/folder/tk_basic.py
@reboot XAUTHORITY=/home/pi/.Xauthority DISPLAY=:0 /home/pi/path/to/folder/tk_basic.py
@reboot /home/pi/miniforge3/envs/myenv/bin/python /home/pi/dev/path/to/folder/tk_basic.py
@reboot /home/pi/path/to/folder/tk_basic.py


Подробнее здесь: https://stackoverflow.com/questions/786 ... om-crontab

Вернуться в «Python»