You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用at命令无法执行Python脚本的问题求助

解决at命令运行带tkinter的Python脚本失败问题

核心原因

你的Python脚本依赖tkinter创建GUI窗口,但at命令默认在无桌面的非交互式会话中执行任务,此时没有设置DISPLAY环境变量,tkinter无法初始化图形显示环境,导致脚本看似被触发但实际无法正常运行GUI界面。

解决方法

方法1:指定DISPLAY环境变量

修改你的an.sh脚本,添加DISPLAY变量声明(桌面环境的DISPLAY通常为:0):

export DISPLAY=:0
python3 AandT/A_notifier.py ABC

同时确保脚本有执行权限:

chmod +x an.sh

方法2:添加日志排查问题

在脚本中加入日志输出,方便定位错误:

export DISPLAY=:0
python3 AandT/A_notifier.py ABC >> /tmp/at_task.log 2>&1

任务执行后查看日志文件/tmp/at_task.log,能看到具体的报错信息(比如权限问题、路径问题)。

方法3:替换为非交互式输出(如果不需要GUI)

如果只是需要确认任务执行,不需要弹出窗口,可以修改Python脚本为文件输出:

# A_notifier.py
with open("/tmp/notification_result.txt", "w") as f:
    f.write("任务执行成功:Hello World\n")

额外注意事项

  • 确保atd服务正常运行:
systemctl status atd
  • 不要用sudo执行at任务,避免权限和环境变量不匹配;用当前用户身份提交任务即可。

内容的提问来源于stack exchange,提问作者effectimminent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 13:22:43