【问题标题】:Supervisor command won't start Chromium主管命令不会启动 Chromium
【发布时间】:2016-05-04 15:40:35
【问题描述】:

编辑:显然脚本确实运行,但它只是没有启动我的浏览器。还是不知道为什么。

我正在尝试使用 supervisor 来运行命令/脚本,但我似乎无法让它工作。

我得到了 Pi_Video_looper 的想法,它对以下脚本执行相同的操作:

# Supervisord configuration to run video looper at boot and
# ensure it runs continuously.
[program:video_looper]
command=python -u -m Adafruit_Video_Looper.video_looper
autostart=true
autorestart=unexpected
startsecs=5

所以我将它修改为我的需要:

# Supervisord configuration to run video looper at boot and
# ensure it runs continuously.
[program:video_looper]
command=chromium-browser http://google.be --incognito
autostart=true
autorestart=unexpected
startsecs=5

我也将它与命令一起使用:

python /home/pi/Startup/Script.py

它会做一些测试然后调用浏览器,但也不做任何事情,尽管它可以从命令行完美运行。我错过了什么吗?

编辑:重启后不起作用,sudo service supervisor restart 后不起作用

编辑 2: 日志文件显示它应该正在运行,所以显然它只是没有在我的 GUI 中打开它?:

2016-01-27 16:40:43,569 INFO daemonizing the supervisord process
2016-01-27 16:40:43,573 INFO supervisord started with pid 4767
2016-01-27 16:40:44,583 INFO spawned: 'video_looper' with pid 4773
2016-01-27 16:40:49,593 INFO success: video_looper entered RUNNING state, process has stayed up for > than 5 seconds (startsecs)

【问题讨论】:

  • 你检查过它没有在后台运行吗?
  • 正如我的编辑中所述,它正在运行,铬在某处运行。我也一直在尝试使用 'display=:0 chromium-browser' 作为命令,效果很好,我可以通过 ssh 在 pi 上启动 chrome,但在放入 Supervisor 时不起作用。它正在运行,它有一个 pid,但我不知道实际的 chromium-window 在哪里..
  • 我明白了,但是ps aux | grep chromium 显示了什么?这不是 supervisord 的目的,您需要找到一种查看子流程的方法。 htop 会告诉你它在哪里。 Chrome 在关闭和启动时不需要启动,一个简单的脚本就可以解决问题。
  • 它确实需要在关闭时启动,因为它旨在作为信息亭运行。如前所述,该过程正在运行。但是,主要问题是它以 root 身份运行,这显然是不可能的。我在我的笔记本电脑上输入了解决方案,但是如果我将 user=pi 放入配置中,它就可以正常工作:-)
  • 好消息。很高兴你把事情解决了。在这种情况下,可能值得回答您自己的问题:)

标签: python supervisord startupscript


【解决方案1】:

下面的工作版本: 这里的主要问题是由于某些不明原因,无法以 root 身份运行 chromium

# Supervisord configuration to run chromium at boot and
# ensure it runs continuously.
[program:chromiumbrowser]
command=chromium-browser http://google.be --incognito
user=pi
autostart=true
autorestart=unexpected
startsecs=5

【讨论】:

  • 我在启动 chromedriver 和 selenium 服务器时遇到了同样的问题。以 root 以外的用户身份声明该进程解决了问题。
  • 这似乎不是 2021 年的解决方案,因为铬不断地使交互变得越来越难。
猜你喜欢
  • 1970-01-01
  • 2016-08-24
  • 2019-02-19
  • 2015-07-11
  • 2020-10-26
  • 2012-12-14
  • 2023-03-16
  • 1970-01-01
  • 2021-08-01
相关资源
最近更新 更多