O shell é um programa típico do Unix. Ele lê comandos da entrada padrão e imprime algo na saída padrão. Isso é simples e bom.
O ponto é: Em um ambiente gráfico (como GNOME ou KDE), um programa não pode simplesmente escrever texto diretamente na área de trabalho. Se os programas pudessem, isso rapidamente se tornaria uma bagunça e caos. Portanto, você precisa de um programa que forneça um espaço onde outros programas possam escrever seu texto. Esse programa também aceita pressionamentos de tecla do usuário e os converte em seqüências de bytes, pois é o que muitos programas (linha de comando, texto, não GUI) esperam. Tudo isso é o trabalho do aplicativo Terminal GNOME.
Então você tem o shell (provavelmente o bash) e o terminal GNOME está envolvido. Para ver o que exatamente o terminal GNOME que você pode executar (Alt + F2) gnome-terminal
, xterm
e rxvt
no meio, e ver onde eles são diferentes e que eles têm em comum.