运行 Chrome 无头模式
running Chrome in headless mode
在无头模式运行chrome,我做到了
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\
Chrome"
chrome --remote-debugging-port=9222 --disable-gpu --headless
在控制台中,但是,我得到了这个错误,
[0305/140111.481537:ERROR:xattr.cc(64)] setxattr
org.chromium.crashpad.database.initialized on file
/var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not
permitted (1) [0305/140111.484254:ERROR:xattr.cc(64)] setxattr
org.chromium.crashpad.database.initialized on file
/var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not
permitted (1) [0305/140111.484254:INFO:crashpad_client_mac.cc(292)]
restarting handler in 0.983s
[0305/140111.513641:ERROR:gpu_process_transport_factory.cc(1009)] Lost
UI shared context. [0305/140111.513709:ERROR:instance.cc(49)] Unable
to locate service manifest for metrics
[0305/140111.513733:ERROR:service_manager.cc(890)] Failed to resolve
service name: metrics [0305/140111.514229:ERROR:socket_posix.cc(142)]
bind() returned an error, errno=48: Address already in use (48)
DevTools listening on
ws://[::1]:9222/devtools/browser/c46563ca-1891-48bd-bdd6-e6122f3f3b5d
[0305/140112.484141:ERROR:xattr.cc(64)] setxattr
org.chromium.crashpad.database.initialized on file
/var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not
permitted (1) [0305/140112.484641:INFO:crashpad_client_mac.cc(292)]
restarting handler in 0.985s [0305/140113.489618:ERROR:xattr.cc(64)]
setxattr org.chromium.crashpad.database.initialized on file
/var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not
permitted (1) [0305/140113.490274:INFO:crashpad_client_mac.cc(292)]
restarting handler in 0.979s [0305/140114.484881:ERROR:xattr.cc(64)]
setxattr org.chromium.crashpad.database.initialized on file
/var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not
permitted (1) [0305/140114.485349:INFO:crashpad_client_mac.cc(292)]
restarting handler in 0.985s [0305/140115.489188:ERROR:xattr.cc(64)]
setxattr org.chromium.crashpad.database.initialized on file
/var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not
permitted (1) [0305/140115.489638:INFO:crashpad_client_mac.cc(292)]
restarting handler in 0.985s
我也试过了,
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
--remote-debugging-port=9222 --disable-gpu --headless
但我遇到了同样的错误。
有解决办法吗?
更新 3/6
我在自己的 Mac 书中检查了解决方案并且有效。
今天遇到同样的问题,查了一些资料,怀疑是MacOS中的SIP(System Integrity Protection) feature,有那个限制,不能修改/var
文件夹下的文件,即使你有 root 权限。
所以 here 是禁用该功能的方法:
- 关闭您的 Mac(Apple > 关机)。
- 按住 Command-R 并按下电源按钮。一直按住 Command-R 直到出现 Apple 标志。
- 等待 OS X 启动进入 OS X 实用程序 window。
- 选择实用程序 > 终端。
- 输入 csrutil 禁用。
- 输入重启。
我从Chrome crashpad crashes on xattr
那里得到了答案
只需在启动 Chrome 时为 "crash dumps" 提供不同的目录,如下所示:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --disable-gpu --headless --crash-dumps-dir=/tmp
添加以下命令标志
--disk-cache-dir=/tmp --user-data-dir=/tmp --crash-dumps-dir=/tmp
例如
chrome --headless --disable-gpu --screenshot --disk-cache-dir=/tmp --user-data-dir=/tmp --crash-dumps-dir=/tmp http://m.baidu.com
有关更多命令行标志,请参阅here
在无头模式运行chrome,我做到了
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"
chrome --remote-debugging-port=9222 --disable-gpu --headless
在控制台中,但是,我得到了这个错误,
[0305/140111.481537:ERROR:xattr.cc(64)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not permitted (1) [0305/140111.484254:ERROR:xattr.cc(64)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not permitted (1) [0305/140111.484254:INFO:crashpad_client_mac.cc(292)] restarting handler in 0.983s [0305/140111.513641:ERROR:gpu_process_transport_factory.cc(1009)] Lost UI shared context. [0305/140111.513709:ERROR:instance.cc(49)] Unable to locate service manifest for metrics [0305/140111.513733:ERROR:service_manager.cc(890)] Failed to resolve service name: metrics [0305/140111.514229:ERROR:socket_posix.cc(142)] bind() returned an error, errno=48: Address already in use (48)
DevTools listening on ws://[::1]:9222/devtools/browser/c46563ca-1891-48bd-bdd6-e6122f3f3b5d [0305/140112.484141:ERROR:xattr.cc(64)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not permitted (1) [0305/140112.484641:INFO:crashpad_client_mac.cc(292)] restarting handler in 0.985s [0305/140113.489618:ERROR:xattr.cc(64)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not permitted (1) [0305/140113.490274:INFO:crashpad_client_mac.cc(292)] restarting handler in 0.979s [0305/140114.484881:ERROR:xattr.cc(64)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not permitted (1) [0305/140114.485349:INFO:crashpad_client_mac.cc(292)] restarting handler in 0.985s [0305/140115.489188:ERROR:xattr.cc(64)] setxattr org.chromium.crashpad.database.initialized on file /var/folders/m3/92mmh21n0cx4ppf8c3bcns38hd4_kk/T/: Operation not permitted (1) [0305/140115.489638:INFO:crashpad_client_mac.cc(292)] restarting handler in 0.985s
我也试过了,
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --disable-gpu --headless
但我遇到了同样的错误。
有解决办法吗?
更新 3/6
我在自己的 Mac 书中检查了解决方案并且有效。
今天遇到同样的问题,查了一些资料,怀疑是MacOS中的SIP(System Integrity Protection) feature,有那个限制,不能修改/var
文件夹下的文件,即使你有 root 权限。
所以 here 是禁用该功能的方法:
- 关闭您的 Mac(Apple > 关机)。
- 按住 Command-R 并按下电源按钮。一直按住 Command-R 直到出现 Apple 标志。
- 等待 OS X 启动进入 OS X 实用程序 window。
- 选择实用程序 > 终端。
- 输入 csrutil 禁用。
- 输入重启。
我从Chrome crashpad crashes on xattr
那里得到了答案只需在启动 Chrome 时为 "crash dumps" 提供不同的目录,如下所示:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --disable-gpu --headless --crash-dumps-dir=/tmp
添加以下命令标志
--disk-cache-dir=/tmp --user-data-dir=/tmp --crash-dumps-dir=/tmp
例如
chrome --headless --disable-gpu --screenshot --disk-cache-dir=/tmp --user-data-dir=/tmp --crash-dumps-dir=/tmp http://m.baidu.com
有关更多命令行标志,请参阅here