🥇 Configuración del shell

🍿 ¿Cuál es la diferencia entre una login shell y una non-login shell?

Lo primero que tenemos que diferenciar es un login y non-login shell. Un login shell es aquella que es desplegada cuando se requiere ingresar un nombre de usuario y contraseña, esto sucede cuando inicializamos un sistema o accedemos de forma remota a uno. Por su parte un non-login shell es aquel que inicia sin requerir credenciales, es decir el que se abre cuando ejecutamos la terminal dentro del escritorio de Linux.

🍿 ¿Cómo se configura la shell de Linux?

El ambiente de la shell se personaliza mediante archivos de configuración que le indican como debe funcionar. Estos archivos son funciones de bash que son ejecutadas cuando abrimos una shell. El orden en que estos archivos se ejecutan es:

🥤 Durante el login

  • /etc/profile
  • /etc/profile.d/

El propósito de este archivo es definir todas las variables iniciales de entorno y ejecutar scripts requeridos para la autenticación.

🥤 Dentro de la cascada de configuraciones del bash

Después en este orden, el primero de los archivos que se encuentre es ejecutado, y si existe otro en la lista sera ignorado de la ejecución.

  • ~/.bash_profile
  • ~/.bash_login
  • ~/.profile

🥤 Después de la ejecución de alguno de los archivos anteriores serán invocados en este orden

  • ~/.bashrc (alias y funciones definidas)
  • /etc/bashrc

🍿 ¿Cómo configurar el cierre de sesión de un usuario en Linux?

Si dentro del sistema Linux existe el archivo .bash_logout, este sera invocado cada vez que un usuario cierre su sesión. Si no existe este archivo en tu sistema, puedes crearlo para que ejecute las operaciones que deseas realizar previo a cerrar tu sesión.