
¿Cómo cambio mi shell a uno instalado en mi directorio de inicio? Instalé un nuevo zsh en mi directorio de inicio, que se recoge:
>> which zsh
>> /home/myname/bin/zsh
No aparece en /etc/shells (y no lo estará, ya que no tengo permiso), entonces, ¿cómo lo instalo?
chsh -s $(which zsh) myname
Changing shell for myname
Password:
chsh: "/home/myname/bin/zsh" is not listed in /etc/shells
chsh: use -l option to see list
Respuesta1
El objetivo /etc/shells
es que el administrador pueda controlar lo que los usuarios configuran como su shell. Por lo tanto , configurar un shell que no figura en la lista /etc/shells
sería un agujero de seguridad. La mejor solución es pedirle al administrador que instale zsh en todo el sistema, pero si eso no es posible, su única opción es configurar su shell actual (supongo que bash) para ejecutar su shell personalizado. Puede hacer esto agregando lo siguiente a ~/.bash_profile
(esto solo afectará a los shells de inicio de sesión, mientras que ~/.bashrc
también afectará a los shells sin inicio de sesión que pueden romper los scripts).
exec ~/bin/zsh