Terminator 未执行命令,而 Lxterminal 执行

Terminator 未执行命令,而 Lxterminal 执行

使用带有 fluxbox 的 Ubuntu 12.04,从 mini iso 安装,没有 DE。

问题如下:

在我的 fluxbox 菜单中我有以下两行:

[exec] (Textfile) {/usr/bin/terminator -e /usr/bin/nano /home/me/Documents/Directory/Textfile}
[exec] (Textfile) {/usr/bin/lxterminal -e /usr/bin/nano /home/me/Documents/Directory/Textfile}

如果我使用 lxterminal,文本文件会在编辑器 nano 的终端中打开。如果我使用 terminator,文本文件不会打开,terminator 也不会打开。当我使用以下行时,Nano 会打开:

[exec] (Textfile) {/usr/bin/terminator -e /usr/bin/nano}

如果终结器已经打开并且我输入:

/usr/bin/nano /home/me/Documents/Directory/Textfile

文本文件确实在 nano 中打开。

有人知道如何让终结器发挥与 lxterminal 相同的作用吗?

答案1

如果lxterminal确实像您说的那样起作用,我倾向于认为这是一个错误。

您编写命令的方式应该使用-x而不是-e

terminator -x nano /some/path

如果-e使用,则必须将完整命令作为单个字符串给出:

terminator -e "nano /some/path"

手册terminator

-e, --command=COMMAND
      Runs  the  specified  command  instead  of your default shell or
      profile specified command

-x, --execute COMMAND [ARGS]
      Runs the rest of the command line instead of your default  shell
      or profile specified command.

在这方面,Terminator 与 XFCE Terminal 或 GNOME Terminal 类似。

再想想,这似乎lxterminal是在遵循xterm的行为,但没有清楚地记录下来。从man lxterminal

-e STRING --command=STRING --command STRING
   This option specifies the program (and its command line arguments)
   to be run in the terminal. Except in the --command= form, this must
   be the last option on the command line.

man xterm说得更清楚:

-e program [ arguments ... ]
       This  option  specifies  the  program  (and  its  command  line
       arguments)  to  be  run  in the xterm window.  It also sets the
       window title and icon name to be the basename  of  the  program
       being  executed  if  neither -T nor -n are given on the command
       line.  This must be the last option on the command line.

相关内容