3

我通常写一个这样的shell脚本:

#!/bin/sh
nohup /path/to/myapp -test "$@" &

然后我可以从终端启动这个 shell 脚本,我给它的任何命令行参数都会传递给 shell 脚本,然后传递给 exec 行 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

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

4

1 回答 1

3

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

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

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

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

于 2015-07-03T00:58:27.407 回答