Terminal Vs. Shell [doublon]

14

Duplicata possible:
Quelles sont les différences entre le shell, la console et le terminal?

Cela ressemble probablement à une question stupide, mais j'ai beaucoup de mal à différencier clairement un shell (tel que Bourne ou bash) et l'application Terminal dans GNOME. Je me rends compte que les deux sont complètement différents mais je n'arrive pas à trouver une réponse claire écrite dans le texte. Quelqu'un pourrait-il clairement distinguer les deux?

Nicklas Olsen
la source

Réponses:

15

Le programme terminal n'est qu'une interface graphique avec le shell. Le shell est ce qui gère réellement les commandes et ainsi de suite; le programme terminal lui donne juste un moyen d'interagir avec l'environnement graphique.

user55325
la source
8

Le shell est un programme Unix typique. Il lit les commandes de l'entrée standard et imprime quelque chose sur la sortie standard. C'est simple et bon.

Les points sont les suivants: Dans un environnement graphique (comme GNOME ou KDE), un programme ne peut pas simplement écrire du texte directement sur le bureau. Si les programmes le pouvaient, cela deviendrait rapidement un gâchis et un chaos. Par conséquent, vous avez besoin d'un programme qui fournit un espace où d'autres programmes peuvent écrire leur texte. Ce programme accepte également les séquences de touches de l'utilisateur et les convertit en séquences d'octets, car c'est ce que de nombreux programmes (ligne de commande, texte, pas GUI) attendent. Tout cela est le travail de l'application Terminal GNOME.

Vous avez donc le shell (probablement bash), et enroulé autour de lui est le terminal GNOME. Pour voir exactement ce que le terminal GNOME ne vous pouvez exécuter (Alt + F2) gnome-terminal, xtermet rxvtentre les deux et voir où ils sont différents et ce qu'ils ont en commun.

Roland Illig
la source
1

Je pense que ce que vous demandez vraiment, c'est quelle est la différence entre la console et une application de terminal comme xterm?

Si c'est le cas, la console est locale à la machine, il ne peut y avoir qu'une seule console. La sortie de la console est dirigée vers /dev/consolece qui signifie généralement votre moniteur. Un terminal, en revanche, est vraiment un émulateur de terminal qui remonte à l'époque où les ordinateurs centraux étaient aussi grands que des salles entières et où les utilisateurs interagissaient avec des terminaux stupides distants du mainframe. Les terminaux enverraient des commandes de terminal sur une ligne série au mainframe pour interagir avec lui. De nos jours, nous utilisons toujours des terminaux, mais ils sont émulés afin que nous puissions en utiliser plusieurs (chacun lié à un pseudo tty /dev/pts#) et nous pouvons même les utiliser à distance et transmettre leur connexion sur un canal SSH crypté sur Internet.

La console et une application de terminal invoquent votre ou vos shell (s) lors de la connexion.

SiegeX
la source
-2

Le terminal est essentiellement un shell émulé dans une fenêtre.

Si vous voulez voir un vrai shell sans Terminal, appuyez sur Ctrl+ Alt+ F1et Ctrl+ Alt+ F8pour revenir à l'interface graphique.

digitxp
la source
Un terminal n'est pas une sorte de shell.
Ignacio Vazquez-Abrams le
@Dennis Care à élaborer?
digitxp
Voir le commentaire d'Ignacio. Un terminal, qu'il s'agisse d'une console système ou gnome-terminal, xtermou PuTTY s'apparente plus à un terminal physique (et est donc un émulateur ). Un shell est un logiciel qui, entre autres, accepte les entrées, effectue le traitement et sort sur un terminal.
pause jusqu'à nouvel ordre.
@Dennis Je devrais donc le dire "Le terminal contient essentiellement un shell émulé dans une fenêtre graphique."?
digitxp
Un terminal n'est pas nécessairement une fenêtre graphique et un shell n'y tourne pas nécessairement. Et le shell n'est pas émulé (il pourrait s'agir d'un autre programme). Ce que vous demandez est essentiellement le même que votre original. Voir ici la réponse qui est très proche d'être complète et assez précise.
pause jusqu'à nouvel ordre.