Ubuntu Server下以非root用户运行Chrome失败求助
解决Ubuntu Server上运行Chrome的两个常见问题
咱们先逐个拆解你遇到的问题:
1. 搞定gksu: command not found的报错
gksu是面向图形界面的用户切换工具,但Ubuntu Server默认不带图形环境,而且这个工具现在已经被弃用了。你可以用更适合服务器环境的sudo命令来替代,直接切换到新建的用户运行Chrome:
sudo -u chrome3 google-chrome
要是你不确定chrome3用户是否创建成功,用这条命令验证就行:
id chrome3
如果输出了用户的UID、GID等信息,说明用户已经创建好了。
2. 解决Running as root without --no-sandbox is not supported的报错
这里要额外提醒:你用的是Ubuntu Server,默认没有图形桌面环境,直接启动Chrome大概率会失败。推荐用无头模式启动(适合服务器后台运行),同时结合普通用户权限,命令如下:
sudo -u chrome3 /opt/google/chrome/chrome --headless --no-sandbox --disable-gpu
--headless:让Chrome在无界面模式下运行,不需要图形环境--no-sandbox:仅在测试环境使用,解决权限限制问题(注意:该参数会降低安全性,生产环境不建议)--disable-gpu:避免部分服务器因缺少GPU支持导致的启动失败
如果你的服务器确实需要图形界面运行Chrome,得先安装桌面环境(比如Xfce),再通过VNC或远程桌面连接后,用普通用户直接启动Chrome,这时一般不需要加--no-sandbox参数。
内容的提问来源于stack exchange,提问作者Einbert Alshtein
相关产品推荐
相关产品推荐

