Si la máquina tiene zsh, debería estar bien simplemente ejecutando zsh
en un aviso para intercambiar, si eso funciona, puede probar chsh
para intercambiar su shell (debería funcionar sin root) o cuando se conecta con ssh
poner ssh -t hostname zsh
para iniciarlo automáticamente.
Puedes probar el chsh
dominio. ¿Estás seguro de que zsh no está instalado en la computadora distante? Si no, puede hacer esto (citado de la sección 1.7 de preguntas frecuentes de zsh)
La idea básica es usar exec para reemplazar el shell actual con zsh. A menudo, puede hacer esto en un archivo de inicio de sesión como .profile (si su shell es sh o ksh) o .login (si es csh). Asegúrese de tener alguna forma de modificar el archivo (por ejemplo, a través de FTP) antes de intentarlo, ya que el ejecutivo suele ser bastante implacable.
Si tiene zsh en un subdirectorio bin de su directorio de inicio, coloque esto en .profile:
[ -f $HOME/bin/zsh ] && exec $HOME/bin/zsh -l
o si su shell de inicio de sesión es csh o tcsh, ponga esto en .login:
if ( -f ~/bin/zsh ) exec ~/bin/zsh -l
(en cada caso, -l le dice a zsh que es un shell de inicio de sesión).
Si desea verificar que esto funcione antes de comprometerse con él, puede hacer que el shell de inicio de sesión le pregunte si desea ejecutar zsh. El siguiente trabajo para proyectiles tipo Bourne:
[ -f $HOME/bin/zsh ] && {
echo "Type Y to run zsh: \c"
read line
[ "$line" = Y ] && exec $HOME/bin/zsh -l
}
y para shells tipo C-shell:
if ( -f ~/bin/zsh ) then
echo -n "Type Y to run zsh: "
if ( "$<" == Y ) exec ~/bin/zsh -l
endif
No es una buena idea poner esto (incluso sin -l) en .cshrc, al menos sin algunas pruebas sobre lo que se supone que debe hacer csh, ya que eso hará que cada instancia de csh para convertirse en zsh y hará que csh scripts (sí, desafortunadamente algunas personas los escriben) que no llaman a csh -f
fallar Si quiere decirle a xterm que ejecute zsh, cambie la variable de entorno SHELL a la ruta completa de zsh al mismo tiempo que ejecuta zsh (de hecho, esto es sensato para mantener la coherencia incluso si no está usando xterm). Si tiene que ejecutar zsh desde su .cshrc, una verificación de seguridad mínima es if ($?prompt) exec zsh.
Si desea que su shell de inicio de sesión aparezca en la lista de procesos como -zsh, puede vincular zsh a -zsh (por ejemplo, mediante ln -s ~/bin/zsh ~/bin/-zsh) y cambiar el exec a exec -zsh. (Asegúrese de que -zsh esté en su camino). Esto tiene el mismo efecto que la opción -l.
Nota al pie:si SÍ tiene acceso raíz, asegúrese de que zsh esté en /etc/shells en todas las máquinas apropiadas, incluidos los clientes NIS, o puede tener problemas con el FTP en esa máquina.
Descarga zsh con:
wget -O zsh.tar.xz https://sourceforge.net/projects/zsh/files/latest/download
mkdir zsh && unxz zsh.tar.xz && tar -xvf zsh.tar -C zsh --strip-components 1
cd zsh
Puede compilar zsh usted mismo, por ejemplo:
./configure --prefix=$HOME
make
make install
y luego inícielo explícitamente o programáticamente desde el archivo de inicio de su shell actual (ponga exec $HOME/bin/zsh -l
en el lugar correcto).