When xterm was modified for luit, the "failing that" alternative helped with passing parameters to luit. konsole does one or the other (probably the first, since that was the original behavior of xterm, and most of konsole's design dates from the late 1990s). Failing that, it tries something like "$" -c "parameters" (runs your preferred shell to interpret parameters as a command line). With xterm, the tokens after -e are first tried as parameters for an execv call. That quoted string is a single token, passed to xterm as a single parameter. The quotes in this command xterm -e "sudo pacman -Syu bash"Īre the issue. That's beside the possible problems with the (unnecessary in this discussion) hold option. The essential problem is that the VTE-based terminals don't handle the command-line in the same way as xterm. But that it will not create a hold open feature if the emulator does not support this (as in the case of lxterminal) or enable hold open if that emulator uses a custom profile to enable hold open (as in the case of Gnome). BTW, xterm also uses the -hold parameter, so I believe that bash will serve to hold open an emulator that offers a parameter for the hold open feature. This info represents quite a bit of research time, so I hope this will help folks save some time and frustration.
If you do not have an emulator that supports hold open, you can always got get one from the software repository. If the emulator you have does not support hold open at all, you may find your distro does include an alternate emulator that does support it (many distros include xterm as well as their desktop version emulator). If you are looking at an emulator not listed here, you'll have to google the emulator to find out if/how you enable hold open. Of those that do, how you enable that feature will vary. So the bottom line is some emulators will support hold open, and some will not. The lxterminal emulator that comes with LXDE does not support holding the terminal open (works the same as Mate, create profile to hold emulator open) LXDE (lxterminal) (with this emulator you must first create a custom profile to hold the emulator open, I called mine HoldOpen, but any name will do) Gnome (gnome-terminal emulator) gnome-terminal -window-with-profile=HoldOpen -e "sudo. HDSentinel"ĮDIT: -x is used instead of -e in xfce terminal Mate (mate-terminal emulator) mate-terminal -window-with-profile=HoldOpen -e "sudo.
( -hold is the parameter needed) XFCE (XFCE4 emulator) xfce4-terminal -H -x "sudo. ( -hold is the parameter needed) Enlightenment (Terminology emulator) terminology -hold -e "sudo. Here are the various solutions I can up with: KDE (Konsole emulator) konsole -hold -e sudo. I ran into this when writing a simple script for a program called HDSentinel. Others require the script to specify that the emulator remain open. Different emulators have different capabilities and protocols for the hold open feature.