Environment variables in Ubuntu

The following is a exstract from Ubuntu help

The can be used to set enviroment variables in the terminal: ~/.bashrc

Session-wide environment variables

order to set environment variables in a way that effects a user's
entire desktop session, one may place commands to set their values in
one of the "hidden" script files in the user's home directory. The more
common such files are outlined below.

  • ~/.profile
    – This is probably the best file for placing environment variable
    assignments in, since it gets executed automatically by the DisplayManager during the startup process desktop session as well as by the login shell when one logs-in from the textual console.

  • ~/.bash_profile or ~./bash_login
    – If one of these file exist, bash executes it rather then "~/.profile"
    when it is started as a login shell. (Bash will prefer
    "~/.bash_profile" to "~/.bash_login"). However, these files won't
    influence a graphical session by default.

  • ~/.bashrc
    – Because of the way Ubuntu currently sets up the various script files
    by default, this may be the easiest place to set variables in. The
    default configuration nearly guarantees that this file will be executed
    in each and every invocation of bash as well as while logging in to the
    graphical environment. However, performance-wise this may not be the
    best thing to do since it will cause values to be unnecessarily set
    many times.


System-wide environment variables

variable settings that effect the system as a whole (rather then just a
particular user's desktop session) can be placed in any of the many
system-level scripts that get executed when the system or the desktop
session are loaded. Ubuntu defines several locations dedicated to
placing such settings:

  • /etc/profile
    – This file gets executed whenever a bash login shell is entered (e.g.
    when logging in from the console or over ssh), as well well as by the
    DisplayManager when the desktop session loads. This is
    probably the file you will get referred to when asking veteran UNIX
    system administrators about environment variables. In Ubuntu, however
    this file does little more then invoke the /etc/bash.bashrc file.

  • /etc/bash.bashrc – This is is the system-wide version of the ~/.bashrc file. Ubuntu is configured by default to execute this file whenever a user enters a shell or the desktop environment.

  • /etc/environment
    – This file is specifically meant for system-wide environment variable
    settings. It is not a script file, but rather consists of assignment
    expressions, one per line. Specifically, this file stores the
    system-wide locale and path settings.

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.