Terminal vs. Shell [duplicato]


14

Possibile duplicato:
quali sono le differenze tra shell, console e terminale?

Probabilmente sembra una domanda stupida, ma ho molti problemi a distinguere chiaramente tra una shell (come Bourne o Bash) e l'applicazione Terminale in GNOME. Mi rendo conto che entrambi sono completamente diversi ma non riesco a trovare una risposta chiara scritta nel testo. Qualcuno potrebbe chiaramente distinguere tra entrambi?

Risposte:


15

Il programma terminale è solo un'interfaccia grafica per la shell. La shell è ciò che gestisce effettivamente i comandi e così via; il programma terminale offre solo un modo per interagire con l'ambiente grafico.


8

La shell è un tipico programma Unix. Legge i comandi dall'input standard e stampa qualcosa sull'output standard. Questo è semplice e buono.

Il punto è: in un ambiente grafico (come GNOME o KDE) un programma non può semplicemente scrivere testo direttamente sul desktop. Se i programmi potessero, questo diventerebbe rapidamente un disastro e caos. Pertanto è necessario un programma che fornisce uno spazio in cui altri programmi possono scrivere il proprio testo. Tale programma accetta anche le sequenze di tasti da parte dell'utente e le converte in sequenze di byte, poiché questo è ciò che si aspettano molti programmi (riga di comando, testo, non GUI). Tutto questo è il lavoro dell'applicazione Terminale GNOME.

Quindi hai la shell (probabilmente bash), e avvolto attorno è il terminale GNOME. Per vedere esattamente cosa può eseguire il terminale GNOME (Alt + F2) gnome-terminal, xterme rxvtin mezzo e vedere dove sono diversi e cosa hanno in comune.


1

Penso che ciò che stai veramente chiedendo sia qual è la differenza tra la console e un'applicazione terminalexterm ?

In tal caso, la console è locale alla macchina, può esserci solo una console. L'output della console è diretto a ciò /dev/consoleche di solito significa il tuo monitor. Un terminale, d'altra parte, è in realtà un emulatore di terminale che ricorda i giorni in cui i mainframe erano grandi quanto le intere stanze e gli utenti interagivano con terminali stupidi che erano remoti rispetto al mainframe. I terminali invierebbero i comandi del terminale su una linea seriale al mainframe per interagire con esso. Adesso un giorno usiamo ancora terminali, ma sono emulati in modo da poterne utilizzare più di uno (ciascuno legato a uno pseudo-tty /dev/pts#) e possiamo persino usarli da remoto e inoltrare la loro connessione su un canale SSH crittografato lungo Internet.

Sia la console che un'applicazione terminale invocano la shell al momento dell'accesso.


-2

Il terminale è essenzialmente una shell emulata in una finestra.

Se vuoi vedere una vera shell senza Terminale, premi Ctrl+ Alt+ F1e Ctrl+ Alt+ F8per tornare all'interfaccia grafica.


Un terminale non è un tipo di shell.
Ignacio Vazquez-Abrams,

@Dennis Care da elaborare?
digitxp

Vedi il commento di Ignacio. Un terminale, che si tratti di una console di sistema o gnome-terminal, xtermo stucco è più simile a un terminale fisico (ed è quindi un emulatore ). Una shell è un software che, tra le altre cose, accetta input, elaborazione e output su un terminale.
In pausa fino a ulteriore avviso.

@Dennis Quindi dovrei dirlo "Il terminale contiene essenzialmente una shell emulata all'interno di una finestra grafica."?
digitxp

Un terminale non è necessariamente una finestra grafica e una shell non è necessariamente in esecuzione al suo interno. E la shell non viene emulata (potrebbe essere un altro programma). Quello che stai chiedendo è essenzialmente lo stesso del tuo originale. Vedi la risposta qui che è molto vicina all'essere completa ed è abbastanza precisa.
In pausa fino a ulteriore avviso.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.