![Terminator 未执行命令,而 Lxterminal 执行](https://linux22.com/image/987452/Terminator%20%E6%9C%AA%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%8C%E8%80%8C%20Lxterminal%20%E6%89%A7%E8%A1%8C.png)
使用带有 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"
-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.