首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从终端(或dmenu)启动`.desktop`文件

如何从终端(或dmenu)启动`.desktop`文件
EN

Unix & Linux用户
提问于 2020-12-29 14:51:05
回答 3查看 5.7K关注 0票数 3

我想从终端和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文件可执行?

EN

回答 3

Unix & Linux用户

发布于 2020-12-29 15:50:35

如果它们是可执行的(chmod u+x /path/to/app.desktop),则可以在顶部添加这个shebang:

代码语言:javascript
复制
#!/usr/bin/env xdg-open

从那时起,您可以使用以下方法调用您的应用程序:

代码语言:javascript
复制
/path/to/app.desktop

例如,这个.desktop文件将启动xeyes

代码语言:javascript
复制
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Xeyes
Exec=xeyes
Terminal=false
Type=Application
票数 4
EN

Unix & Linux用户

发布于 2020-12-30 08:08:03

您可以尝试解析文件,并执行任何Exec=行应该执行的内容。这应该可以做到:

代码语言:javascript
复制
$(awk '/^Exec=/{sub(/^Exec=/, ""); print}') file.desktop

从理论上讲,file.desktop中的任何内容都将发布。

票数 0
EN

Unix & Linux用户

发布于 2023-05-27 22:17:49

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/626648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档