解决ubuntu在root下不能使用chrome[/chromium] 的问题

本文详细介绍了如何解决Chrome和Chromium在特定系统环境下无法启动的问题,通过修改桌面快捷方式的执行文件命令,添加--no-sandbox和--user-data-dir参数,确保浏览器能正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决思路:大致就是,把启动的link文件,加上指定的运行参数

  1. chrome
  2. chromium

一、解决chrome不能启动问题

1. 找到chrome桌面启动文件
root@adam-Latitude-3480:~# cd /usr/share/applications/
root@adam-Latitude-3480:/usr/share/applications# ll | grep chrome
-rw-r--r--   1 root root  8435 5月  13 22:22 google-chrome.desktop
root@adam-Latitude-3480:/usr/share/applications# gedit google-chrome.desktop &
[Desktop Entry]
Exec=/usr/bin/google-chrome-stable %U

找到执行文件位置/usr/bin/google-chrome-stable

2. 修改执行文件命令
root@adam-Latitude-3480:/usr/share/applications# gedit /usr/bin/google-chrome-stable

找到 exec -a "$0" "$HERE/chrome" "$@"
改为 exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox

# Note: exec -a below is a bashism.
#exec -a "$0" "$HERE/chrome" "$@"
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox
#exec -a "$0" "$HERE/chrome" "$@" --user-data-dir "/root/.config/google-chrome"

二、解决chromium不能启动问题

同上

1. 找桌面文件 中的 执行文件位置
root@adam-Latitude-3480:/usr/share/applications# ll | grep chromium
-rw-r--r--   1 root root 12559 6月   2  2017 chromium-browser.desktop
root@adam-Latitude-3480:/usr/share/applications# gedit chromium-browser.desktop 
[Desktop Entry]
Version=1.0
Exec=chromium-browser %U
2. 搜索执行文件

这里exec执行的文件没有写路径,使用whereis命令搜索

root@adam-Latitude-3480:/usr/share/applications# whereis chromium-browser

但是搜到的结果如下,有好多

chromium-browser: /usr/bin/chromium-browser /usr/lib/chromium-browser /etc/chromium-browser /usr/share/chromium-browser /usr/share/man/man1/chromium-browser.1.gz
3. 修改执行文件

这里我们只要改 /usr/bin 下的

root@adam-Latitude-3480:/usr/share/applications# gedit /usr/bin/chromium-browser &

找到exec,
这里exec匹配的只有一行执行语句,

 if [ $want_temp_profile -eq 0 ] ; then
    exec $LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@"
  else
    # we can't exec here as we need to clean-up the temporary profile
    $LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@"
    rm -rf $TEMP_PROFILE
  fi

但是exec后面的命令 $LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@" 有两行,
但第2个匹配文本的注释说:该行不会执行(#we can’t exec here)

所以我们把参数 --no-sandbox --user-data-dir 加到第一个匹配文本后面

 if [ $want_temp_profile -eq 0 ] ; then
    exec $LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@" --no-sandbox --user-data-dir
  else
    # we can't exec here as we need to clean-up the temporary profile
    $LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@"
    rm -rf $TEMP_PROFILE
  fi

如果为了稳妥,可以在第二行命令上加上参数


done!

码字不易整理费时
copy之前请双手合十

### 安装 Chromium 浏览器 对于希望在 Ubuntu 上安装 Chromium 浏览器的用户而言,存在多种方法来完成这一目标。一种推荐的方式是从官方仓库通过 `apt` 包管理工具直接安装: ```bash sudo apt update && sudo apt install chromium-browser -y ``` 上述命令会更新本地包索引并安装最新版的 Chromium 浏览器[^1]。 另一种方式则是利用 Snap 工具来进行安装,在此之前可能需要先确保系统已经安装了 snapd 服务。如果尚未安装,则可以通过如下指令进行操作: ```bash sudo apt install snapd ``` 之后再执行下面这条命令即可轻松获得来自 Snap Store 的 Chromium 版本: ```bash sudo snap install chromium ``` 这种方式的优势在于能够自动处理依赖关系以及后续的安全补丁更新等问题。 针对那些偏好从源码构建软件环境的研究人员或者开发者来说,可以从 Chromium 的官方网站获取最新的源代码,并按照官方文档中的指导逐步编译出适用于个人需求定制化的 Chromium 浏览器版本[^4]。 #### Adblock Plus 插件安装 为了提升浏览体验,减少网页广告干扰,可以在已成功部署好的 Chromium 中加入像 Adblock Plus 这样的扩展程序。具体做法是在浏览器内打开 Extensions 页面,然后上传事先下载好对应平台(即 Linux 下的 `.crx` 文件),或是前往 Chrome Web Store 在线添加该插件[^2]。 ### 配置无界面服务器上的 Chromium 当面对没有图形化界面的服务端实例时,依然有可能借助特定驱动如 undetected_chromedriver 来启动头less mode (无头模式)下的 Chromium 实例用于自动化测试或网络爬虫任务之中。此时并不一定非要依靠 root 用户权限去全局安装 Chromium;相反地,可以选择仅限于当前用户的局部安装方案以简化流程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值