KDE 任务栏无法识别 .desktop 文件

KDE 任务栏无法识别 .desktop 文件

我有 Ubuntu 18.04 和 Plasma 5 桌面。我是一名程序员,我对一种罕见的情况有疑问。

我有一个桌面文件,~/.local/share/applications/xapp.desktop其内容如下:

#!/usr/bin/env xdg-open
[Desktop Entry]
Terminal=false
Icon=org-xapp
Type=Application
Categories=Development;

Exec=/home/james/Electron/dist/electron /home/james/path-to-electron-app
MimeType=
Name=XAPP
Comment=
#NoDisplay=true

好吧,应用程序显示在应用程序菜单中并完美打开,但当我将其固定到 KDE 中的任务栏时,可执行文件被固定,而桌面文件中没有完整的命令。我预计它会被桌面文件的完整命令行固定。

我看到 Chrome 应用程序被正确固定,并且这些应用程序的桌面文件没有任何特殊之处。

我的自定义应用无法正确固定的原因是什么?如何在 Plasma 5 KDE 上正确固定它?

答案1

经过多次测试,我发现了为什么无法识别。但是我仍然认为这是一种奇怪的行为,并且使应用程序难以分发。好吧,为了正确的观点,我将展示我的所有测试。

我的应用程序将基于电子,因此我尝试了这个:

  1. ~/[email protected]使用 electron dist 内容和~/developer/electron-quick-startelectron 示例应用程序
  2. ln -s ~/electron-6.0.11 ~/Electron文件夹的符号链接
  3. 包含以下内容的bash/home/james/execute文件:
#!/usr/bin/bash
/home/james/electron-6.0.11/electron /home/james/developer/electron-quick-start

现在我将展示我尝试过的不同桌面文件:

  1. 无法正常工作。应用程序打开,但 KDE 任务栏无法识别桌面文件,因此无法正确固定。原因是桌面文件中的可执行文件目录是符号链接
[Desktop Entry]
Terminal=false
Icon=org-xapp
....
Exec=/home/james/Electron/electron /home/james/developer/electron-quick-start
...
  1. 不起作用。和以前一样
[Desktop Entry]
Terminal=false
Icon=org-xapp
....
Exec="/home/james/Electron/electron" /home/james/developer/electron-quick-start
...
  1. 工作正常。KDE 任务栏可以识别使用真实规范路径,而不是符号链接。
[Desktop Entry]
Terminal=false
Icon=org-xapp
....
Exec=/home/james/electron-6.0.11/electron /home/james/developer/electron-quick-start
...
  1. 无法正常工作。应用程序打开,但 KDE 任务栏无法识别桌面文件。我使用与上例类似的规范路径,但由于可执行文件中的“”符号,无法识别。从我的角度来看,这是 KDE 的错误行为。
[Desktop Entry]
Terminal=false
Icon=org-xapp
....
Exec="/home/james/electron-6.0.11/electron" /home/james/developer/electron-quick-start
...
  1. 不起作用。将环境变量添加到 exec,使 KDE 任务栏无法识别桌面文件。因此,我再次认为这是 KDE 任务栏的错误行为。
[Desktop Entry]
Terminal=false
Icon=org-xapp
....
Exec=env MYVAR=1 /home/james/electron-6.0.11/electron /home/james/developer/electron-quick-start
...
  1. 无法正常工作。应用程序打开,但无法识别桌面。设置 bash(或使用 child_process 的其他文件类型)来调用原始参数,导致 KDE 任务栏无法识别该文件。
[Desktop Entry]
Terminal=false
Icon=org-xapp
....
Exec=/home/james/execute
...

好的,我的观点是:行为 6 是可以接受的并且是稳定的,行为 1 和 2 是值得怀疑的(没有办法知道是否指向同一个文件吗?),行为 4 和 5 是不可接受的,并且从我的角度来看是错误的,在这种情况下,KDE 任务栏应该识别桌面文件。

相关内容