什么是gksu,为什么你会使用它?

gksu和gksudo命令允许您在运行图形应用程序时提升权限。

它们与su命令sudo命令本质上是等效的图形命令。

安装

默认情况下,gksu不一定会在所有Linux发行版中默认安装。

您可以使用apt-get命令从命令行在Ubuntu内安装它,如下所示:

sudo apt-get install gksu

您还可以使用突触包管理器来安装gksu。 在编写这个工具时,Ubuntu主包管理器中没有这个工具。

为什么你会使用gksu

假设您使用的是Nautilus文件管理器,并且您希望编辑另一个用户拥有的文件夹中的文件,或者是只能以root用户身份访问的文件夹。

当你打开一个你有权限访问的文件夹时,你会发现诸如创建文件和创建文件夹等选项变灰。

您可以打开一个终端窗口,使用su命令切换到另一个用户,然后使用nano编辑器创建或编辑文件。 或者,您可以使用sudo命令在没有正确权限的地方编辑文件。

gksu应用程序允许您以不同的用户身份运行Nautilus,这意味着您可以访问当前灰显的文件和文件夹。

如何使用gksu

运行gksu的简单方法是打开一个终端窗口并键入以下内容:

gksu

一个小窗口将打开两个框:

运行框想知道你希望运行的程序的名称,而用户框可以让你决定运行程序的用户。

如果您运行gksu并输入nautilus作为运行命令并将该用户保留为root用户,您现在可以操作先前无法访问的文件和文件夹。

你不必自己使用gksu命令。 您可以按如下方式指定您希望运行的命令和用户:

gksu -u根鹦鹉螺

gksu和gksudo的区别

在Ubuntu gksu和gksudo执行相同的任务,因为它们是符号链接。 (他们都指向相同的可执行文件)。

但是,您应该认为gksu是su命令的图形等同物,这意味着您已切换到用户的环境。 gksudo命令等同于sudo命令,这意味着您正在运行应用程序,因为您正在模拟默认情况下是root的用户。

使用权限提高的图形应用程序时要小心

使用Nautilus创建和编辑文件,同时作为gksudo或gksu运行可能会导致灾难性后果。

gksu和gksudo应用程序中有一个选项,称为preserve environment(高级设置)。

这允许您使用当前登录的用户的设置访问应用程序,但以模拟通常为root的用户身份运行该应用程序。

为什么这是一件坏事?

想象一下你正在运行的应用程序是Nautilus文件管理器,并以John身份登录。

现在想象你正在使用gksudo以root身份运行Nautilus。 您以约翰身份登录,但以root身份运行Nautilus。

如果您开始在主文件夹下创建文件和文件夹,您将不一定知道这些文件是以root身份作为所有者和root用户创建的。

当您尝试使用以普通约翰用户身份运行的Nautilus访问这些文件时,您将无法编辑这些文件。

如果编辑的文件是配置文件,那么这确实可能非常糟糕。

你应该使用gksu

GNOME wiki上的gksu页面表明,使用gksu不再是一个好主意,它正在被重写为使用策略包。

但目前没有可行的替代方案。

如何将一个运行作为根选项添加到Ubuntu中的常用应用程序

想象一下,您希望能够向应用程序添加右键单击菜单,以便您可以根据需要以root身份运行它。

点击Ubuntu启动器上的文件柜图标打开Nautilus。

点击左侧的“计算机”图标,导航到usr文件夹,然后导航到共享文件夹,最后导航到应用程序文件夹。

找到文件柜图标,下面有文件“文件”。 右键点击图标并选择“复制到”。 现在导航到家庭,本地,共享和应用程序文件夹。 ( 您需要通过右键单击主文件夹并选择“显示隐藏的文件” 来取消隐藏本地文件夹 )。

最后点击“选择”

现在导航到主文件夹,然后导航到本地,共享和应用程序文件夹。

按超级键并输入“gedit”。 文本编辑器图标将出现。 点击图标。

将nautitilus.desktop图标从Nautilus窗口拖到编辑器中。

搜索显示“Action = Window”的行并将其更改为以下内容:

action = Window,Open Root

在底部添加以下行:

[作为根打开的桌面操作]

名称=作为根打开

Exec = gksu鹦鹉螺

保存文件。

注销一个日志,您可以右键单击文件柜图标并选择“以root身份打开”以管理员身份运行Nautilus。

概要

虽然gksu是一个选项,但我认为如果您需要执行管理任务,那么您最好使用终端