如何让Sublime Text 3以Unity身份运行?
我知道我不是root用户,因为我无法浏览包。 首先,我知道这个页面,但它不适合我。 按照这些说明后,当我从Unity打开Sublime时,我收到提示,但我仍然无法浏览包。 如果我在终端中使用gksu subl
打开sublime,则没有任何反应。 如果我做sudo subl
它打开,我可以浏览包。 是否可以每次打开sublime作为sudo而不是gksu?
编辑:实际上,当我从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;
当gksu
/ gksudo
不起作用或不可用时,您可以使用sudo -H
代替。
如果你使用sudo
而不是gksu
/ gksudo
运行图形程序,你应该使用sudo -H ...
(或sudo -i ...
)而不仅仅是sudo ...
sudo -H subl
sudo -i subl
(简单的sudo ...
或者那些方式通常都不会在Unity破折号上运行,因为他们需要一个终端来提示你输入密码。但你可以从终端运行它们。)
使用普通sudo
运行图形程序被认为是不好的主要原因是,它运行应用程序,其HOME
环境变量设置为非root调用者的主目录( /home/ username
),而不是root的主目录( /root
)。 这通常会导致应该属于常规用户的配置文件属于root (而且不可访问)。
使用-H
标志运行sudo
可以通过确保使用root的主目录来防止这种情况。
sudo -i
执行此操作以及更多:它在模拟的根登录会话中运行程序。 当目标只是以root身份运行图形程序而没有问题时,我不知道有任何强烈的理由偏爱sudo -H
和sudo -i
一个或另一个。