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.