linux - 在 Linux 中使用 Chrome 通过 Selenium 运行 NaCl 辅助进程,不会出现沙箱错误

标签 linux selenium google-chrome ubuntu sandbox

我在 Linux 中通过 Selenium 使用 Chrome 时遇到以下错误:

ERROR:browser_main_loop.cc(1512)] Unable to open X display.
ERROR:nacl_helper_linux.cc(308)] NaCl helper process running without a sandbox!

您对以下错误有解决方案吗?

最佳答案

此错误消息...

ERROR:nacl_helper_linux.cc(308)] NaCl helper process running without a sandbox!

...意味着您系统中的沙箱setuid未配置,因此程序无法启动/生成新的浏览上下文,即Chrome浏览器 session 。

<小时/>

解决方案

一个快速的解决方案是,如果您想运行 Chrome 并且仅使用 namespace 沙箱,您可以设置标志:

--disable-setuid-sandbox

此标志将禁用 setuid 沙箱(仅限 Linux)。但如果您在没有适当内核支持命名空间沙箱的主机上执行此操作,Chrome 将无法启动。作为替代方案,您还可以使用该标志:

--no-sandbox

此标志将为所有通常沙箱的进程类型禁用沙箱。

示例:

chromeOptions: {
      args: ['--disable-setuid-sandbox', '--no-sandbox']
},

关于linux - 在 Linux 中使用 Chrome 通过 Selenium 运行 NaCl 辅助进程,不会出现沙箱错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60544974/

相关文章:

jquery - Chrome 忽略 select2 的自动完成 ="off"

linux - 两个不同版本的安装库

Php 错误 : failed to open stream: Permission denied in CentOS 7. 1.1503(核心)

java - 如何使用具有相同属性的 Selenium 查找多个不同的 Webelement?

ruby - 使用 selenium 上传文件 ruby

css - 关于不包含 class 或 id 属性的 css 选择器的 selenium 测试

javascript - chrome 示例扩展不起作用

linux - 如何从(bash)脚本以跨平台方式获取/设置修改时间?

使用 grep 匹配冒号和斜线中的 IP 地址的正则表达式

google-chrome - Webview 未在我的 chrome 扩展中打开