![Explicando todo o gerenciador de janelas e coisas da área de trabalho](https://rvso.com/image/1000389/Explicando%20todo%20o%20gerenciador%20de%20janelas%20e%20coisas%20da%20%C3%A1rea%20de%20trabalho%20.png)
Portanto, ouvi os seguintes termos tanto quanto me lembro. Tentar encontrar uma fonte que os descreva e sua relação entre si simplesmente não existe. E é no mínimo confuso.
Alguém pode me explicar, como faria com uma criança de cinco anos, os seguintes termos e como eles estão relacionados ou correlacionados entre si:
- Gnomo
- KDE
- Unidade
- Xorg
- x11
- servidor x
- startx
- panteão
- GTK
- QT
- Gerenciador de janelas
Responder1
Gnomo, KDE, Unity, Pantheon
Gnome, KDE, Unity, Pantheon são ambientes de desktop.
Um ambiente de desktop consiste em muitas ferramentas diferentes. por exemplo: gerenciador de login, gerenciador de janelas, inicializador de aplicativos, menus, emulador de terminal, gerenciador de arquivos, navegador web, editor, ferramentas gráficas para configuração do sistema e muitos outros utilitários. É um pacote completo com tudo que você precisa.
Imagem dereddit:
GTK e QT
GTK e QT são kits de ferramentas/framework para desenvolver software, por exemplo: muitas ferramentas desenvolvidas para o ambiente de desktop Gnome estão usando GTK para fazer sua GUI, em vez de escrever tudo sozinho, eu uso isso para acelerar meu desenvolvimento e ao mesmo tempo usar e siga uma estrutura padrão que todos os outros programas usam no mesmo ambiente.
X, X11 e Xorg
X é um framework, podemos até referenciá-lo como um protocolo, X11 é a última versão deste protocolo e Xorg (servidor Xorg: X usa uma estrutura cliente-servidor) é uma implementação do x11, é como HTTP e navegadores, HTTP é um protocolo, HTTP2 é a última versão e os navegadores da web que usam esse protocolo para se comunicar com servidores da web de alguma forma o implementaram.
Da Wikipédia:
X fornece a estrutura básica para um ambiente GUI: desenhar e mover janelas no dispositivo de exibição e interagir com mouse e teclado.
Simplesmente nos torna capazes de desenhar e mostrar coisas, também contém muitos drivers necessários.
No entanto, mesmo o X precisa de um gerenciador de janelas para usar seus recursos, na imagem abaixo você vê twm
o gerenciador de janelas e xterm
outras coisas executando uma sessão X, para mais informações sobre gerenciadores de janelas, leia a última seção.
startx
startx
é um script para ativar um ambiente gráfico, ele inicializa uma sessão X.
Gerenciadores de janela
Os gerenciadores de janelas fazem parte principalmente do ambiente de área de trabalho, você pode até usá-los em vez de usar um ambiente de área de trabalho completo. Existem muitos gerenciadores de janelas disponíveis, como: i3wm, awesome, openbox, fluxbox, blackbox, xfwm4, compiz, etc.
Eles controlam como nossas janelas funcionam, sua aparência, quais elementos elas possuem, onde meu título e botões padrão devem aparecer, o que acontece se eu arrastar/redimensionar/fechar? etc. Os gerenciadores de janelas usam servidores de exibição como X ou Wayland para conseguir isso.
As imagens são da Wikipedia.
Responder2
Explicação ELI5:
- Servidor Xorg,x11,x - tudo a mesma coisa. É basicamente um software gigante que torna a GUI possível. Nenhum servidor X em execução => Sem GUI.
- gerenciador de janelas - é isso que torna as janelas bonitas. O servidor X fornece o básico.
startx
é um comando. Antigamente era assim que você criava a GUI.- Gnome, KDE, Unity, Pantheon - todos são shells gráficos. Embora o servidor X forneça uma GUI básica, os shells gráficos fornecem aos aplicativos uma aparência e um comportamento específicos (como Alt+ Tabpor exemplo). Trabalhe em conjunto com gerenciadores de janela. Muitas vezes vêm com software extra, como editores de texto, navegadores da web, etc. A correção deve ser feita sobre o Unity - é na verdade apenas um plug-in para o gerenciador de janelas do Compiz, que se torna aparente quando o Unity trava e você fica com a área de trabalho barebones e não iniciador ou painel superior.
- GTK, QT - kits de ferramentas gráficas. Basicamente, a "linguagem" da programação GUI. Mais especificamente, elas são "bibliotecas", e a maioria das linguagens comuns no desktop Linux, como Python ou C++, usam essas bibliotecas para criar aplicativos GUI.