El shell es un programa típico de Unix. Lee los comandos de la entrada estándar e imprime algo en la salida estándar. Esto es simple y bueno.
El punto es: en un entorno gráfico (como GNOME o KDE) un programa no puede simplemente escribir texto directamente en el escritorio. Si los programas pudieran, esto se convertiría rápidamente en un desastre y un caos. Por lo tanto, necesita un programa que proporcione un espacio donde otros programas puedan escribir su texto. Ese programa también acepta pulsaciones de teclas del usuario y las convierte en secuencias de bytes, ya que esto es lo que esperan muchos programas (línea de comandos, basados en texto, no GUI). Todo esto es el trabajo de la aplicación Terminal GNOME.
Entonces tienes el shell (probablemente bash), y envuelto alrededor de él es el terminal GNOME. Para ver qué hace exactamente el terminal GNOME, puede ejecutar (Alt + F2) gnome-terminal
, xterm
y rxvt
en el medio, ver dónde son diferentes y qué tienen en común.
gnome-terminal
,xterm
o masilla es más parecido a un terminal físico (y es por tanto un emulador ). Un shell es un software que, entre otras cosas, acepta entradas, procesa y produce salidas en un terminal.