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

树莓派OS(Raspbian 10)使用at命令执行pyautogui脚本无响应如何解决

问题原因
  • 相对路径无法找到脚本:at命令执行后台任务时不会保留你提交任务时的工作目录,直接写./test1.sh无法定位到/home/pi路径下的脚本文件。
  • DISPLAY缺失报错:pyautogui是GUI操作库,依赖X11图形服务的DISPLAY环境变量识别要操作的图形会话。at属于系统后台调度服务,执行任务时不会继承当前用户登录的桌面会话环境变量,因此找不到DISPLAY参数触发报错。
解决方法
  1. 先在桌面打开终端,执行命令确认你的图形会话DISPLAY值,树莓派默认桌面输出通常为:0
echo $DISPLAY
  1. 提交at任务时手动指定DISPLAY变量,且使用脚本的绝对路径,示例如下:
echo "DISPLAY=:0 /home/pi/test1.sh" | at 11:50
  1. 也可以直接把DISPLAY配置写入脚本开头,后续提交任务无需额外加参数,修改后的/home/pi/test1.sh内容如下:
#!/usr/bin/python3
import os
# 替换为上一步你查到的DISPLAY实际值
os.environ['DISPLAY'] = ':0'
import pyautogui
pyautogui.click(67, 20) #click Chromium icon

注意事项

如果修改后仍然报错权限不足,可在桌面终端执行一次如下命令,允许本地pi用户访问X11图形服务:

xhost +local:pi

如果确认at任务没有执行,可检查atd服务运行状态:

sudo systemctl status atd
# 若未启动则执行如下命令开启并设置开机自启
sudo systemctl enable --now atd

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:24:01