我知道我不是 root,因為我無法瀏覽軟體包。首先,我知道這頁面,但它對我不起作用。按照這些說明操作後,當我從 Unity 開啟 Sublime 時收到提示,但我仍然無法瀏覽套件。如果我gksu subl
在終端中使用 sublime 打開,則不會發生任何事情。如果我這樣做,sudo subl
它就會打開,我可以瀏覽套件。每次都用 sudo 而不是 gksu 打開 sublime 可以嗎?
編輯:實際上,當我從Unity打開sublime時,它會提示輸入密碼,然後根本打不開。
編輯:gksudo subl
與 gksu 具有相同的效果。我從網站安裝了 Sublime(點擊 Ubuntu 64 鏈接,它下載了,點擊下載,它帶我到軟體中心)。 “which subl”返回/usr/bin/subl
。 gksu 已安裝。谷氨酸鹽,是的,這就是我的意思。知道接下來發生了什麼事嗎?只有使用 sudo 才能瀏覽它們。
/usr/share/applications/sublime-text.desktop
:
[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=gksu /opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;
[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;
[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;
答案1
當gksu
/gksudo
不起作用或不可用時,您可以使用 /代替。sudo -H
sudo
如果您使用而不是gksu
/運行圖形程序gksudo
,則應該使用sudo -H ...
(或sudo -i ...
) 而不是僅使用sudo ...
。
sudo -H subl
sudo -i subl
(普通方式sudo ...
或這些方式通常都不適用於 Unity dash,因為它們需要一個終端來提示您輸入密碼。但您可以從終端運行它們。)
主要原因是它被認為不好正常運行圖形程式的sudo
方法是運行應用程序,並將其HOME
環境變數設為非 root 呼叫者的主目錄 ( ) 而不是 root 的主目錄 ( )。那個經常/home/username
/root
導致本應屬於普通用戶的設定檔改為屬於 root 用戶(並且無法存取)。
sudo
使用該標誌運行-H
可以透過確保使用 root 的主目錄來防止這種情況發生。
sudo -i
執行此操作以及更多操作:它在模擬根登入工作階段中執行程式。當目標只是以 root 身份運行圖形程式而不出現問題時,我不知道有什麼充分的理由選擇sudo -H
和中的一個或另一個。sudo -i