通过 plink 在树莓派上启动 Python 脚本(不响应 crontab)
Starting a Python script on a raspberry via plink (not responding crontab)
我写了一个 script.py
,它打开一个 tk window 并在 window 包含的 canvas 中用乌龟绘制。我想通过 plink 使用以下命令启动此脚本:
plink.exe -pw raspberry pi@pi-fisch00 python /home/pi/script.py
但我总是收到错误消息:
script.py line 32, in <module> root = Tk()
no display name and no $DISPLAY environment variable
我认为同样的错误导致 crontab 没有执行 script.py
。
我在 crontab 中的条目:
*/1 * * * * python /home/pi/script.py
语法应该是正确的,因为其他脚本正在运行,如果我手动将 python /home/pi/script.py
放入 cmd 中,一切都很好。 script.py
被执行。我该如何解决这个问题并让 crontab 执行 script.py
?为什么我不能通过 plink 执行 script.py
?
查看您收到的错误消息:
no display name and no $DISPLAY environment variable
您正在尝试 运行 需要 X11 显示的东西,这在 cron 的上下文中是不可用的(而且可能也不能通过 plink,除非您是 运行ning本地 X11 显示服务器 和 已启用 X11 转发)。
通常,如果您需要访问显示器,您需要从现有桌面会话中运行。有办法解决这个问题;有关该主题的一些想法,请参阅:
我写了一个 script.py
,它打开一个 tk window 并在 window 包含的 canvas 中用乌龟绘制。我想通过 plink 使用以下命令启动此脚本:
plink.exe -pw raspberry pi@pi-fisch00 python /home/pi/script.py
但我总是收到错误消息:
script.py line 32, in <module> root = Tk()
no display name and no $DISPLAY environment variable
我认为同样的错误导致 crontab 没有执行 script.py
。
我在 crontab 中的条目:
*/1 * * * * python /home/pi/script.py
语法应该是正确的,因为其他脚本正在运行,如果我手动将 python /home/pi/script.py
放入 cmd 中,一切都很好。 script.py
被执行。我该如何解决这个问题并让 crontab 执行 script.py
?为什么我不能通过 plink 执行 script.py
?
查看您收到的错误消息:
no display name and no $DISPLAY environment variable
您正在尝试 运行 需要 X11 显示的东西,这在 cron 的上下文中是不可用的(而且可能也不能通过 plink,除非您是 运行ning本地 X11 显示服务器 和 已启用 X11 转发)。
通常,如果您需要访问显示器,您需要从现有桌面会话中运行。有办法解决这个问题;有关该主题的一些想法,请参阅: