0

我是使用 Ubuntu 12.04 的新手,注意到通过终端窗口启动 Sublime Text 2 的两种不同方式,第一种是 sudo,另一种是 gksu。

在使用两者时,我注意到它正在启动不同的 Sublime Text 2 实例,其中加载了不同的文件实例,我在两者上都打开了这些文件,包括保存片段。使用 gksu 启动会将代码片段保存到 root/etc/etc 中,sudo 将它们保存到 home/user/etc/etc 中。

在终端窗口中启动 Sublime Text 2 的最佳方式是什么?Sudo 或 gksu,为什么?

感谢您的输入!

4

2 回答 2

3

我不特别了解 Sublime Text,但总的来说,以超级用户身份运行编辑器是一种不好的形式。它要么使用超级用户的设置(好吧,但你可能想要你的自定义)或者它会将文件放在你的主目录中,而不是你拥有的(所以如果你想再次使用你的编辑器作为你自己,你可能无法更改任何首选项)。

通常,如果您需要编辑只能root写入的文件,您应该使用sudoedit,它将文件复制到您可以编辑的文件中,以您自己的身份运行编辑器,然后将更改复制回来。如果你需要编辑一个你不需要成为超级用户来写入的文件甚至sudoedit没有必要:直接运行编辑器!


附录

这是一个一般原则:仅在严格必要的权限下运行。从你的另一个问题来看,你和朋友一起做了很多事情。sudo这不是一个好习惯:你使用sudo的东西越多,拥有的东西就越多root,因此需要sudo再次使用。恶性循环。要再次设置正确,您可能希望将自己设置为所有者:

sudo chown -R `whoami` path/to/directory

虽然您可能不想对系统文件执行此操作,但您的主目录中的几乎所有内容都应该归您所有。当权限正确时,您应该会发现您几乎不需要使用sudo.

于 2014-01-02T01:03:33.090 回答
0

切勿使用sudoroot身份启动图形应用程序,否则您会冒着让 ~HOME 目录中的文件被root拥有的风险。

运行gksu几乎与运行 sudo -i 相同,在这种情况下 ~HOME 环境变量被切换到root(因此是 root/etc/etc)

尝试改用 gksudo。

于 2014-01-02T01:17:59.850 回答