数独无法从应用程序菜单启动(无效的桌面入口文件)

数独无法从应用程序菜单启动(无效的桌面入口文件)

我安装了Ubuntu 18.04.6 desktop,然后Lubuntu-desktop。当我想运行游戏(例如数独)时,它会写入。

Invalid desktop entry file:'/usr/share/applications/gnome-sudoku.desktop

任何游戏都无法运行。其他应用程序可以顺利启动。

答案1

总结

  1. 打开终端并输入gnome-sudoku(在 LXQT 下)检查 gnome-sudoku 是否在你的路径上
  2. 如果有效,请尝试注释掉DBusActivatable=true(或将其设置为 false)/usr/share/applications/org.gnome.Sudoku.desktop(或者更确切地说,/usr/share/applications/gnome-sudoku.desktop根据您的情况)并重新启动 LXQT 会话(注销 + 登录)。您必须是 su 才能编辑(例如sudo nano ...)。从应用程序菜单启动 Sudoku。

如果有效,请告诉我。

长版本:

当你查找时/usr/share/applications/org.gnome.Sudoku.desktop你会发现以下一行:

DBusActivatable=true

freedesktop.org 在其规格

一个布尔值,指定此应用程序是否支持 D-Bus 激活。如果缺少此键,则默认值为 false。如果值为 true,则实现应该忽略 Exec键并发送 D-Bus 消息以启动应用程序。有关其工作原理的更多信息,请参阅 D-Bus 激活。应用程序仍应在其桌面文件中包含 Exec= 行,以与不理解 DBusActivatable 键的实现兼容。

简而言之,这意味着数独不是通过简单的命令启动,而是通过发送 D-Bus 消息启动。

当停用该DBusActivatable条目时,Exec仍使用该条目,但它应该可以正常工作。

我强烈认为 LXQT 和 Gnome 在 D-Bus 和软件包方面一定存在不兼容性gnome-games

我通过启动 来测试它,而无需自行安装 LXQT dbus-monitor。将开关设置为true我可以看到以下消息(通过“Acitvate”方法启动数独):

method call time=1636304012.356091 sender=:1.90 -> destination=org.gnome.Sudoku serial=7 path=/org/gnome/Sudoku; interface=org.freedesktop.Application; member=Activate
   array [
      dict entry(
         string "desktop-startup-id"
         variant             string "gtk-launch-24810-harald-desktop-gnome-sudoku-0_TIME0"
      )
   ]

注释掉该开关后,不会出现此消息,因此必须直接使用 Exec 命令。

只要其他应用程序运行良好,我就不会再花时间去弄清楚 LXQT 和 Gnome 之间 D-Bus 不匹配的确切原因。

但如果你有时间,当然你可以跑一跑dbus-monitor,也许你会找到一些解释。

答案2

我会重新安装该程序。99% 的情况下这可以解决这个特定的问题。

相关内容