[Bug 1922839] Re: Opening new tab in gnome-terminal launched from nautilus loses most environment variables
Launchpad Bug Tracker
1922839 at bugs.launchpad.net
Fri Jun 18 12:17:55 UTC 2021
Status changed to 'Confirmed' because the bug affects multiple users.
** Changed in: gnome-terminal (Ubuntu Hirsute)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1922839
Title:
Opening new tab in gnome-terminal launched from nautilus loses most
environment variables
Status in GNOME Terminal:
Unknown
Status in gnome-terminal package in Ubuntu:
Confirmed
Status in gnome-terminal source package in Hirsute:
Confirmed
Bug description:
[Impact]
If you launch gnome-terminal by right clicking a directory in
Nautilus, selecting "Open in Terminal", you get a fully functional
terminal window.
If you then press the new tab button, or ctrl-shift-t to open a new
terminal tab, you will find that most environment variables have
become unset, and you see the text:
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Comparing printenv between:
Normal terminal: https://paste.ubuntu.com/p/2hcCY9hbHQ/
Broken new terminal tab: https://paste.ubuntu.com/p/zYsjRHVJH7/
Most commands won't run in the new terminal tab, due to $HOME and
$USER not being set.
Note, if you launch gnome-terminal from gnome-shell or the dock, and
create a new tab, everything works perfectly. Is something wrong with
the Nautilus option for "Open in Terminal"?
[Testcase]
1. Launch Nautilus to home directory
2. Right click > "Open in Terminal"
3. Run "printenv" to see full list of env variables
4. Click new tab button, or ctrl-shift-t
5. Run "printenv" see the lack of env variables
I have a test package available in the below ppa:
https://launchpad.net/~mruffell/+archive/ubuntu/lp1922839-test
The build in the ppa has 16bd9f6a4181d37af2769e7ca5a1f9a1211cfaac
reverted.
If you install this package, environment variables will be set
correctly.
[Where problems could occur]
I think there is some risk with re-instating a commit which has been
reverted, and users could run into similar issues as found in the
upstream bug.
We do have some supporting evidence that the commit isn't too harmful,
since it is applied to Groovy currently, things work as intended
there, and users haven't complained about the issues in the upstream
bug applying to Groovy.
If a regression were to occur, then launching a new gnome-terminal or
opening a new tab could land the user with a terminal with little to
no environment variables set. A workaround will be to launch gnome-
terminal from gnome-shell overview.
[Other info]
Focal and Groovy have the following commit applied:
commit fd5ac772154426e2da5afd633b336414bca33be9
Author: Christian Persch <chpe at src.gnome.org>
Date: Mon Mar 23 09:57:56 2020 +0100
Subject: screen: Use clean env when creating new tab
Link: https://gitlab.gnome.org/GNOME/gnome-terminal/-/commit/fd5ac772154426e2da5afd633b336414bca33be9
This was then reverted in 3.38.1 due to the upstream bug:
https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/253
The reverted commit is:
commit 16bd9f6a4181d37af2769e7ca5a1f9a1211cfaac
Author: Christian Persch <chpe at src.gnome.org>
Date: Thu Sep 17 17:10:47 2020 +0200
Subject: Revert "screen: Use clean env when creating new tab"
Link: https://gitlab.gnome.org/GNOME/gnome-terminal/-/commit/16bd9f6a4181d37af2769e7ca5a1f9a1211cfaac
This revert seems to have broken Hirsute. If we revert the revert,
that is, apply the commit again, things work as intended.
To fix this, we need to re-apply
fd5ac772154426e2da5afd633b336414bca33be9.
To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-terminal/+bug/1922839/+subscriptions
More information about the Ubuntu-sponsors
mailing list