如何让 Sublime Text 3 从 Unity 以 root 身份运行?

如何让 Sublime Text 3 从 Unity 以 root 身份运行?

我知道我不是 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 已安装。Glutanimate,是的,这就是我的意思。知道发生了什么吗?我只能使用 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 上运行,因为它们需要一个终端来提示您输入密码。但您可以从终端运行它们。)

主要原因是被认为是不好的使用 normal 运行图形程序的sudo原因是,这将运行应用程序并将其HOME环境变量设置为非 root 调用者的主目录 ( ) 而不是 root 的主目录 ( )。这通常/home/username/root导致原本应该属于普通用户的配置文件属于 root(并且无法访问)。

sudo使用该标志运行-H可确保使用 root 的主目录来防止这种情况。

sudo -i不仅如此,它还能在模拟的 root 登录会话中运行程序。当我们的目标只是以 root 身份运行图形程序而不会出现问题时,我不知道有什么强有力的理由来选择sudo -H和中的一个。sudo -i

相关内容