【问题标题】:Run Google Assistant SDK on boot (Raspbian)在启动时运行 Google Assistant SDK (Raspbian)
【发布时间】:2020-10-04 20:50:10
【问题描述】:

我目前正在尝试让 cron 作业正常工作,以便 Google 助理在启动后自动启动。为此,我创建了这个在重启时执行的 cron 作业。

SHELL=/bin/sh PATH=/usr/bin:/bin:/home/pi/Desktop:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

@Reboot lxterminal -t "Google Assistant" -e /bin/bash /home/pi/Desktop/init.sh

lxterminal 将打开一个运行谷歌助手的窗口。 这是我完整的 cron 工作:

#!/bin/bash
            
SHELL=/bin/sh
PATH=/usr/bin:/bin:/home/pi/Desktop:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin     


source /home/pi/env/bin/activate
          
python3 /home/pi/assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc/pushtotalk.py

我已经尝试过类似问题的答案,甚至为 cron 指定了路径变量,但它仍然对我不起作用。脚本不是问题,当我手动执行它时,它运行良好。

【问题讨论】:

  • 尝试@reboot 而不是 crontab 常用的 MIN HOUR DOM MON DOW 格式
  • 是的,它只是用于测试 @reboot 也不起作用
  • 你的系统在运行 systemd 吗?
  • 它是标准的 raspbian,所以我认为不是
  • 我认为 systemd 是 rasbian 上的默认设置...输入 ls -la /sbin/init 以查看它是否链接到 systemd,或者只是 systemctl 状态。如果您使用的是 systemd,那么一切实际上可能会更容易 - 您只需创建一个服务文件来运行您的脚本(或让 systemd 完成所有操作)

标签: linux cron raspberry-pi google-assistant-sdk


【解决方案1】:

问题不在于 cron,尽管我决定改用 systemd 服务。 我不知道的是,Lxterminal 需要一个初始化的屏幕才能工作,并且由于脚本在启动时运行,它不是。 这是一个简单的修复。根据您的系统,在脚本的开头添加 30 秒或其他值的延迟,或者模拟已经使用 export DISPLAY=:1 初始化的显示蜂

【讨论】:

    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 2022-11-04
    • 2018-03-05
    相关资源
    最近更新 更多