GNU/Linux >> Tutoriels Linux >  >> Linux

Comment changer (de manière permanente) le shell par défaut après la connexion à un Ttyn spécifique sous Linux ?

Je sais que le chsh La commande est utilisée pour basculer le shell de connexion d'un utilisateur entre les shells installés, mais cela fonctionne indépendamment d'où provient la connexion (tty1, tty2, ssh, …). Ce que j'aimerais réaliser, c'est avoir par ex. csh sur les connexions depuis tty7 et par ex. bash sur toutes les autres sources de connexion.

Est-ce faisable du tout ?

Réponse acceptée :

Non et oui.

Non, le shell de connexion est lié à l'utilisateur, pas au TTY auquel l'utilisateur se connecte. Un utilisateur ne peut avoir qu'un seul shell de connexion spécifique.

Oui, l'utilisateur peut, dans les fichiers d'initialisation du shell de connexion, démarrer tout autre programme ou utilitaire en fonction de n'importe quelle condition.

Par exemple, un utilisateur avec bash car leur shell de connexion actuel pourrait ajouter quelque chose comme ce qui suit à leur .bash_profile fichier pour exécuter csh lors de la connexion au terminal virtuel 7 :

case $(tty) in
    */tty7) exec csh -l ;;
esac

exec csh -l remplacerait le shell actuel par csh , démarré en tant que shell de connexion.


Linux
  1. Comment changer le répertoire Apache 'DocumentRoot' par défaut sous Linux

  2. UNIX / Linux :comment forcer l'utilisateur à changer son mot de passe lors de la prochaine connexion après la réinitialisation du mot de passe

  3. Changer le shell par défaut sous Linux

  4. Comment définir définitivement $PATH sous Linux/Unix ?

  5. Comment changer mon shell par défaut sur un compte de domaine

Comment désactiver la connexion SSH à un utilisateur spécifique sous Linux

Comment changer le shell par défaut dans le système Linux

Comment changer un shell d'utilisateurs sous Linux

Comment changer d'utilisateur sous Linux

Comment changer l'adresse IP sous Linux

Qu'est-ce que le shell de connexion sous Linux ?