Sé que el chsh
El comando se usa para cambiar el shell de inicio de sesión de un usuario entre los shells instalados, pero funciona independientemente de dónde proviene el inicio de sesión (tty1, tty2, ssh, …). Lo que me gustaría lograr es tener, p. csh
en inicios de sesión desde tty7 y, p. bash
en todas las demás fuentes de inicio de sesión.
¿Es esto factible en absoluto?
Respuesta aceptada:
No y sí.
No, el shell de inicio de sesión está vinculado al usuario, no al TTY donde el usuario inicia sesión. Un usuario solo puede tener un shell de inicio de sesión específico.
Sí, el usuario puede, en los archivos de inicialización del shell de inicio de sesión, iniciar cualquier otro programa o utilidad dependiendo de cualquier condición.
Por ejemplo, un usuario con bash
ya que su shell de inicio de sesión actual podría agregar algo como lo siguiente a su .bash_profile
archivo para ejecutar csh
al iniciar sesión en la terminal virtual 7:
case $(tty) in
*/tty7) exec csh -l ;;
esac
exec csh -l
reemplazaría el shell actual con csh
, comenzó como un shell de inicio de sesión.