【问题标题】:.Desktop with command line args passed to exec (similar to shell script).Desktop 将命令行参数传递给 exec(类似于 shell 脚本)
【发布时间】:2015-09-20 17:00:40
【问题描述】:

我通常会这样写一个 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 行吗/

【问题讨论】:

    标签: linux bash shell ubuntu desktop-shortcut


    【解决方案1】:

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

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

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

    有关参数代码以及桌面操作如何工作的详细信息,请参阅Desktop Entry specification

    【讨论】:

    • 该死的有没有办法把那个 %f 传递给 exec 行参数部分?
    猜你喜欢
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 2022-10-04
    • 2014-03-08
    • 2013-10-22
    • 2016-12-19
    相关资源
    最近更新 更多