Ade Malsasa Akbar contact
Senior author, Open Source enthusiast.
Tuesday, December 29, 2015 at 21:00

If you have no notification, you must watch your Terminal every doing long progress command such as apt-get update. But if there is notification, you can leave your Terminal, do another task, and let the system notifies if your command has been finished. There is a program to do it is undistract-me.

Install undistract-me

Open your Terminal and perform this command
sudo apt-get install undistract-me
Note: this undistract-me package is available starting from Ubuntu Trusty until Wily. You can't execute command undistract-me, because that is basically just package which install some shell scripts. You must do the configuration to make it works.

The Configuration

Copy these two lines into your ~/.bashrc file. Make sure it looks like picture below.
source /usr/share/undistract-me/long-running.bash
notify_when_long_running_commands_finish_install

Then source it by this command:
source ~/.bashrc
Explanation: first line does source long-running.bash file, then second line executes a function inside long-running.bash which makes the notification appears. The last source command is important to make sure bash program recognize the new configuration (so you don't need to restart the Terminal window).

Test

Perform sleep 15 command, minimize Terminal window, and see if it works. You can perform any long progress command too. You should see notification like this.


Notes

Every command needs more than 10 seconds will be notified by undistract-me when it finished. You can change the 10 seconds time limit in /usr/share/undistract-me/long-running.bash file in the LONG_RUNNING_COMMAND_TIMEOUT=10 line. Edit the 10 value into any value you want.