/ / Connectez-vous avec un shell personnalisé dans un VT nouveau ou existant - linux, bash, shell, session

Connectez-vous avec un shell personnalisé dans un VT nouveau ou existant - linux, bash, shell, session

Est-il possible de créer complètement un nouveau terminal, exactement comme nous obtenons le terminal lorsque nous appuyons sur Ctrl+Alt+F2 ... F7 dans Ubuntu?

J'ai lu des articles sur les sessions créant des démons à partir desessions qui ne nécessitent pas de tty. Ma question est donc la suivante: un nouveau terminal peut-il être créé non pas en tant que programme en bash, mais en autonome? Si tel est le cas, donnez-moi une référence qui puisse m'aider à accéder à l’un des 7 écrans présents dans le système. J'ai déjà créé un script shell mais il fonctionne comme un programme sous bash

Réponses:

0 pour la réponse № 1

le terminaux virtuels (VT) accessibles via Ctrl+Alt+Fn ne pas courir un coquille. Au lieu de cela, ils vous permettent de vous connecter, en exécutant généralement le getty (8) ou agetty(8) programme qui invoquera login (1) (ou un gestionnaire d’affichage graphique comme GDM qui commencera une session graphique).

La connexion interactive sur une console texte lancera le shell défini pour votre utilisateur dans /etc/passwd.

  • Ainsi, si vous souhaitez vous connecter à l'aide de votre shell, par exemple, /usr/bin/bettershell, le plus simple est de créer un utilisateur test dont le shell est paramétré dans votre programme:

    useradd -m -s /usr/bin/bettershell testuser
    passwd testuser
    

    Vous devriez maintenant pouvoir tester votre shell en vous connectant avec testuser de n'importe quel texte VT.

  • Si, pour une raison quelconque, vous souhaitez qu'un VT exécute votre shell immédiatement la procédure de connexion, vous pouvez remplacer la ligne getty pour ce VT dans /etc/inittab avec le chemin de votre coquille. Soyez averti que votre coquille sera exécuté comme root dans ce cas, toute personne ayant un accès physique à votre machine pourra l’utiliser sans entrer de mot de passe.