Bug#959188: gnome-terminal: SHELL env variable honored only for first tab not for subsequent open tabs in the same window

Simon McVittie smcv at debian.org
Thu Apr 30 16:22:51 BST 2020


Control: tags -1 upstream
Control: forwarded -1 https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/253

On Thu, 30 Apr 2020 at 15:44:28 +0100, tglman wrote:
> When running gnome terminal with a environment variable SHELL this is honored
> only at the first tab, not of subsequent tabs

This is a more specific instance of #958502. It isn't clear what the
intended behaviour is: there are several conflicting requirements.

On one hand, there's a reasonable expectation that creating a new
window/tab should do exactly the same thing as launching a new instance
of gnome-terminal (for example from GNOME Shell), without any special
environment other than whatever was inherited from the session.

On the other hand, users of applications that are not single-instance
expect that running gnome-terminal will copy the environment from its
parent process, not just for the first window/tab but for all subsequent
windows/tabs. But that causes a different inconsistency: if you launch
gnome-terminal from an xterm with SHELL=fish, and launch it from a
different xterm with SHELL=bash, then create a new window with
Ctrl+Shift+N, is that new window's shell fish or bash? It can't be both.
If the behaviour is first-run-wins (or last-run-wins), then you'll get
weird environment variables "leaking" into all your gnome-terminals
if the first (or last) gnome-terminal launch happens to have had that
weird environment.

See also https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/253,
https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/236 and
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=954652.

I don't think Debian is going to diverge from upstream on this; whatever
reasonable conclusion they come to about how gnome-terminal is meant to
work, we shouldn't arbitrarily change that.

    smcv



More information about the pkg-gnome-maintainers mailing list