【问题标题】:Launching an external GUI application from Python via crontab通过 crontab 从 Python 启动外部 GUI 应用程序
【发布时间】:2021-08-13 18:52:04
【问题描述】:

下午好!

我需要在 Raspbian 中使用电报机器人 (Python) 运行 GUI 应用程序。运行应用程序的工作方式如下:

p = Popen (["/home/pi/Downloads/reaper_linux_armv7l/REAPER/reaper"], stdout = PIPE, stderr = STDOUT)

有一个问题。如果机器人是在系统启动时从 crontab (@reboot) 启动的, 然后外部应用程序在后台运行。它在后台工作,但我无法通过 realVNC 看到它的界面。

如果机器人是手动启动的(没有 crontab),那么一切都很好,在这种情况下,我可以看到正在启动的应用程序的界面。

您能否告诉我通过 crontab 启动 Python 机器人如何影响应用程序是否在后台启动,以及如何控制?

【问题讨论】:

  • Crontab 旨在让程序在后台运行。如果你使用GUI,那么你将可以访问终端,那么crontab需要什么?
  • Crontab 用于在系统启动时自动启动 Python 电报机器人。 Bot 执行多项任务。其中一项任务是在需要时启动 GUI 应用程序。由于以下建议,无论如何问题都可以通过在 crontab 中使用 DISPLAY=:0 来解决。

标签: python shell cron raspbian


【解决方案1】:

Cron 在特定环境中运行,无需显示管理器。如果您尝试执行 echo $DISPLAY,则返回 null。 您需要在命令中设置 DISPLAY,如下所示:

* * * * * DISPLAY=:0 <YOUR-COMMAND>

如果你的显示不是0,你可以在X server中找到ps aux | grep Xorg

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    相关资源
    最近更新 更多