¿Cómo cambiar el shell predeterminado en FreeBSD?

10

El shell predeterminado en FreeBSD es shy realmente no lo soporto: el autocompletado es muy limitado y los comandos de repetición me matan. Me siento como un hombre armado y con una sola pierna ...

¿Cómo puedo cambiar la cáscara a nivel mundial zsh, o bash- para la raíz y para todos los usuarios actuales y futuros?

holms
fuente
1
Acabo de intentar esto para actualizar un usuario existente en FreeBSD 9.1 y el sistema me solicitó usar lo siguiente: chpass -s / usr / local / bin / bash USER
commbot

Respuestas:

28

Para usuarios existentes, use el chshcomando (" ch ange sh ell"):

chsh -s SHELL USER
chsh -s /usr/local/bin/bash root

Para futuros usuarios:

  • Editar " /etc/pw.conf" defaultshellpalabras clave
  • Cuando lo use adduser(), elija la carcasa necesaria
alvosu
fuente
15
... pero tenga cuidado al cambiar el shell raíz a algo del árbol de puertos (por ejemplo, / usr / local / bin / bash), porque si arruina algo durante una actualización de puerto puede encontrarse sin acceso a la raíz.
larsks
2
s / feature / future /?
Pausado hasta nuevo aviso.
larsk: zsh se puede construir estáticamente correcto ..? [al menos vi el parámetro en "make config"], por lo que entiendo, ¿es un binario con todas las dependencias incorporadas? Entonces, ¿puedo poner / usr / local / bin / zsh en / bin / zsh? el usuario root puede usar la versión anterior, está bien ... ¿entonces sería seguro?
holms
8
Construirlo estáticamente y copiarlo en / bin es probablemente lo más seguro que puede hacer. Solo dejo el shell de root configurado /bin/shy luego exec bashen esas raras ocasiones en las que realmente necesito iniciar sesión como root (más a menudo lo uso sudodesde mi cuenta de usuario).
larsks
Tenga en cuenta que esto debe ejecutarse como root (o con sudo).
Sopalajo de Arrierez