![使用 .desktop 文件运行具有特定文件扩展名的应用程序](https://linux22.com/image/1177382/%E4%BD%BF%E7%94%A8%20.desktop%20%E6%96%87%E4%BB%B6%E8%BF%90%E8%A1%8C%E5%85%B7%E6%9C%89%E7%89%B9%E5%AE%9A%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
我想运行特定目录中可用的 appimage,而不管其名称是什么。我试过这种方法,但没有成功,
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=application
Icon=application.png
Path=/path/to/application/
Exec=/path/to/application/*.AppImage
StartupNotify=false
StartupWMClass=application
OnlyShowIn=Unity;
X-BAMFGenerated=true
如何使用 .desktop 文件运行具有特定文件扩展名的应用程序?
答案1
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=sh -c "/home/theWu/Downloads/*.AppImage"
Name=colontracee
Icon=/home/theWu/Pictures/tracee1.jpg
Categories=Application
...按照 OP 的要求,对我来说是可行的...但如果我这样做,我会担心目录中是否有多个 .AppImage。它根据字母顺序抓取了第一个。
....但通配符确实有效。
答案2
您不能在文件中使用通配符.desktop
。您需要明确要运行的内容,并且如果 AppImage 文件位于搜索路径中包含的文件夹中,则至少提供其名称,如果不在搜索路径中包含的文件夹中,则提供完整路径名。
也许你问这个问题是因为你不想.desktop
每次升级 AppImage 时都进行更改。在这种情况下,有以下几种可能性:
- 重命名您的
.AppImage
文件,使其具有通用名称,例如Shotcut-200628.glibc2.14-x86_64.AppImage
-> ,这样您就可以在文件中shotcut
引用 appimage 。缺点:您无法再从文件名中轻易看出您拥有哪个版本。<path>/shotcut
.desktop
或者:
.AppImage
创建指向搜索路径中文件夹中文件的符号链接,例如~/bin/shotcut
-><path>/Shotcut-200628.glibc2.14-x86_64.AppImage
,然后引用桌面文件中的符号链接。
优点:
- 您保留 AppImage 名称,从而可以立即看到版本。
- 在
.desktop
文件中,提供可执行文件的名称就足够了,shotcut
因为它在您的搜索路径中。 - 您还可以使用命令从终端或运行对话框Alt+启动 AppImage 。F2
shotcut
退税:
- 更新appimage时,需要更新符号链接。