Chromium退出代码 -5

在运行Chromium时,用

Chromium-browser -display=:0 https://www.picockpit.com

将允许你从SSH连接中启动Chromium(并且它将输出到X服务器的主显示屏上),这将 失败 当你试图用Python中的subprocess.Popen来运行它时,就会出现问题。

"命令"。["chromium-browser", "-display=:0", "https://picockpit.com"]

(这是我为PiControl指定的JSON格式的一部分--主要的想法是,这个数组被传入subprocess.Popen)。

运行命令的实际调用是。

proc = subprocess.Popen(
     cmd。
     stdout=subprocess.PIPE。
     stderr=subprocess.PIPE。
     preexec_fn=demote(user, uid, gid)
)

Chromium会立即退出,并出现 错误状态代码为-5.(是的,用户和组被设置为pi,用户的附加组成员资格也被设置)。

2020年5月28日更新

当picockpit-client作为一个服务被执行时,Chromium似乎会运行。如果我通过手动启动picockpit-client来测试它(从SSH连接),Chromium退出时的代码是-5。

因此,这也将发挥作用。

Chromium-browser -display=:0 -kiosk https://picockpit.com

形象

因此,我没有办法解决Chrome浏览器以"-5 "退出的问题--但由于它在PiCockpit的正常操作模式下没有出现,所以暂时不值得继续研究。

请不要理会下面的信息,我在这里留下的信息仅供参考。

旧资料

我没有找到关于Chromium退出代码的文档。 然而,我已经想出了一个修复方法 这个 特定问题 (也应该有助于你调试其他退出代码)(28.5.更新:这不是对这个特定问题的修复,而且不幸的是,Breakpad在 "正常 "构建中被禁用,这使得调试更加困难。) .

"命令"。["chromium-browser", "-display=:0", "-enable-logging=stderr", "-kiosk", https://picockpit.com]

(-kiosk部分是可选的--它将在kiosk模式下启动Chromium,即没有URL栏,全屏,以避免用户在面向公众的交互式亭子上 "逃出 "你的应用程序)。

形象

PiControl(用于picockpit.com)的完整命令定义看起来是这样的。

形象

它包含在特定π上的一个JSON文件中。这样,你就可以通过简单地编辑一个JSON文件,为Raspberry Pi定义许多不同的命令(这些命令将显示为web界面中的按钮)。

我们为Raspberry Pi平台提供咨询(硬件和软件开发,商业概念),以及所有关于Raspberry Pi的事情 请今天就与我们取得联系。