Login

Various aspects of login are (will be) explained in this Article

Login shell in Gentoo
The most important job of a login shell in Gentoo is to read, which sets environment variables. See below for the details.

Csh/tcsh users are also recommended to read the following section about bash.

This section describes Gentoo specific matters of login shells. For login shells general in Unix, see the pointer(s) in.

Default: Bash and variants
In Gentoo, the default shell is bash. For many Bourne shell variants, including bash, the content of this section holds.

A login shell runs special configuration file(s), e.g. (and others) for bash. In Gentoo, it reads (= sources) other system-wide configuration files. These configuration files set environment variables, and do some other setups. These settings will be inherited by other shells, say opened in terminal emulators.

Load order of system-wide config files
A (bash) login shell reads:
 * first.
 * It then reads (sources) ,
 * and files under

If the shell is bash, is also sourced. This does not configure Gentoo itself; it rather provides the Gentoo-default of bash look-and-feel.

System wide config files explained

 * Provided by (or alternatives). Other than reading other files, this file doesn't do many jobs.
 * Provided by (or alternatives). Other than reading other files, this file doesn't do many jobs.


 * This file lies at the core of a login shell in Gentoo. It sets environment variables in order that these packages properly work.
 * It is generated from files . These files are installed by some packages (or created by config tools like eselect). For example is provided by.
 * This file is usually automatically updated. You can also manually update it by calling.
 * See also Handbook -> Environment variables -> section "Defining variables globally".
 * See also Handbook -> Environment variables -> section "Defining variables globally".


 * Since is provided and manged by  other packages may place additional files here. These scripts do not require an interpreter directive, nor do they need to be executable. They are used to set up an environment and define application-specific settings.
 * Since is provided and manged by  other packages may place additional files here. These scripts do not require an interpreter directive, nor do they need to be executable. They are used to set up an environment and define application-specific settings.

If these files are updated, typically, you have to re-read them again from your shell(s), for your shell to function correctly.

Csh and variants
(Please someone fill in this section.)

Fish
As stated in the article fish, fish can't load system-wide configuration files mentioned above.