Uma coisa importante a ser observada antes de começarmos é que a Microsoft é a única fonte para o sistema operacional Windows e o "Microsoft Windows" pode ser visto como um único produto, mas tecnicamente consiste em várias camadas de software, trabalhando juntas de forma transparente a partir do usuário. ponto de vista. No mundo Linux, no entanto, existem vários pacotes de software disponíveis para cada uma dessas camadas. Essa variedade de opções facilita que um usuário não acostumado se confunda com os termos.
Vou tentar explicar as várias camadas abaixo.
1ª camada - Interface da linha de comandos / kernel
Para entender o aspecto de várias camadas do Linux e descrevê-lo em termos simples do Windows, vamos fingir que estamos de volta aos dias do Windows 95.
Nesta analogia, o sistema operacional "Linux" é semelhante ao DOS, onde tudo é executado a partir de uma interface de linha de comando (abreviada "CLI"). De fato, na maioria das instalações de servidor do Linux, uma CLI é a única maneira de acessar a máquina. Após a inicialização do Linux, dependendo da configuração, ele permanecerá no modo de linha de comando ou iniciará automaticamente uma interface gráfica do usuário (abreviada "GUI"). Além disso, em algumas máquinas que permanecem no modo CLI, um usuário que efetua login na CLI pode iniciar manualmente uma GUI.
2ª camada - Interface gráfica do usuário
No topo da interface da linha de comandos, está a GUI. Os sistemas Linux modernos geralmente usam um X Server , que é essencialmente como a área de trabalho do Windows - pense nele como uma tela em branco.
Essa camada lida com o nível de hardware da GUI, gerenciando a entrada do teclado, mouse etc., e a saída para monitores etc. Basicamente, lida com a maneira como as coisas são atraídas para a tela; o que é desenhado na tela é controlado por um gerenciador de janelas.
3ª camada - Gerenciador de janelas
Em cima do sistema de janelas X está um gerenciador de janelas. É responsável por desenhar cada aplicativo na "tela" e anexar elementos comuns da janela, como bordas, a barra de título e minimizar / maximizar botões na janela. A alternância de gerenciadores de janelas pode ser comparada à alternância entre "Modo clássico" e "Modo Aero" no Windows: o quadro da janela será alterado, enquanto o conteúdo da janela permanecerá o mesmo.
Os gerenciadores de janelas de maior perfil no mundo Linux são o KDE e o Gnome, e geralmente uma distribuição Linux se concentrará em um gerenciador de janelas como interface principal. No entanto, em geral, você pode instalar qualquer gerenciador de janelas em qualquer distribuição e executá-lo sem problemas.
Por fim, é uma questão de escolha qual plataforma você gostaria de usar. Cada um fornece um grande número de aplicativos que são executados sob eles, usando sua estrutura. Também é importante saber que vários gerenciadores de janelas podem estar em execução ao mesmo tempo (o Iluminismo pode ser usado no Gnome etc.), mas isso geralmente está fora da necessidade de usuários normais.
Com relação ao Gnome e KDE, esses dois projetos cresceram muito mais do que apenas gerentes de janelas. Entre outras coisas, eles também incluem estruturas de desenvolvimento para criar aplicativos. A estrutura do KDE é conhecida como Qt e a estrutura do Gnome é conhecida como GTK. Declarar todo o escopo desses dois projetos neste post seria sobrecarga de informações.
Para ajudar a confundir o problema dos usuários normais, as estruturas do KDE e do Gnome agora também estão disponíveis para uso na plataforma MS Windows, geralmente usadas por aplicativos que estão tentando ser usados em várias plataformas (como o cliente de IM Pidgin ). Na maioria dos casos, no entanto, quando você vê menções ao Gnome ou KDE, uma área de trabalho Linux está sendo descrita.
Agradeço a Phoshi, cuja resposta eu me baseei.