Linux 上 google-chrome 無法啟動問題

之前我的環境上都是 Firefox 及 Google Chrome 混用,突然有一天可能是更新了什麼套件後 Google Chrome 就變的不能用,查了一下還會報 crash dump, 重裝 chrome 也不行,只好認份點查看看,不然很多網站不能用 chrome 真的會搞死自己。

一開始懷疑是權限問題或 selinux 搞鬼, 關掉 selinux 及用一般使用者用命令去執行,跑出結果讓我很困惑, 感覺像去外面抓什麼東西又無法執行而發生的crash , 的透過 root 執行時報的錯誤應該是需要加入’ –no-sandbox’ , 就我印象,瀏覽器在運作上會有隔離運作的機制是透過 sandbox 機制去運行,猜測應是這個 sandbox 在新的版本或相關套件被更新後導致這個問題,問題確定後就好解決,找到 application desktop 的參數檔,修正一下再試果然問題解決,收工。

用一般使用者執行 chrome 問題

google-chrome-cannot-start-1

用 root 使用者執行 chrome 問題

google-chrome-cannot-start-2

用 root 使用者執行 chrome 並加入 –no-sandbox (看來新的版本會取消這個參數)google-chrome-cannot-start-3

修改指令如下:

[root@kvm-host ~]# grep '^Exec' /usr/share/applications/google-chrome.desktop 
Exec=/usr/bin/google-chrome-stable %U
Exec=/usr/bin/google-chrome-stable
Exec=/usr/bin/google-chrome-stable --incognito
[root@kvm-host ~]# sed -i 's/^Exec=\/usr\/bin\/google-chrome-stable/Exec=\/usr\/bin\/google-chrome-stable --no-sandbox/g' /usr/share/applications/google-chrome.desktop
[root@kvm-host ~]# grep '^Exec' /usr/share/applications/google-chrome.desktop 
Exec=/usr/bin/google-chrome-stable --no-sandbox %U
Exec=/usr/bin/google-chrome-stable --no-sandbox
Exec=/usr/bin/google-chrome-stable --no-sandbox --incognito
[root@kvm-host ~]#

 

google-chrome-cannot-start-4

再執行或點選 chrome icon 就都可以執行了

再補充修改一下 /usr/bin/google-chrome

找到最後一行加入最後面紅字部份存檔

exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox

 

Author: jerryw1974

learning and focus on computer science, cloud infrastructure, virtualization and information security, technical, networking,platform system and cyber-security related topic.