gtk-launch 仅在当前工作目录为 Desktop 时有效

gtk-launch 仅在当前工作目录为 Desktop 时有效

我刚刚弄清楚如何手动创建一个文件,该文件允许通过发出命令[program.desktop].desktop来启动程序。gtk-launch问题是,只有当我当前的工作目录是我的用户名的桌面目录时,它似乎才起作用。因此,当我输入命令时gtk-launch program.desktop它就会运行。

问题是当我尝试输入时gtk-launch /home/userName/Desktop/program.desktop。相反,我从终端收到一条消息:gtk-launch:没有这样的应用程序。我知道该文件就在那里,并且 cat 可以很好地读取它。

为什么 gtk-launch 似乎只能在桌面内部工作?我可以解决这个问题吗?我通过持久 USB 将 Kali linux 与 GNOME 一起使用。

答案1

要实现此功能,您必须满足两个要求:

  1. 您的myapp.desktop文件应驻留在多个目录之一(不完全是/usr/share/application)。这些取决于您的 Linux 发行版;对于Ubuntu:

    1.1./usr/share/application

    1.2./usr/local/share/applications

    1.3.~/.local/share/applications

  2. 你必须执行gtk-launch myapp(或gtk-launch myapp.desktop没有路径。

有关的:

https://askubuntu.com/questions/471282/is-it-possible-to-execute-a-desktop-file-from-a-quicklist

https://askubuntu.com/questions/5172/running-a-desktop-file-in-the-terminal

答案2

联机帮助页说明如下:

gtk-launch 至少需要一个参数,即要启动的应用程序的名称。该名称应与位于 /usr/share/application 中的应用程序桌面文件名匹配,带或不带“.desktop”后缀。

这表明桌面文件应该位于指定位置,否则无法用于启动应用程序。源文件gtk/gtk-launch.c显示 gtk-launch 不执行任何操作,而是在 D-Bus 上放置一条消息,要求启动所需的应用程序。

相关内容