当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

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

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

伤心,但没有上下文菜单选项“运行为…”。

更新:我切换到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

次佳解决思路

在系统,首选项下的主菜单中,在启动器属性的命令字段中键入gksudo,例如:

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

你的姓名字段可能会说:

sudo yourapplication

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

我不确定Unity Launcher vs Main Menu。也许这有帮助?

祝你好运

第三种解决思路

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

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权限的文件,直至其关闭。这适用于您不需要更持久的解决方案的暂时情况。例如,我经常使用它将压缩文件提取到受保护的系统文件夹中。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1004.html,未经允许,请勿转载。