溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux 解決Deepin無法在root用戶啟動(dòng)Google Chrome瀏覽器的問題

發(fā)布時(shí)間:2020-09-02 10:02:26 來源:腳本之家 閱讀:273 作者:薔薇Nina 欄目:服務(wù)器

解決Deepin無法在root用戶啟動(dòng)Google Chrome瀏覽器的問題,步驟如下。

1.找到Chrome的路徑

which google-chrome

假如路徑為:/usr/bin/google-chrome

2.編輯google-chrome文件

打開google-chrome,修改文件末尾命令。

vim /usr/bin/google-chrome

exec -a "$0" "$HERE/chrome" "$@" 末尾增加 --user-data-dir --no-sandbox

按Esc,:wq,退出保存,現(xiàn)在即可打開Chrome瀏覽器了!

ps:下面看下用非root用戶啟動(dòng)Apache|Nginx的方法

眾所周知,apache的80端口為系統(tǒng)保留端口,如果通過其他非root用戶啟動(dòng),會(huì)報(bào)錯(cuò)如下:

(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

因?yàn)槠胀ㄓ脩糁荒苡?024以上的端口,1024以內(nèi)的端口只能由root用戶使用。

但是為了避免每次啟動(dòng)都通過root用戶,可以通過set UID的方式來解決此問題。

一次性進(jìn)行如下操作即可完成。

在root用戶環(huán)境中做如下操作
cd ……/apache/bin
chown root httpd
chmod u+s httpd
再 su - USERNAME
到普通用戶下,通過
……/apache/bin/apachectl start即可

為何不chmod u+s apachectl呢?
因?yàn)閟et UID這種方式只針對(duì)二進(jìn)制文件有效,而tail一下apachectl發(fā)現(xiàn):
apachectl是一個(gè)腳本文件,仔細(xì)查閱發(fā)現(xiàn)有如下一句

HTTPD='/home/……/apache/bin/httpd'

得出結(jié)論:apachectl腳本是通過啟動(dòng)httpd文件來啟動(dòng)整個(gè)httpd服務(wù)。
再次cat httpd,出現(xiàn)各種不可讀亂碼,ctrl+c結(jié)束輸出之后,斷定httpd為二進(jìn)制文件。
最后chmod u+s httpd即可,當(dāng)然得保證httpd的所屬者為root用戶,如果不是,執(zhí)行:
chown root httpd即可。

同樣,nginx啟動(dòng)也如此,用root用戶進(jìn)入....nginx/sbin

然后chown root nginx

chmod u+s nginx

然后通過普通用戶就可以啟動(dòng)了。

再同樣,tomcat也如此。

當(dāng)然,修改默認(rèn)端口到大于1024也是可以的。

總結(jié)

以上所述是小編給大家介紹的Linux 解決Deepin無法在root用戶啟動(dòng)Google Chrome瀏覽器的問題,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI