【问题标题】:How to open a desktop entry as root?如何以root身份打开桌面条目?
【发布时间】:2019-09-04 01:00:50
【问题描述】:

我在usr/share/applications 中有一个桌面条目,它运行一个Java jar,看起来像:

[Desktop Entry]
Encoding=UTF-8
Exec=pkexec /usr/bin/java -jar something-something.jar
Icon=default.png
Type=Application
Terminal=false
Name=foo
GenericName=bar
StartupNotify=false
Categories=Game

我需要以root 运行JAR,所以我尝试使用pkexec 来显示GUI 密码提示,这样我就可以以sudo 运行JAR(我使用的是Ubuntu 18)。但是,它不起作用,当我尝试在终端中打开桌面条目时(使用类似 xdg-open 的东西)我得到:Refusing to render service to dead parents

我认为问题出在我使用pkexec 上。虽然我很想知道为什么pkexec 不适合我的使用,但我想知道我可以做些什么来从GUI 中使用sudo 运行JAR?这样,当我从菜单中单击桌面条目时,会出现密码提示。

编辑:

实际上,我一直在使用 gtk-open 并得到死去的父母错误。 xdg-open 导致桌面条目只是在 vim 中打开。

【问题讨论】:

    标签: bash user-interface root ubuntu-18.04


    【解决方案1】:

    pkexec 是 PolicyKit 的一部分,它允许更精细的权限分配。要使用 pkexec 执行带有图形用户界面的程序,可以使用以下调用:

    pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/java -jar something-something.jar
    

    【讨论】:

      猜你喜欢
      • 2011-10-20
      • 2022-12-05
      • 1970-01-01
      • 2013-06-25
      • 2019-05-04
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多