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

sor*_*rin 89 sudo unity

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

目前,即使我使用 sudo 启动应用程序,并在启动后固定它,下次它也会以当前用户身份启动。

可悲,但没有上下文菜单选项“以...运行”。

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

edm*_*edm 95

如果您希望应用程序始终以 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
    
    Run Code Online (Sandbox Code Playgroud)
  4. 然后换行

    Exec=APP_COMMAND
    
    Run Code Online (Sandbox Code Playgroud)

    Exec=gksudo -k -u root APP_COMMAND
    
    Run Code Online (Sandbox Code Playgroud)
  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
Run Code Online (Sandbox Code Playgroud)

  • 为什么设置一个简单的 Shortcut 会如此复杂?ubuntu 的创造者有什么问题? (56认同)
  • 对于 `gksudo` 命令,你必须安装 `sudo apt-get install gksu` (7认同)
  • @Sliq 它被称为安全性......拥有一个无需密码即可以 root 身份执行的桌面图标......非常危险......对我来说这实际上是 linux 的乐趣......如果我想要轻松的生活......我将使用 Windows 作为我的主要系统... (6认同)
  • Ubuntu 18.XX 已过时 有人可以提供更新的解决方案吗? (5认同)
  • @sliq“为什么从 cmd 提示符 grep 如此困难?Windows 的创建者有什么问题?” - Ubuntu 的创造者......可能 (3认同)
  • 我做了第 1-5 步,应用程序要求输入密码,但无法启动。 (2认同)

ped*_*ssk 8

因为这是一个老问题,有一个老答案;为了补充@edm 的惊人解释。

从 Ubuntu 18.04 及更高版本开始,gksudo (gksu ) 已被弃用,因此,它在官方存储库中没有候选安装。另一种方法是使用 pkexec。

编辑文件/usr/share/applications/APPNAME.desktop并更改行

Exec=APP_COMMAND
Run Code Online (Sandbox Code Playgroud)

Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY APP_COMMAND
Run Code Online (Sandbox Code Playgroud)

有关pkexec的更多详细信息请参见此处。