1

相对于Run Mono Application on Startup with Upstart的相同问题,这是我不明白的事情:在“启动应用程序”中,(1)我使用命令添加了一个新程序(终端):

gnome-terminal 

好的,终端在 Ubuntu 启动时打开。(2)然后我将命令更改为:

gnome-terminal -e nano /home/user/Documents/test.txt

好的,终端使用 nano 编辑器打开。(3) 然后我把命令改成:

gnome-terminal -e /usr/bin/mono /usr/lib/IndsysAndon/IndsysAndon.exe

并且终端在 1 秒后打开和关闭,无需运行 de 应用程序。但是,当我将 (3) 的命令粘贴到 (1) 中打开的终端中时,应用程序就会运行。为什么会发生这种情况?是否需要时间在启动时加载所有依赖项?谢谢

4

1 回答 1

1

gnome-terminal期望命令与任何参数一起作为通过-e选项传递的单个字符串执行。如果你写

gnome-terminal -e foo bar

那么要运行的命令将是foo并且bar将被视为gnome-terminal自身的参数。(请记住,选项可以按任何顺序出现。)

如果要将参数传递给命令,则需要确保将它们作为单个字符串传递给gnome-terminal. 您可以通过引用来做到这一点:

gnome-terminal -e "foo bar"

不幸的是gnome-terminal,没有使用更用户友好的方式,命令之后的任何后续参数都将自动被视为程序的参数,而不是gnome-terminal.

于 2013-10-05T15:29:54.443 回答