GNOME Bugzilla – Bug 747108
the -e cmd option not honored like in xterm
Last modified: 2015-03-31 12:59:56 UTC
Hi, I used different vte based terminal emulators in the past but recently i found out the -e option isn't honoured like in xterm eg: xterm/uxterm -e "sleep 5; echo a; sleep 3" opens window -> sleeps 5s -> outputs a -> sleeps 3s -> closes <any vte based terminal> -e "sleep 5; echo a; sleep 3" opens window -> closes window Also i did some tests with different terminals: vtebased (xfce4-terminal, lxterminal, sakura) --> failed non vte based(terminology, eterm, qterminal, konsole, xterm) --> worked the main issue is also that all debian based(and some non debian based) distributions use the alternatives system which link the installed terminal of choice to x-terminal-emulator. So "x-terminal-emulator -e <cmd>" has replaced the most terminal specific commands in shell scripts to execute commands in a 2nd terminal window. But since vte based terminals fail to execute more than one command they are breaking the whole script. regards
This is deliberate, see bug 152717. Also, if you want to start a shell and give it arguments, you need to use bash -c '...' since arguments are not passed to a shell (bug 163148). That said, argument parsing has nothing to do with vte, so if other vte-based terminals do the same as g-t, it's just coincidence. Finally, actually both -e nor -x are deprecated; the only supported way of passing a command and arguments is by using a '--' separator to terminate the g-t arguments and begin the command-with-arguments. *** This bug has been marked as a duplicate of bug 152717 ***