Local mail is never checked

Bug #1872053 reported by Saroumane
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gnome-terminal (Ubuntu)
New
Low
Unassigned

Bug Description

Description: Ubuntu 19.10
Release: 19.10
gnome-terminal:
  Installed: 3.34.2-1ubuntu1
  Candidate: 3.34.2-1ubuntu1

Context : In a typical daily use scenario, a Ubuntu user is not expected to use a console login with "Ctrl-Alt Fx".
Instead it is expected to use gnome-terminal for command-line interaction.
That being said :

What I expect to happen when I launch gnome-terminal :
I expect the bash shell started by gnome-terminal to check local mail (in /var/mail/$USER ) and reports accordingly "You have new mail" if there is new mail.

What happens instead :
gnome-terminal invokes bash with $MAIL variable not set. So mail is not checked, and the user is never informed about new local mail.

Workaround :
Put
export MAIL=/var/mail/$USER
in ~/.bashrc

Saroumane (saroumane)
description: updated
Revision history for this message
Egmont Koblinger (egmont-gmail) wrote :

It is really, really not the terminal emulator's job to set basic environment variables.

It should either be done by the environment in which gnome-terminal is started (e.g. systemd --user), so that the terminal just transparently passes this on; or should be done by the shell initialization files, as in your workaround.

Revision history for this message
Saroumane (saroumane) wrote :

Sorry, I didn't know where to open this.

Revision history for this message
Saroumane (saroumane) wrote :

Anyway my workaround... does not really work.
It only works if I receive a new mail while gnome-terminal is running : in this case I will have "You have new mail" at next command line prompt.

If I receive new mail while gnome-terminal is not running, THEN I launch gnome-terminal : no notification.

But you are right, I should move to askubuntu.

Revision history for this message
Egmont Koblinger (egmont-gmail) wrote :

I'd take one step back and ask the question: Why would anyone one a graphical system need to run a terminal emulator in order to get notified about new mail? What if someone uses all kinds of other applications (web browser, document editor, photo viewer, music player...), just not a terminal, why wouldn't they be notified? The right approach is not to fix whatever happens inside the terminal emulator, the right approach is to have a graphical indicator on the desktop.

Revision history for this message
Saroumane (saroumane) wrote :

Well, my approach was very simple : mail notification in terminal has worked for decades, I used in the 2000s, so why not use it again if it suits me ?
It is not mandatory to "reinvent the wheel" for an old need.

Anyway, I already tried to use /var/mail/$USER in my graphical email client (Thunderbird) : trust me it's very buggy. (Mail is only checked at start, sometimes "read-only", sometimes it becomes duplicated)

But I will gladly examine any other graphical solution, provided it's (almost) as lightweight as the terminal one :)

Revision history for this message
Karl N. Redman (karlredman) wrote :

I'm just piping in here to say that the issue is based on how the login(1) program is called during the authorization process. This is beyond the scope of gui terminals and is even once more removed from the shell.

I've outlined a more in depth answer here: https://askubuntu.com/a/1278257/879293

Also, I've provided a bash function that you can add to your .profile (assuming you use 'login shell' for your terminals) that will give you something like the behavior that you (and me as well) were seeking relative to this thread.

Best regards.

Changed in gnome-terminal (Ubuntu):
importance: Undecided → Low
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.