.Desktop,命令行参数传递给 exec(类似于 shell 脚本)

yat*_*atg 3 linux bash shell ubuntu shortcut-file

我通常会编写这样的 shell 脚本:

#!/bin/sh
nohup /path/to/myapp -test "$@" &
Run Code Online (Sandbox Code Playgroud)

然后,我可以从终端启动此 shell 脚本,并将我提供的任何命令行参数传递到 shell 脚本,然后将其传递到执行行 myapp。我使用的是 Ubuntu,问题出在 shell 脚本上,启动的图标不是 shell 文件的图标。它使用 myapp 的默认图标。这就是我转向 .desktop 的原因,它使启动的应用程序使用 .desktop 文件的图标。

我已经编写了一个 .desktop 文件:

[Desktop Entry]
Name=My Ro
Type=Application
Comment=Web Application
Exec=/path/to/myapp -test @
Icon=/opt/giteye/icon.xpm
Name[en_US]=My Ro
Run Code Online (Sandbox Code Playgroud)

我在执行行上放置了一个 @ 符号,但它没有按预期工作。它没有获取我提供给 .desktop 的命令行参数,也没有将其放入执行行中。您能帮我将 .desktop 收到的命令行参数传递给 Exec line/

Dav*_*ell 5

您想要的(使用任意参数从终端打开桌面文件)并不是 .desktop 文件的使用方式。

参数中只允许使用某些变量,本质上对应于类似桌面的操作:要打开的文件等。如果这就是您想要的,您可以使用%f文件之类的代码来完成此操作,然后使用 UI 将文件拖到应用程序上。

配置应用程序的另一种方法是使用桌面操作,它本质上是打开应用程序的方法的枚举列表。因此,如果您有一组明确定义的参数想要使用,那就可以了。

有关参数代码以及桌面操作如何工作的详细信息,请参阅桌面条目规范。

  • 到底有没有办法把 %f 传递给 exec 行参数部分? (2认同)