首页 > 解决方案 > NaCl 帮助程序在 Linux 中通过 Selenium 使用 Chrome 运行而没有沙盒错误

问题描述

我在 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!

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

标签: linuxseleniumgoogle-chromeubuntusandbox

解决方案


This error message...

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

...implies that the setuid of the sandbox in your system is not configured, hence the program was unable to initiate/spawn a new Browsing Context i.e. Chrome Browser session.


Solution

A quick solution will be, if you want to run Chrome and only use the namespace sandbox, you can set the flag:

--disable-setuid-sandbox

This flag will disable the setuid sandbox (Linux only). But if you do so on a host without appropriate kernel support for the namespace sandbox, Chrome will not spin up. As an alternative you can also use the flag:

--no-sandbox

This flag will disable the sandbox for all process types that are normally sandboxed.

Example:

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

推荐阅读