如何以 root 身份运行 Google Chrome? [关闭]
Posted
技术标签:
【中文标题】如何以 root 身份运行 Google Chrome? [关闭]【英文标题】:How do I run Google Chrome as root? [closed] 【发布时间】:2012-08-28 19:04:06 【问题描述】:我在 Ubuntu 10.10 中安装了 Google Chrome。当我尝试在普通用户中使用时,它工作正常。
现在,如果我想以 root 身份使用,则会出现以下错误:
谷歌浏览器不以 root 身份运行
另外,当我在终端中尝试以下命令时,它会打开 Google Chrome:
google-chrome --user-data-dir
我需要一个永久的解决方案。谁能给我一些想法?
【问题讨论】:
只需在此处添加我的 2 美分:过度设计的废话。以 root 身份运行程序到底怎么这么难? 【参考方案1】:I tried this with Kali linux, Debian, CentOs 7,And Ubuntu
(永久方法)
使用任何文本编辑器编辑文件(我使用的是 Leafpad)在您的终端上运行此代码leafpad/opt/google/chrome/google-chrome
(通常是结束行)找到exec -a "$0" "$HERE/chrome" "$@"
或exec -a "$0" "$HERE/chrome" "$PROFILE_DIRECTORY_FLAG" \ "$@"
exec -a "$0" "$HERE/chrome" "$@" --no-sandbox --user-data-dir
(只是简单的方法)
在终端中运行此命令
$ google-chrome --no-sandbox --user-data-dir
或者
$ google-chrome-stable --no-sandbox --user-data-dir
【讨论】:
【参考方案2】:第一个解决方案:
1.关闭Xorg访问控制:xhost +
2. 现在以普通用户“匿名”启动谷歌浏览器:sudo -i -u anonymous /opt/google/chrome/chrome
3.浏览完毕,重新开启Xorg访问控制:xhost -
更多信息:Howto run google-chrome as root
第二种解决方案:
1.编辑文件/opt/google/chrome/google-chrome
2. 找到exec -a "$0" "$HERE/chrome" "$@"
或 exec -a "$0" "$HERE/chrome" "$PROFILE_DIRECTORY_FLAG" \ "$@"
3.改成exec -a "$0" "$HERE/chrome" "$@" --user-data-dir ”/root/.config/google-chrome”
第三种解决方案:Run Google Chrome Browser as Root on Ubuntu Linux systems
【讨论】:
这不是永久的解决方案 当我这样做时它不允许我使用 /opt/google/chrome/google-chrome 它说 google chrome 不能以 root 身份运行 @Rashmi 抱歉,不要打开文件,编辑文件。 +1:第二个解决方案对我来说很有魅力 刚刚在 Ubuntu 12.04 (fluxbox) 上从 Chrome 21 升级到 48。第二个解决方案不再有效——只打印Aborted
。第一个解决方案有效。 gksu -wu chrome-user google-chrome
在不禁用 X 服务器访问控制的情况下完成它。【参考方案3】:
第一步:cd /opt/google/chrome
第 2 步:编辑 google-chrome 文件。 gedit google-chrome
第三步:找到这一行:exec -a "$0" "$HERE/chrome" "$@"
。
这一行通常位于 google-chrome 文件的末尾。
像这样评论它:#exec -a "$0" "$HERE/chrome" "$@"
STEP 4:在同一位置添加一个新行。
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir
第 5 步:保存 google-chrome 文件并退出。然后你可以使用 chrome 作为 root 用户。好好享受!
【讨论】:
【参考方案4】:只需替换以下行
exec -a "$0" "$HERE/chrome" "$@"
与
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir
一切都会好起来的。
【讨论】:
【参考方案5】:从终端运行
# google-chrome --no-sandbox --user-data-dir
或
打开文件 opt/google/chrome/google-chrome 并替换
exec -a "$0" "$HERE/chrome" "$@"
到
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox
它适用于 CentOS 6 中的 chrome 版本 49。Chrome 也会发出警告。
【讨论】:
【参考方案6】:用--user-data-dir=/root/.config/google-chrome
启动 Chrome 已经不够用了。它只是打印Aborted
并结束(Ubuntu 12.04 上的 Chrome 48)。
您实际上需要以非 root 用户身份运行它。你可以这样做
gksu -wu chrome-user google-chrome
chrome-user
是您认为应该运行 Chrome 的某个用户。您的 Chrome 用户个人资料位于 ~chrome-user/.config/google-chrome
。
顺便说一句,在 chrome
二进制文件中将所有出现的 geteuid
更改为 getppid
的旧技巧不再有效。
【讨论】:
【参考方案7】:转到/opt/google/chrome
。
打开google-chrome
。
为数据目录附加当前主目录。替换这个:
exec -a "$0" "$HERE/chrome" "$@"
有了这个:
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir $HOME
如需参考,请访问本网站,“How to run chrome as root user in Ubuntu。”
【讨论】:
没有提及。你能把它标记为正确答案吗? 它也适用于 Ubuntu 15.04。谢谢 @ashishdhiman2007 你能把它标记为正确答案吗? 适用于 ubuntu 16.04 !!! @JimitShah 太好了。你能把答案标记为正确吗【参考方案8】:我遵循了这些步骤
Step 1. Open /etc/chromium/default file with editor
Step 2. Replace or add this line
CHROMIUM_FLAGS="--password-store=detect --user-data-dir=/root/chrome-profile/"
Step 3. Save it..
就是这样……启动浏览器……
【讨论】:
+1 它适用于铬。但问题是针对 google-chrome。【参考方案9】:Chrome 可以以 root 身份运行(记得使用gksu
),只要你提供一个配置文件目录。
与其每次运行时都输入配置文件目录,不如创建一个新的 bash 文件(我将其命名为 start-chrome.sh
)
#/bin/bash
google-chrome --user-data-dir="/root/chrome-profile/"
请记住以 root 权限调用该脚本!
$ gksu /root/start-chrome.sh
【讨论】:
以上是关于如何以 root 身份运行 Google Chrome? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何以用户而不是 root 用户身份运行 cron 作业 [关闭]
如何以 root 身份运行 Perl 脚本但仍会影响用户 gconf 设置
无法以 root linux 用户身份运行 mysql 命令