Uma coisa importante a notar antes de começar é que a Microsoft é a fonte única para o sistema operacional Windows, e o "Microsoft Windows" pode ser visto como um produto único , mas tecnicamente consiste em várias camadas de software, trabalhando juntas de forma transparente do ponto de vista do usuário. No mundo do Linux, no entanto, existem vários pacotes de software disponíveis para cada uma dessas camadas. Esse conjunto de opções facilita a confundir um usuário incomum com os termos.
Vou tentar explicar as várias camadas abaixo.
1ª camada - interface de linha de comando / kernel
Para entender o aspecto de múltiplas camadas do Linux e descrevê-lo em termos simples semelhantes ao Windows, vamos fingir que estamos de volta aos tempos do Windows 95.
Nessa analogia, o sistema operacional "Linux" é semelhante ao DOS, onde tudo é executado a partir de uma interface de linha de comando (abreviada como "CLI"). Na verdade, na maioria das instalações de servidores do Linux, uma CLI é a única maneira de acessar a máquina. Após o Linux iniciar, dependendo da configuração, ele permanecerá no modo de linha de comando ou iniciará uma interface gráfica de usuário (abreviada como "GUI") automaticamente. 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
Na parte superior da interface da linha de comandos, está a GUI. Os sistemas Linux modernos normalmente usam um X Server , que é basicamente igual à área de trabalho do Windows - pense nisso como uma tela em branco.
Esta 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, ele trata como as coisas são desenhadas na tela ; o que é desenhado na tela é controlado por um gerenciador de janelas.
3ª camada - gerenciador de janelas
Sentar-se no topo do sistema X window é um gerenciador de janelas. Ele é responsável por desenhar cada aplicativo na "tela" e anexa elementos comuns da janela, como bordas, a barra de título e minimiza / maximiza os botões para a janela. Alternar os gerenciadores de janelas pode ser comparado a alternar 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 janela mais conhecidos no mundo Linux são o KDE e o Gnome, e geralmente uma distribuição Linux se concentrará em um gerenciador de janelas como a interface primária. No entanto, em geral, você pode instalar qualquer gerenciador de janelas em qualquer distribuição e ser capaz de executá-lo sem problemas.
Por fim, é uma questão de escolha qual plataforma você deseja 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 ser executados ao mesmo tempo (o Enlightenment pode ser usado no Gnome, etc.), mas isso geralmente está fora da necessidade de usuários normais.
Com relação ao Gnome e ao KDE, esses dois projetos cresceram muito além de serem apenas gerenciadores de janela. Entre outras coisas, eles também incluem estruturas de desenvolvimento para criar aplicativos a partir de. O framework KDE é conhecido como Qt e o framework Gnome é conhecido como GTK. Afirmar todo o escopo desses dois projetos neste post seria uma sobrecarga de informações.
Para ajudar a confundir o problema para usuários normais, as estruturas do KDE e do Gnome agora também estão disponíveis para uso na plataforma MS Windows, normalmente usada por aplicativos que estão tentando ser usados em várias plataformas (como o cliente de mensagens instantâneas Pidgin ). Na maioria dos casos, no entanto, quando você vê menções do Gnome ou do KDE, uma área de trabalho do Linux está sendo descrita.
Obrigado a Phoshi, cuja resposta eu construí sobre.