Puede usar el shell de Linux todos los días, pero la forma en que lo usa determina mucho sobre su comportamiento. Es posible que haya oído hablar de la diferencia entre un shell de inicio de sesión y un shell sin inicio de sesión. Y aunque puede no parecer tan obvio al principio, existen varias diferencias entre los dos tipos de shell.
Aquí encontrará todo lo que necesita saber sobre los shells de inicio de sesión en Linux.
¿Qué es un shell de inicio de sesión?
Un shell de inicio de sesión es exactamente eso: un shell que se inicia cuando inicia sesión directamente en la máquina Linux. Cuando ingresa a su sistema desde un consola virtual o sobre SSH, el shell que se inicia es un shell de inicio de sesión.
Por el contrario, si inicia una ventana de terminal, esa sesión de shell normalmente no es un shell de inicio de sesión. Lo mismo ocurre cuando inicia un subshell escribiendo el nombre del shell en la línea de comando. Este shell es solo un shell interactivo.
La diferencia clave entre los dos está en el comportamiento del caparazón. El shell a menudo solo lee ciertos archivos al inicio. Bash leerá el
/etc/profile, entonces el .bash_perfil, .bash_login, y archivos .profile en su directorio de inicio solo si se invoca como un shell de inicio de sesión.Cómo saber si está utilizando un shell de inicio de sesión
Es fácil ver si está ejecutando un shell de inicio de sesión o no. Si inició su shell desde la aplicación de terminal de escritorio, lo más probable es que no lo esté, a menos que esté en otro entorno de terminal como WSL o la terminal macOS.
Puede verificar si está ejecutando un shell de inicio de sesión con este comando;
eco$0
Si está utilizando un shell de inicio de sesión, verá el nombre del shell precedido por un guión (-). Si no, solo verá el nombre del shell.
Configuración de su shell de inicio de sesión en Linux
Para configurar su shell de inicio de sesión, use el comando chsh. Puede configurar su shell de inicio de sesión en la ruta absoluta de cualquier shell enumerado en /etc/shells.
Para iniciar cualquier shell como shell de inicio de sesión, generalmente puede usar una opción de línea de comandos. Por ejemplo, para iniciar Bash como shell de inicio de sesión:
intento --acceso
Si está utilizando un escritorio Linux, a menudo puede especificar qué comando se ejecuta cuando abre una ventana de terminal. Si desea que su shell se ejecute como un shell de inicio de sesión, puede poner esa opción allí.
Ahora ya sabe acerca de los shells de inicio de sesión
Ahora debería comprender qué son los shells de inicio de sesión. Lanzar su shell, ya sea directamente desde la consola o desde una ventana de terminal, determinará cómo se comportará.
Si es nuevo en Linux, puede preguntarse qué shell es mejor. Puede seguir con el Bash predeterminado, o puede explorar las características especiales que ofrecen los shells alternativos como Fish o Zsh.