[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