如何以root身份打开桌面条目?

时间:2019-09-04 01:00:50

标签: bash user-interface root ubuntu-18.04

我在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中打开。

1 个答案:

答案 0 :(得分:3)

pkexec是PolicyKit的一部分,可以更好地分配权限。要使用pkexec通过图形用户界面执行程序,可以使用以下调用:

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