Forum Linux.debian/ubuntu terminal et bash

Posté par  . Licence CC By‑SA.
Étiquettes :
1
29
mai
2019

Bonjour à tous,

je suis actuellement sur debian sans gnome-desktop installé, uniquement le gnome-terminal.
Je peux taper les commandes Bash. Mais j'aimerais savoir sur quel programme je tape mes commandes. Est ce tout simplement Bash qui utiliser la libX11 pour afficher du texte sur l'écran, ou est ce un autre programme qui crée un processus fils puis ensuite fait execv(/bin/bash, la commande que j'ai fait) et affiche la sortie de la commande sur sa propre sortie ?

Merci d'avance pour votre aide

  • # Émulateur de terminal

    Posté par  (site Web personnel) . Évalué à 2.

    L'affichage et la saisie sont effectués par l'émulateur de terminal (gnome-terminal, xterm, etc.), qui démarre une session shell (bash, dash, etc.), et qui fait le passe-plat.

    Debian Consultant @ DEBAMAX

    • [^] # Re: Émulateur de terminal

      Posté par  . Évalué à 1. Dernière modification le 29/05/19 à 17:54.

      donc a chaque je fois que je lance une commande, l'émulateur de terminal lance le programme bash et lui donne en argument la commande que j'ai écris ?

      • [^] # Re: Émulateur de terminal

        Posté par  . Évalué à 3. Dernière modification le 29/05/19 à 18:02.

        Non, l'émulateur de terminal lance un programme (bash (ou un autre shell) par défaut) et te permet d'interagir avec lui, donc quand tu tape une commande c'est à bash que tu demande de l'exécuter, l'émulateur de terminal intercepte ce qui est écrit sur la sortie standard/d'erreur et l'affiche dans sa fenêtre.

      • [^] # Re: Émulateur de terminal

        Posté par  . Évalué à 2. Dernière modification le 29/05/19 à 19:12.

        oui, dès que tu te connectes, le terminal lance Bash et ensuite "tu es dans Bash".

        Tu peux le vérifier en inscrivant un echo "lancement de Bash" dans ton ~/.bashrc (qui est exécuté à chaque démarrage de Bash) : tu verras cette ligne s'afficher dès que tu crées un terminal (à ta connexion notamment, mais si tu étais sous Xorg, à chaque fenêtre de terminal) et pas à chaque commande.

        => CQFD :)

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: Émulateur de terminal

          Posté par  . Évalué à 1.

          merci beaucoup pour vos réponses. Ou se trouve le programme du terminal ? comment se nomme ce programme ?

          • [^] # Re: Émulateur de terminal

            Posté par  . Évalué à 2.

            disclaimer : c'est ce que j'ai compris du bouzing, merci à ceux qui savent de confirmer ou infirmer !

            c'est getty qui crée les terminaux (agetty sur ma distribution, il en existe d'autres, mais ils ont toujours plus ou moins le même nom).

            j'anticipe les prochaines questions :
            - getty est lancé par ton process d'init (init ou systemd) - et le process d'init est directement lancé par le kernel
            - une fois le terminal créé, getty lance /bin/login qui va gérer ton login (le prompt d'invitation, checker le mot de passe, et si tout va bien lancer le shell qui est écrit dans /etc/passwd pour chaque utilisateur)

            En résumé :

            kernel -> init -> getty -> login -> bash

            En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

            • [^] # Re: Émulateur de terminal

              Posté par  . Évalué à 3.

              En mode texte, oui.
              Mais là il parle d'une session graphique, et il donne lui-même le nom du programme dans sa question, c'est gnome-terminal.

            • [^] # Re: Émulateur de terminal

              Posté par  . Évalué à 2.

              c'est getty qui crée les terminaux

              Je crois comprendre qu'il a une interface graphique. Donc ce n'est pas getty, mais un logiciel graphique tel que xfce-terminal ou gnome-terminal, etc.

              • [^] # Re: Émulateur de terminal

                Posté par  . Évalué à 2.

                oups vous avez raison, j'avais lu trop vite :)

                En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.