当我想以 root 身份运行 google chrome 时,会出现一条标题如下的错误消息:
谷歌浏览器无法以 root 身份运行
消息正文是:
要以 root 身份运行,您必须指定备用 --user-data-dir 来存储配置文件信息。
谁能帮我?
答案1
要以 root 身份运行 google chrome,请按照下列步骤操作:
在您最喜欢的编辑器中打开
google-chrome
(替换$EDITOR
为您最喜欢的):$EDITOR $(which google-chrome)
添加到
--user-data-dir
文件的最后。我的文件如下所示:
exec -a "$0" "$HERE/chrome" "$PROFILE_DIRECTORY_FLAG" \ "$@" --user-data-dir
保存并关闭编辑器。
你完成了。好好享受 :)
如果你想看视频教程,可以查看我的博文:
答案2
现在,您无法在更新版本上以根用户身份运行 google-chrome,要以标准用户身份运行 Google Chrome(以根用户身份登录时)
打开终端并输入:
adduser -u chromeuser
或者useradd -m chromeuser
要运行谷歌浏览器,请使用命令:
gksu -u chromeuser google-chrome
或者sux chromeuser google-chrome
如果您不想从终端运行它,请在任务栏中添加 chrome,然后右键单击它,选择属性并在命令参数中添加上述命令。
答案3
对于那些可能仍在谷歌搜索 2016 年 12 月 - XFCE 和 Debian 8.5 下的 Google Chrome 版本 54.0.2840.90 64 位的人:
情况 1:Chrome 根本无法启动
在我的设置中,只需在终端中运行,google-chrome-stable
我就立即在终端中收到错误illegal instruction
。无帧、无屏幕消隐、无黑窗。只是一个粗鲁的控制台错误。使用--no-sandbox
命令行选项可以消除此错误。
情况 2:即使使用 --no-sandbox 选项,Chrome 仍然拒绝打开
这不是我的情况,因为 --no-sandbox 就足够了,但如果您遇到这种行为,您可以尝试在调用 chrome 时禁用所有功能,例如:
google-chrome-stable --disable-gpu --disable-extensions --disable-d3d11 --disable-local-storage --disable-notifications --disable-offne-pages --disable-plugin-power-saver --disable-plugins-discovery --disable-sync --disable-translate --disable-webgl --no-experiments --no-sandbox
然后您可以逐步启用选项,直到确定哪个选项损坏。
PS:可以找到所有 CLI 标志/参数这里。
情况 3:Please start Google Chrome as a normal user.To run as root you must specify an alternate --user-data-dir for storage of profile information
出现消息。
对我有用的解决方案:转到/opt/google/chrome
并打开文件google-chrome
,该文件实际上是一个 bash 脚本。
在脚本末尾找到该部分
if [[ -n "$CHROME_USER_DATA_DIR" ]]; then
# Note: exec -a below is a bashism.
exec -a "$0" "$HERE/chrome" \
--user-data-dir="$CHROME_USER_DATA_DIR" "$@"
else
exec -a "$0" "$HERE/chrome" "$@"
fi
并像这样更改 else 部分:
else
#exec -a "$0" "$HERE/chrome" "$@"
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME"
fi
保存,然后运行google-chrome-stable --no-sandbox
。
我起身去冲浪。
对于更复杂的解决方案,我个人应用了一种用户检查,以避免以普通用户身份运行 chrome 时可能出现的干扰:
else
if [ "$USER" = "root" ] || [ "$LOGNAME" = "root" ];then
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME"
else
exec -a "$0" "$HERE/chrome" "$@"
fi
另一个解决方法:
您无法按照上面的说明修改 google-chrome 文件,您可以按照 @tzafar 的建议创建新用户或使用现有的普通用户帐户启动 chrome :(gksu -u user google-chrome-stable
这有效,但在终端)。