Categorías: Linux

Cómo cambiar su shell predeterminado en Linux con chsh

Fatmawati Achmad Zaenuri / Shutterstock

Bash no es el único shell de Linux. Es fácil probar otros shells, como Zsh , que es muy popular. Cuando haya encontrado uno que le guste, use el chshcomando para convertirlo en su shell predeterminado. Te mostraremos cómo.

Por qué es importante un caparazón

El caparazón se encuentra entre usted y el sistema operativo. Proporciona el entorno dentro de una ventana de terminal que le permite escribir comandos y ejecutar programas. El shell verifica su entrada y descubre lo que quiere. Si puede realizar su oferta por sí mismo, lo hace. Si necesita ayuda externa, busca la ruta y encuentra los programas que pueden hacer lo que sea que solicite.

Hay muchos shells diferentes disponibles en Linux. Todos le permiten realizar las mismas tareas básicas: explorar el sistema de archivos, trabajar con archivos, iniciar programas y ejecutar scripts. Sin embargo, cada uno realiza estas tareas a su manera y tiene sus propias características e idiosincrasias especiales.

Las carcasas tienden a ser diseñadas por personas que quieren que las cosas se comporten de una manera específica. Si su pensamiento se alinea con el de ese diseñador, ese caparazón podría ser una buena opción para usted. Además, probar un nuevo shell en Linux es fácil.

En la mayoría de las distribuciones de Linux, incluido Ubuntu,  el shell predeterminado esbash . Hace un gran trabajo y es muy capaz. Sin embargo, otro shell podría ofrecer una diferencia de ahorro de tiempo que tendría un gran impacto en su flujo de trabajo. ¡Nunca sabrás si no miras!

Un balde de conchas

Hemos cubierto los diferentes shells de Linux  antes, pero aquí hay una introducción rápida a los más comunes:

  • bash: El  shell Bourne again es el predeterminado en muchas distribuciones.
  • rbash: este   shell restringido bash proporciona una funcionalidad mínima a la persona o script que se ejecuta en él.
  • ash: El shell Almquist  es una versión más ligera de bash.
  • dash: Debian Alquist Shell es el script de shell predeterminado en Ubuntu. Si bien bashes el inicio de sesión y el shell interactivo predeterminados,  dashse usa para ejecutar procesos del sistema porque es mucho más liviano que bash.
  • zsh: El caparazón Z  es una versión moderna de la bashfamilia de proyectiles. Ofrece grandes mejoras, como revisiones ortográficas de comandos y correcciones sugeridas.
  • pescado: esta  concha interactiva amigable  se escribió desde cero y no se deriva de ninguna de las otras familias de conchas. Está destinado a ser fácil de usar. Entre sus muchas otras ventajas, Fish ofrece sugerencias de comandos basados ​​en su historial y el contenido de la carpeta actual, similar al texto predictivo .
  • ksh: KornShell  proporciona un lenguaje de secuencias de comandos particularmente sólido.

Lista de las carcasas instaladas

Para ver qué shells están instalados en su computadora, use este comando. Simplemente enumera el contenido del /etc/shellsarchivo:

gato / etc / shells

Hemos mencionado  bash, dashy rbash, pero ¿qué es sh?

shes el caparazón de Thompson , escrito en 1971 por Ken Thompson de Bell Labs . Ya no se mantiene y hace mucho que ha sido reemplazado por conchas modernas. Se incluye únicamente para mantener la compatibilidad con scripts más antiguos que todavía tienen lo siguiente como primera línea:

#! / bin / sh

Esto le indica al sistema que use el shshell para ejecutar el script. ¿Realmente tiene ese shell antiguo en su máquina y lo está utilizando para ejecutar sus scripts? El whichcomando nos dirá qué programa se ejecuta realmente cuando escribe un comando.

Veamos qué se ejecuta cuando escribe sh:

cual sh

Esto parece encontrar un binario. Sin embargo, si profundizamos un poco más, veremos que es un enlace simbólico que en realidad apunta al dashshell ligero que se usa para ejecutar scripts:

ls -l / bin / sh

Se trata de una forma sencilla y ligera de proporcionar una red de seguridad para los scripts que esperan encontrar sh en los sistemas modernos.

Instalación de otro shell

Instalemos el  fishshell y configurémoslo como predeterminado para  dave. En Ubuntu, escribimos el siguiente comando:

sudo apt-get install fish

En Manjaro, use pacman:

sudo pacman -Sy fish

En Fedora, escriba lo siguiente:

sudo dnf instalar pescado

Cuando la instalación esté completa, puede verificar los shells instalados una vez más:

gato / etc / shells

Nuestro nuevo caparazón aparece como /usr/bin/fish. Tome nota de ese camino, lo necesitará en breve.

La variable de entorno $ SHELL

La $SHELL variable de entorno contiene el nombre de su shell actual. Podemos comprobar cuál está configurado con  echo:

echo $ SHELL

Comencemos el fishcaparazón:

pez

Ahora, revisemos nuevamente lo que $SHELLdice la variable de entorno:

echo $ SHELL

La primera vez que lo usamos echo $SHELL, estamos en el bashcaparazón. La variable de entorno contiene la ruta al bashejecutable /bin/bash.

Cuando iniciamos el fishshell, recibimos un mensaje de bienvenida amigable y el símbolo del sistema cambia. Lo que podría sorprender es que el   $SHELLentorno aún mantiene la ruta hacia el bashejecutable /bin/bash. Está bien, esto es normal.

Cuando inicia un nuevo shell (o cualquier otro programa), hereda el entorno del shell padre. Entonces, el fishshell hereda las variables de entorno globales y exportadas del bashshell. Debido a que el valor de la $SHELLvariable de entorno no se ha modificado, tiene el mismo valor en el fishshell que en el bashshell.

Estamos funcionando fishcomo cualquier otro programa. También podemos usar  exit para salir del fishshell. Se cierra como cualquier otro programa y volvemos al bashshell.

Eso es genial para probar nuevas conchas, ver qué pueden hacer y si te llevas bien con ellas. Puede explorar antes de dar el salto y adoptar uno como caparazón de referencia.

Si decide hacer el,  fisho cualquier otro shell, su predeterminado, necesitará usar el chshcomando.

El comando chsh

El chshcomando le permite cambiar su shell predeterminado. El truco es ser consciente de que le permite cambiar tanto el inicio de sesión predeterminado como los shells interactivos predeterminados. Es posible que desee cambiar uno u otro, o ambos.

Siempre que inicie sesión para obtener un símbolo del sistema, utilice el shell configurado para ser su shell de inicio de sesión. Cuando ya está conectado y abre una ventana de terminal, usa el shell configurado para ser su shell interactivo. Estos pueden ser los mismos o diferentes caparazones.

Para configurar su shell de inicio de sesión, use chshsin parámetros:

chsh

Se le solicita su contraseña. Luego, debe escribir la ruta al nuevo shell y presionar Enter.

Si hacemos una conexión remota a esta computadora de prueba desde otra, nos encontraremos en el fishshell una vez que hayamos iniciado sesión.

Para cambiar su shell interactivo, utilice  chshla -sopción (shell). Pase la ruta al nuevo shell en la línea de comando:

chsh -s / usr / bin / fish

Se le solicita su contraseña y regresa al símbolo del sistema de su shell actual. Debe cerrar la sesión y volver a iniciarla para que el cambio surta efecto. Cuando lo haga, verá el saludo y el fishsímbolo del sistema de shell.

La  $SHELLvariable de entorno ahora contiene la ruta a su nuevo shell predeterminado:

echo $ SHELL

Cambiar el shell de otra cuenta de usuario

Si tiene privilegios de root y puede usarlos sudo, puede cambiar los shells de otras cuentas de usuario. El comando es el mismo que antes, con la adición del nombre de usuario de esa persona agregado a la línea de comando:

sudo chsh -s / usr / bin / fish mary

La  marypróxima vez que inicie sesión, verá el nuevo shell cuando abra una ventana de terminal.

Todo el mundo tiene un favorito

Siempre que se sienta cómodo con su elección de caparazón y le funcione, ¡eso es genial! Solo recuerde, debe poder ejecutar scripts comunes, como rutinas de instalación. Para las conchas mencionadas aquí, esto no debería ser un problema.

Por supuesto, también puede descargar e instalar un nuevo shell y probarlo sin realizar ningún cambio de configuración en su computadora. Cuando esté listo para casarse, chshrealizará la ceremonia por usted.

responroot

Compartir
Publicado por
responroot
Etiquetas: linux

Entradas recientes

Steamlytics: La nueva herramienta imprescindible para los gamers de Steam

  El mundo del gaming ha experimentado un crecimiento exponencial en los últimos años. La…

1 año hace

Cuándo reemplazar su antigua unidad flash USB

Stokkete/Shutterstock.com ¿Sigue utilizando una unidad flash USB obsoleta para almacenar sus archivos? ¿Por qué no…

3 años hace

¿Qué es una pantalla Nano IPS?

LG Los fabricantes siempre intentan mejorar el rendimiento de imagen de los monitores. Como resultado,…

3 años hace

10 formas de jugar con un presupuesto bajo (o nulo)

Patty Chan/Shutterstock.com Si cree en lo que ve en las redes sociales, puede pensar en…

3 años hace

¿Demasiadas suscripciones? Aquí está cómo empezar a cortarlos

Seksan.TH/Shutterstock.com Los servicios de suscripción como Netflix, Game Pass y Spotify nos permiten consumir tantas…

3 años hace

Cómo configurar la puerta de enlace predeterminada en Linux

fatmawati achmad zaenuri/Shutterstock El acceso a Internet, oa cualquier otra red, se rige por la…

3 años hace