Bug#1039579: gnome-terminal.wrapper does not support the '--' syntax itself
Simon McVittie
smcv at debian.org
Tue Jun 27 14:13:46 BST 2023
On Tue, 27 Jun 2023 at 14:11:35 +0200, Christophe Lohr wrote:
> The code of this wrapper make several rearrangements to convert '-e' and '-x'
> options into the '--' syntax, but it seems to not support itself the '--'
> syntax on its command line. Isn't it?
> Is this an oversight or I am wrong?
> May I suggest adding support for "--"?
Please could you clarify why it would be useful for gnome-terminal.wrapper
to support the "--" syntax?
The only purpose of gnome-terminal.wrapper is to implement Debian's
x-terminal-emulator interface as defined in
<https://www.debian.org/doc/debian-policy/ch-customized-programs.html#packages-providing-a-terminal-emulator>,
which is a subset of xterm's command-line interface and therefore uses
"-e" to prefix a command to run. xterm does not support the GNU-style "--"
and there is no guarantee that an implementation of x-terminal-emulator
will support it either, so accepting it in gnome-terminal.wrapper
would just make it a bit more likely for people to write calls like
"x-terminal-emulator -- less /etc/hosts" which will actually only work
for a few specific terminal emulators.
If you're writing code that runs gnome-terminal (specifically) as a
subprocess, please use the gnome-terminal command and its preferred
"--" syntax. There is no need to use the wrapper in this case, and in
fact it would be counterproductive to do so: all it does is to slow down
startup a little bit, and make some features unavailable.
If you're writing code that runs the generic x-terminal-emulator command
as a subprocess, then you will have to use the "-e" syntax, otherwise it
won't work correctly with xterm (and probably many other terminal emulators).
If you're writing code that supports multiple specific commands as ways
to run a command in a terminal, then it needs to "just know" whether
each one expects "-e", "-x", "--", or no argument at all. The table of
known terminals in
<https://gitlab.gnome.org/GNOME/glib/-/blob/2.76.3/gio/gdesktopappinfo.c#L2698>
is an example of this technique. Everyone involved recognises that this
is not a pleasant interface, but that's the price we pay for portability.
smcv
More information about the pkg-gnome-maintainers
mailing list