有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java开放。带有“pkexec”的jar文件,并使用桌面条目运行命令

我正在编写一个bash脚本,它可以在运行Lubuntu 18.04的USB上自动安装TLauncher (Minecraft launcher)和基本依赖关系管理

bash脚本的一部分在/usr/share/applications下创建一个桌面条目,以便从Lubuntu菜单轻松启动

以下是我正在使用的条目:

[Desktop Entry]
Encoding=UTF-8
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/java -jar -Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel ~/.minecraft/tlauncher.jar
Icon=~/.minecraft/icons/default.png
Type=Application
Terminal=false
Name=Minecraft
GenericName=minecraft
StartupNotify=false
Categories=Game

命令pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/java -jar -Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel ~/.minecraft/tlauncher.jar起作用,如果在终端中运行,则会启动TLauncher。然而,当我把命令放在桌面条目中时,我觉得我遗漏了一些东西

当我试图从Lubuntu菜单打开条目时,光标显示有东西正在加载,但无论我等待多长时间,都不会发生任何事情。我也不知道如何调试桌面条目。我试图xdg-open输入,但在终端中没有输出,也没有发生任何事情——也就是说,TLauncher没有启动

我尝试将该命令放在一个单独的bash文件中,该文件如下所示:

#!/bin/bash

pkexec env DISPLAY=:0 XAUTHORITY=/home/me/.Xauthority /usr/bin/java -jar -Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel ~/.minecraft/tlauncher.jar

在终端bash testscript.sh中运行该功能会起作用,并且会启动TLauncher

但当我把它放在桌面条目中,替换上面条目中的exec时,如下所示:

Exec=/bin/bash /path/to/testscript.sh

它不起作用

shell脚本具有适当的权限

我觉得要么我把桌面条目的exec值写错了,要么pkexec不应该像我试图让它工作的那样从桌面条目开始工作

我希望能够通过菜单从桌面条目启动TLauncher,并有一个gui弹出窗口询问密码,以便命令以root的形式运行

编辑:

使用完整路径而不是~也会产生相同的结果——也就是说,它不起作用,上述问题仍然存在

设置Terminal=true并不能解决这个问题


共 (0) 个答案