GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo cambiar el shell predeterminado en Linux

Este artículo explica cómo cambiar el shell predeterminado en Linux. Esto le permite configurar bash, sh, zsh, csh, fish, etc. como shell.

El artículo proporciona instrucciones sobre cómo cambiar el shell de inicio de sesión desde la línea de comandos con chsh, o cómo cambiar el shell solo para una aplicación de terminal específica. Si bien el artículo está dirigido a usuarios de Linux, también debería funcionar en otros sistemas similares a Unix.

Cómo cambiar el shell de inicio de sesión predeterminado con chsh (desde la línea de comandos)

Para cambiar el shell de inicio de sesión predeterminado, usamos chsh , una herramienta de línea de comandos para cambiar el shell de inicio de sesión.

Este programa cambia el shell de inicio de sesión cambiando el /etc/passwd Archivo y configuración del $SHELL Variable ambiental. Puede anular el shell predeterminado en una aplicación de terminal configurando el shell en la configuración del terminal; los detalles se pueden encontrar en la segunda parte de este artículo.

Una nota para los usuarios de Fedora. Fedora no tiene chsh instalado por defecto y para usarlo necesitas un paquete llamado. para instalar util-linux-user . Si desea omitir la instalación de este paquete, puede lchsh Para cambiar el shell de inicio de sesión predeterminado:

sudo lchsh $USER

Es importante tener en cuenta que un usuario normal con chsh solo puede cambiar el shell de inicio de sesión de la cuenta actual, mientras que el superusuario puede cambiar el shell de inicio de sesión de cualquier cuenta, incluida la cuenta raíz. Además, el comportamiento predeterminado para usuarios que no son root es aceptar solo shells que están en la lista /etc/shells Archivar y emitir una advertencia al usuario root.

Entonces, antes de cambiar su caparazón, Enumere todos los mejillones que se enumeran en el /etc/shells Archivo desde su sistema Linux usando el siguiente comando:

cat /etc/shells

Ejemplo con salida:

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/tmux
/bin/zsh

Si el shell que desea usar no aparece aquí, es posible que no esté instalado en su sistema. Así que instálelo (por ejemplo, instale Zsh en Debian/Ubuntu/Linux Mint/Pop! _OS con:sudo apt install zsh ) y verifique nuevamente.

Para cambiar el shell de su usuario, haga lo siguiente:

chsh

Eso funciona chsh en un modo interactivo, le pide la contraseña, luego enumera su shell actual (la mayoría de las distribuciones de Linux usan Bash como el shell predeterminado) y le pide que ingrese un valor para su nuevo shell. Aquí está el comando con su salida:

$ chsh
Password:
Changing the login shell for logix
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:

Para cambiar su shell, ingrese la ruta al nuevo shell (que existe en /etc/shells ) y presiona el Enter Clave.

Por ejemplo, para cambiar el shell del usuario actual de bash a zsh:

$ chsh
Password:
Changing the login shell for logix
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /bin/zsh

Si está utilizando una versión de chsh que no comienza con un símbolo del sistema interactivo después de ejecutar chsh , cambie el shell de inicio de sesión para su usuario directamente:

chsh -s <SHELL>

Por ej. para cambiar el shell a Zsh:

chsh -s /bin/zsh

Después de cambiar el shell de su cuenta, cierre sesión y vuelva a iniciar sesión para usar el nuevo shell.

Para cambiar el shell de inicio de sesión para otro usuario o para el usuario root, inicie sesión como root en el indicador de shell. en su - , sudo -i , sudo su , etc. y ejecute:

  • Para cambiar el shell de la cuenta raíz (y cuando se le solicite, ingrese el shell de inicio de sesión deseado con su ruta completa):

chsh

  • Para cambiar el shell de otro usuario (esto también funciona para el usuario raíz con root como nombre de usuario):

chsh -s <SHELL> <USERNAME>

Esta vez usamos chsh con ese -s -Opción que cambia el shell de inicio de sesión directamente (no se ejecuta en modo interactivo). Aquí, SHELL es el nuevo shell (por ejemplo, /bin/zsh ) y USERNAME es el usuario para el que está cambiando el shell; por ejemplo, para cambiar el shell a /bin/zsh para el usuario Logix , usarías:chsh -s /bin/zsh Logix ).

También te puede gustar esto:Starship es un indicador de shell mínimo y rápido en Rust

Cambie el shell de su usuario en una aplicación de terminal

Puede usar un shell que sea diferente del shell de inicio de sesión ($SHELL ) para una aplicación de terminal específica, si esa aplicación permite configurar un shell personalizado o ejecutar un comando personalizado en lugar del shell predeterminado.

Como nota al margen, también puede cambiar el shell actual (no un cambio permanente) ingresando el comando de shell que desea usar en una terminal (por ejemplo, si escribe "zsh", cambiará a usar zsh para esa sesión; salir) por escribiendo “salir”).

Para tomar terminal de GNOME (utilizado como terminal predeterminado en los escritorios GNOME y Cinnamon). Abre su Preferences , haga clic en el perfil actualmente activo (generalmente etiquetado como Predeterminado o Sin título si no lo ha cambiado o agregado nuevos perfiles) en la barra lateral izquierda, luego haga clic en Command Pestaña:

Aquí puede configurar un shell personalizado que solo se utilizará con esta aplicación. Activa el Run a custom command instead of my shell Opción, luego en el Custom command Ingrese la ruta completa al shell que desea usar, p. /bin/zsh , /bin/bash , Etc.

En terminal Xfce4 , abre ese Preferences y en el General Pestaña tienes una opción llamada. activar Run a custom command instead of my shell , luego ingrese el comando personalizado debajo (este es el shell que desea usar con este terminal, por ejemplo, /bin/zsh , /usr/bin/fish , etc.).

Uso de KDE Plasmas Consolas , ve a Settings -> Edit Current Profile , y en el General Pestaña, cambia el Command Campo para la ruta completa del shell que desea usar (de nuevo, algo como:/bin/zsh , /bin/bash , /usr/bin/fish , etc.).

Uso de Guake , puede usar el shell de usuario desde su Preferences , en el Shell Pestaña donde tienes una opción llamada. Encuentra Default interpreter esto permite seleccionar cualquier shell enumerado en /etc/shells .

Para los terminales que le permiten ejecutar un shell personalizado, también debe encontrar una opción que le permita ejecutar el comando como un shell de inicio de sesión (generalmente llamado simplemente "ejecutar comando como shell de inicio de sesión"). Para obtener información sobre las diferencias entre un shell de inicio de sesión y un shell interactivo, consulte esta página.

La configuración es la misma en la mayoría de los casos, por lo que no daré más ejemplos. Sin embargo, vale la pena señalar que no todas las aplicaciones de terminal tienen opciones para permitir el uso de un shell personalizado; en tales casos, use el chsh Comando para cambiar el shell de inicio de sesión como se describe arriba.

Es posible que le guste esto:179 esquemas de color para su terminal Linux basado en Gtk (terminal Gnome, Tilix, terminal Xfce, más)


Debian
  1. Cómo cambiar el color de tu terminal Linux

  2. Cómo cambiar la versión predeterminada de Python en Debian 9 Stretch Linux

  3. Cómo cambiar la identidad de un sistema Linux

  4. Cómo cambiar permanentemente la dirección MAC en Linux

  5. ¿Cómo cambio mi shell predeterminado en una cuenta de dominio?

Cómo cambiar el shell de usuario predeterminado en el sistema operativo Linux

Cómo cambiar el shell predeterminado en el sistema Linux

Cómo cambiar la terminal predeterminada en Ubuntu

Cómo cambiar un Shell de usuario en Linux

Cómo cambiar el puerto SSH predeterminado en Linux [de forma adecuada y segura]

Cómo cambiar la contraseña de root en Linux