Cómo cambiar el shell predeterminado en Linux
Un shell es la interfaz a través de la cual puedes comunicarte con tu sistema Linux. Te permite escribir comandos y controlar tu computadora. Cada usuario de Linux tiene un shell predeterminado, que en la mayoría de los casos es bash. También hay muchas otras opciones disponibles, incluidas Zsh, ksh, rc y fish. Aquí te mostramos los distintos métodos para cambiar tu shell predeterminado en Linux.
Cómo encontrar el nombre actual de tu shell
Antes de comenzar a cambiar el shell predeterminado, es bueno saber qué shell estás usando actualmente. Puedes averiguarlo verificando la variable de entorno del sistema con el siguiente comando echo:
Este comando imprimirá la ruta de su shell actual, como por ejemplo /bin/bash
o /bin/zsh
.
El /etc/passwd
archivo contiene información importante sobre la cuenta de usuario. También puede utilizar este archivo para encontrar su shell actual:
También puede encontrar más información sobre el shell actual verificando el ID del proceso (PID), utilizando el comando ps:
Esta salida confirma que el shell actual es bash.
Listar todos los shells instalados
Ahora que conoce su shell actual, es posible que desee ver qué otras opciones están disponibles en su sistema. Para localizar todos los shells instalados en su sistema, debe echar un vistazo al /etc/shells
archivo.
Utilicemos el comando cat para ver una lista de todos los shells disponibles en su sistema:
Esto te dará una idea de los shells a los que puedes cambiar. También puedes instalar cualquier shell nuevo usando tu administrador de paquetes y usarlo como tu shell predeterminado.
Además, puedes probar temporalmente estos shells listados sin cambiar tu shell predeterminado. Para iniciar una nueva sesión de shell, simplemente escribe el nombre del shell en la terminal.
Por ejemplo, para probar Zsh shell, escriba:
Esto le permite experimentar con diferentes shells antes de decidir hacer un cambio permanente.
Cambiar el shell predeterminado en Linux con Chsh
La forma más sencilla de cambiar el shell predeterminado en Linux es usar el chsh
comando. El chsh
comando significa “cambiar shell” y se usa junto con la -s
opción seguida de la ruta del shell.
Si no conoce la ruta de su shell, ejecute type zsh
la terminal para obtener la ruta deseada. Después de obtener la ruta de su shell, puede cambiar su shell predeterminado a su shell específico.
Por ejemplo, si desea cambiar a Zsh, debe utilizar la chsh -s
ruta del shell Zsh:
Se le solicitará que ingrese su contraseña. Una vez que lo haga, deberá cerrar sesión y volver a iniciarla para confirmar los cambios.
El chsh
comando cambiará el shell de inicio de sesión predeterminado de forma permanente. Puede verificar los cambios ejecutando este comando:
Cambiar otro shell de usuario
Si tiene privilegios de root y la capacidad de usar el sudo
comando, puede cambiar el shell predeterminado para otras cuentas de usuario. Esto puede resultar útil si desea proporcionar un entorno de shell diferente, como fish, para otro usuario.
Por ejemplo, para cambiar el shell de otro usuario a Zsh, ejecute este comando en la terminal:
Este comando le indica al sistema que cambie el shell predeterminado para el usuario específico al shell Zsh, que se encuentra en /bin/zsh
.
Cambiar el shell predeterminado en Linux usando Usermod
Otro método para cambiar de shell es mediante el usermod
comando . Este comando se utiliza para modificar cuentas de usuario y también se puede utilizar para cambiar el shell predeterminado.
Para cambiar su shell predeterminado usando usermod
, abra una terminal con privilegios de root y escriba este comando:
Aquí debes reemplazarlo /path/to/new/shell
con la ruta de shell deseada y your_username
con tu nombre de usuario real.
Por ejemplo, cambiemos el shell bash predeterminado a zsh:
Al igual que antes, cierre la sesión y vuelva a iniciarla en su sistema Linux para que estos cambios surtan efecto.
Puede verificar el cambio al nuevo shell mirando los detalles de la cuenta de usuario con el siguiente comando:
Cómo cambiar manualmente el shell predeterminado en Linux
También puedes cambiar el shell predeterminado manualmente editando el /etc/passwd
archivo. Puedes hacerlo reemplazando la ruta del shell predeterminado con el nuevo shell. Sin embargo, ten cuidado con esta técnica, ya que puede ocasionar problemas si no se realiza correctamente.
Para cambiar manualmente su shell, abra el /etc/passwd
archivo usando su editor de texto favorito (como nano o vim) con privilegios de root:
Busque su nombre de usuario en el archivo. El último campo de la entrada de su usuario mostrará su shell actual. Cámbielo por la ruta del shell que desee.
Por ejemplo, cambiemos nuestra /bin/bash
ruta de shell predeterminada a /bin/zsh
:
Por último, guarde el archivo presionando Ctrl+ Sy salga del editor con Ctrl+ X. Nuevamente, cierre sesión y vuelva a iniciarla para aplicar los cambios.
Alternativa a su shell predeterminado
Si bien Bash es una excelente y poderosa herramienta de programación de scripts, existen otros shells que pueden mejorar su experiencia en la línea de comandos y brindar mejores opciones de personalización:
Pez
fish hace referencia a Friendly Interactive Shell. Este shell tiene una interfaz de línea de comandos intuitiva, con resaltado de sintaxis, sugerencias automáticas y tabulaciones que facilitan la escritura de comandos.
fish también incluye una herramienta de configuración basada en la web. Esto significa que puedes modificar la configuración y crear funciones sin tener que buscar en los archivos de configuración.
Zsh
Zsh, o Z shell, es altamente personalizable y tiene muchas funciones útiles. Algunas de sus mejores funciones incluyen la creación de bloques, la autocorrección, las configuraciones personalizadas y el autocompletado avanzado de pestañas.
Zsh también admite complementos y temas, lo que facilita la personalización de la experiencia de shell a su gusto. Con Zsh, también puede mostrar su rama de Git y realizar manipulaciones complejas de archivos con patrones simples.
Ksh
ksh, o KornShell, aprovecha las mejores características de C shell y Bourne shell, lo que lo convierte en un shell potente y fácil de usar con capacidades avanzadas de creación de scripts. Algunas de las características de ksh incluyen funciones matemáticas integradas, edición desde la línea de comandos, creación de scripts de shell y extensibilidad.
Terminando
Cambiar el shell predeterminado en Linux es un proceso sencillo que puede mejorar tu experiencia con la línea de comandos. Si eres un usuario avanzado, definitivamente deberías probar otros shells alternativos de Linux.
Crédito de la imagen: Lukas vía Unsplash . Todas las capturas de pantalla son de Haroon Javed.
Deja una respuesta