linux上chrome、vlc等程序root不能運行的解決辦法


which vlc 或者 whereis vlc

輸入/geteuid,輸入i進入輸入模式,將geteuid改成getppid,然后ESC,輸入wq,保存退出,這樣程序root用戶就可以運行了。

chrome、vlc等程序使root用戶無法使用的原理是:它獲取程序的所有者,如果它是root用戶,就讓它不能運行。

程序中用到的函數是geteuid()。geteuid就是get essensial user id,獲取有效用戶id。每一個用戶都有一個id,root用戶id為0,普通用戶id為1000以上。

知道原理后就可以得出解決辦法了,就是將geteuid替換成getppid。getppid是獲取此進程的父進程id,由於它是獨立進程,它的父進程就是init進程(啟動后的第一個進程),進程id為1,永遠不可能為0。

解決方案一:

找到google-chrome 的快捷方式 右擊查看屬性 找到命令 即得到google-chrome 的地址。

如:/usr/bin/google-chrome

打開終端. 輸入命令:/usr/bin/google-chrome %U -user-data-dir

OK 即可以搞定..

解決方案二:

編輯 /usr/share/applications/google-chrome.desktop 文件,找到 Exec 一行,將其值改為 /opt/google/chrome/google-chrome –user-data-dir=”/root/.config/google-chrome” 也應該是可以的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM