您好,登錄后才能下訂單哦!
解決Deepin無法在root用戶啟動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,退出保存,現在即可打開Chrome瀏覽器了!
ps:下面看下用非root用戶啟動Apache|Nginx的方法
眾所周知,apache的80端口為系統保留端口,如果通過其他非root用戶啟動,會報錯如下:
(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
因為普通用戶只能用1024以上的端口,1024以內的端口只能由root用戶使用。
但是為了避免每次啟動都通過root用戶,可以通過set UID的方式來解決此問題。
一次性進行如下操作即可完成。
在root用戶環境中做如下操作
cd ……/apache/bin
chown root httpd
chmod u+s httpd
再 su - USERNAME
到普通用戶下,通過
……/apache/bin/apachectl start即可
為何不chmod u+s apachectl呢?
因為set UID這種方式只針對二進制文件有效,而tail一下apachectl發現:
apachectl是一個腳本文件,仔細查閱發現有如下一句
HTTPD='/home/……/apache/bin/httpd'
得出結論:apachectl腳本是通過啟動httpd文件來啟動整個httpd服務。
再次cat httpd,出現各種不可讀亂碼,ctrl+c結束輸出之后,斷定httpd為二進制文件。
最后chmod u+s httpd即可,當然得保證httpd的所屬者為root用戶,如果不是,執行:
chown root httpd即可。
同樣,nginx啟動也如此,用root用戶進入....nginx/sbin
然后chown root nginx
chmod u+s nginx
然后通過普通用戶就可以啟動了。
再同樣,tomcat也如此。
當然,修改默認端口到大于1024也是可以的。
總結
以上所述是小編給大家介紹的Linux 解決Deepin無法在root用戶啟動Google Chrome瀏覽器的問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。