我决定使用 midi 控制器来完成某些任务,所以我使用了midi2输入为了这。
应用程序编译时没有错误,但是当我单击图标时,我得到:
Invalid desktop entry file: '~/.local/share/applications/m2i.desktop
这些是桌面条目的内容:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=true
Exec=/usr/local/bin/
Name=Midi2Input
Icon=/home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png
有任何想法吗?
png 存在。我也按照你的建议修改了 Exec 行,并且重建了它,但仍然出现相同的错误。
当前桌面条目:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/m2i
Name=midi2input
DBusActivatable=false
Icon=/home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png
StartupNotify=true
emm@i3:~$ ls -al /usr/local/bin/m2i
-rwxr-xr-x 1 root root 606864 Jul 21 12:28 /usr/local/bin/m2i
emm@i3:~$ ls -al /home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png
-rw-rw-r-- 1 emm emm 10010 Jul 22 08:05 /home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png
emm@i3:~$
答案1
您尚未指定可执行文件的完整路径。
你只输入了:
Exec=/usr/local/bin/
Exec
要执行的程序,可能带有参数。请参阅
Exec
钥匙了解此键的工作原理。如果未设置为 ,则此Exec
键是必需的 。即使为, 也应指定 ,以兼容不理解 的实现。DBusActivatable
true
DBusActivatable
true
Exec
DBusActivatable
不要混淆:
Name
应用程序的具体名称,例如“Mozilla”。
答案2
尝试确保你正在启动.desktop
你认为的文件。使用locate m2i.desktop
(1) 查看系统中是否有多个这样的文件(我假设你有一个更新的mlocate
数据库)。
然后,如果您确定Exec
指向的文件是正确的,请在文件中注释行.desktop
并尝试启动m2i
,直到您确定罪魁祸首。您可以使用gtk-launch m2i
(2),参见这。您可以逐个注释,也可以成批注释(有点像二分法),或者注释除最后Exec
一个之外的所有注释。最后一种形式可能是最好的。
请发布对命令 (1) 和 (2a)、(2b) 等的反馈(每行未注释的命令一个),以及
ls -al /usr/local/bin/m2i
ls -al /home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png
type m2i