我想从终端和dmenu运行.desktop文件。在终端中,理想情况下应该使用./app.desktop或/path/to/app.desktop运行,app.desktop将放在$PATH目录中。我不想使用像gtk-launch app.desktop这样的外部命令。
此外,我发现gtk-launch并不总是可以使用gtk-launch app.desktop启动应用程序,即使它确实工作,在运行带有可执行文件的./app.desktop时,将#!/path/to/gtk-launch放在.desktop的顶部也会返回错误gtk-launch: no such application ./app.desktop。
我使用bspwm,通常更喜欢从终端或dmenu_run启动东西,所以我没有一个桌面,可以单击.desktop文件来启动它们。
如何使.desktop文件可执行?
发布于 2020-12-29 15:50:35
如果它们是可执行的(chmod u+x /path/to/app.desktop),则可以在顶部添加这个shebang:
#!/usr/bin/env xdg-open从那时起,您可以使用以下方法调用您的应用程序:
/path/to/app.desktop例如,这个.desktop文件将启动xeyes。
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Xeyes
Exec=xeyes
Terminal=false
Type=Application发布于 2020-12-30 08:08:03
您可以尝试解析文件,并执行任何Exec=行应该执行的内容。这应该可以做到:
$(awk '/^Exec=/{sub(/^Exec=/, ""); print}') file.desktop从理论上讲,file.desktop中的任何内容都将发布。
发布于 2023-05-27 22:17:49
https://askubuntu.com/a/239883/1002900和https://gitlab.gnome.org/GNOME/glib/-/issues/54#note_1755632
gio launch /path/file.desktophttps://unix.stackexchange.com/questions/626648
复制相似问题