如何从Unity Launcher以root身份启动应用程序?

主要是我正在寻找一种方法将应用程序固定到Unity启动栏,并以root身份运行它。

目前,即使我使用sudo启动应用程序,并在启动后将其固定,它将在下次作为当前用户启动。

很遗憾,但没有上下文菜单选项“run as …”。

更新 :我切换到gnome3,现在我很高兴,我只缺少搜索。

如果您希望应用程序始终以root身份运行

  1. 正常将应用程序固定到启动器。

  2. 找到应用程序.desktop文件,它将位于以下任一位置:

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • 或者在其他地方,使用locate .desktop|grep APPAME
  3. 用gedit打开:

     gksudo gedit /usr/share/applications/APPNAME.desktop 
  4. 然后改变线

     Exec=APP_COMMAND 

     Exec=gksudo -k -u root APP_COMMAND 
  5. 保存

如果您需要连接到其他服务器并使用您的私钥,此命令还将保留您的环境非常有用。

为“以root身份运行”添加快速列表选项

按照上面的步骤1,2和3

如果启动器当前没有任何其他快速列表选项,只需将其附加到文档的末尾即可

 X-Ayatana-Desktop-Shortcuts=Runroot [Runroot Shortcut Group] Name=Run as root Exec=gksudo -k -u root APP_COMMAND TargetEnvironment=Unity 

在System,Preferences下的Main Menu中,在Launcher Properties的Command字段中输入gksudo ,例如:

 /usr/bin/gksudo /usr/bin/yourapplication 

您的姓名字段可能会说:

sudo yourapplication

所以用户知道他们可能会看到密码弹出窗口以及为什么……

我不确定Unity Launcher与主菜单。 也许这有帮助吗?

祝好运

以下似乎做同样的事情,而不需要私有属性:

 Actions=Runroot;Another [Desktop Action Runroot] Name=Run as root Exec=gksudo -k -u root APP_COMMAND [Desktop Action Another] Name=Another action Exec=whatever 

作为这里答案中描述的繁琐要求的快速而简单的替代方案,我已经养成了做以下事情的习惯……

  1. 启动一个新终端。
  2. 输入gksu nautilus

    sudo -i nautilus也有效。)

生成的窗口属于sudo伞,因此您可以使用它来访问和启动具有sudo-root权限的文件,直到它关闭为止。 这对于您不需要更永久解决方案的短暂情况非常有用。 例如,我经常使用它将压缩文件提取到受保护的系统文件夹中。

我将这个问题反复发布到@ Chris在评论中提出的问题:

假设您要创建一个将以root身份打开“文件管理器(nautilus)”的启动器。 然后你可以这样做:

打开终端。 类型:

 sudo -H gedit /usr/share/applications/nautilus_root.desktop 

点击进入。 询问后,输入您的登录密码并按Enter键。 这将打开gedit(文本编辑器)。 现在,粘贴以下内容:

 [DesktopEntry] Encoding=UTF-8 Name=Nautilus(Root) Comment=FileManager Exec=gksu nautilus Icon=file-manager Categories=System; Type=Application Terminal=0 

现在,只需保存并退出。 你完成了。 现在,如果你在破折号上搜索,那么你会发现一个新的启动器“Nautilus(Root)”。 单击此按钮将询问您的密码,经过身份validation后,nautilus将以root身份打开。

注意:运行“Nautilus(Root)”时要小心。 在此模式下,您可以删除/几乎所有内容并打破系统。

这应该是对丹尼尔解决方案的评论。 即使在Ubuntu 15.04中,它也适用于我。 由于额外的参数,我不得不将命令放在引号Exec=gksu "nautilus --new-window" 。 另外,不知何故,我不知道为什么,我必须直接编辑启动器以保持原始菜单(与新选项一起)。 如果您拖动自己的启动器,它将被注册,但您将没有相同的菜单。

在Ubuntu 15.04中,nautilus的启动器是usr/share/applications/org.gnome.Nautilus.desktop 。 您必须使用命令行来查看真实文件名。

进一步的研究使我得到了我认为更好的选择: http : //ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context-menu/ 。 而不是完全打开Nautilus作为Root,这允许您在Nautilus中打开所选目录作为Root。 无论如何,我检查过,这两个选项是兼容的。 如果以Root身份打开Nautilus,然后使用第二个选项以Root身份打开目录,则只需打开它而不询问密码。