O gerenciador de janelas (WM ou Window Manager) é a
parte responsável pela estrutura das janelas que vemos no desktop:
posicionamento, movimentação, redimensionamento, foco entre janelas,
atalhos de teclado e também pelas decorações das janelas (botões,
bordas, título etc.). Em outras palavras, o WM monta toda a estrutura
visual básica das janelas junto com o tema escolhido (botões, contorno,
cores e tudo mais) e é assim que vemos tudo organizado na tela.
Já um compositor é
o componente responsável pela "amenização visual" das janelas,
aplicando efeitos como transparências, blur, sombras, animações e outros
efeitos gráficos.
Uma forma simples de entender o conceito é
imaginar o gerenciador de janelas como a estrutura básica da imagem de
uma pessoa sem maquiagem, enquanto o compositor seria a mesma imagem
depois de receber maquiagem e filtros - tipo aquelas fotos mais
"produzidas" que aparecem no Tinder, mais falsas do que nota de 150
pratas, hehehe...
O sistema pode ficar sem compositor, mas não
pode ficar sem um gerenciador de janelas. Sem compositor tudo continua
funcionando normalmente mas a aparência fica mais simples e sem efeitos
visuais.
Com compositor:

Sem compositor:
Para a maioria dos usuários, um desktop
Linux
minimamente apresentável acaba sendo um fator importante na escolha da
distribuição. Muitas vezes a aparência pesa até mais que a própria
utilização no primeiro contato, principalmente quando o usuário vem do
Windows e quer saber "qual é essa de Linux". Se o sujeito vê uma
distribuição com aparência muito crua ou mal configurada, a reação
costuma ser rápida: instala, olha… e tchau.
Por isso os ambientes gráficos (
Desktop Environments) normalmente já vêm com gerenciadores de janelas que também incluem um compositor integrado. Por exemplo:
- O
GNOME usa o Mutter — o compositor pode ser desativado apenas em modo X11. - O
KDE Plasma usa o KWin — o compositor pode ser ativado ou desativado. - O
XFCE usa o Xfwm4 — também possui compositor embutido que pode ser desligado.
Seguindo aquela lógica de jogador de Counter-Strike que gosta de pegar a
arma do adversário, também é possível usar compositores externos em vez
dos que já vêm integrados nas interfaces gráficas. Um exemplo bastante
conhecido é o
Picom.
Assim, você pode
desativar o compositor nativo do ambiente gráfico e rodar o Picom no
lugar. Isso pode ser feito no Plasma, no XFCE ou em ambientes que usam
apenas um gerenciador de janelas.
Vale lembrar, porém, que os
compositores (e também os gerenciadores de janelas) que vêm integrados a
cada ambiente gráfico são desenvolvidos especificamente para funcionar
bem naquele ambiente. Usar alternativas externas pode funcionar, mas às
vezes o resultado não fica tão integrado ou estável quanto a solução
original.
Também é possível usar um gerenciador de janelas no lugar de outro. Isso
permite experimentar comportamentos diferentes sem trocar todo o
ambiente gráfico.
Por exemplo, no XFCE é possível substituir temporariamente o gerenciador de janelas padrão, que é o Xfwm4.
Para usar o KWin no XFCE:
kwin_x11 --replace
Esse comando encerra o gerenciador de janelas atual e faz o KWin assumir o controle das janelas naquela sessão.
Em
ambientes baseados em Wayland a lógica é diferente, e o comando
--replace normalmente não se aplica da mesma forma, porque o gerenciador
de janelas costuma fazer parte do próprio compositor da sessão.
Esses
comandos substituem o gerenciador de janelas apenas temporariamente. Ao
reiniciar a sessão ou o computador, o ambiente gráfico volta a iniciar o
gerenciador padrão configurado - no caso do XFCE, o Xfwm4 volta a
mandar na bagaça.
Também é importante lembrar que gerenciadores
de janelas como o KWin ou o Mutter foram desenvolvidos para funcionar
principalmente dentro de seus ambientes gráficos originais -
respectivamente o KDE Plasma e o GNOME.
Isso significa que
substituir o gerenciador de janelas do XFCE por outro não transforma o
XFCE em GNOME ou Plasma. Muitas funcionalidades visuais, integrações e
comportamentos que vemos nesses ambientes dependem de outros componentes
da interface gráfica, extensões e serviços que não estão presentes fora
do ambiente para o qual foram projetados.
Em outras palavras:
trocar o gerenciador de janelas pode mudar o comportamento das janelas e
alguns efeitos visuais, mas não recria toda a experiência do ambiente
gráfico original.
Toda experimentação é válida para otimizar ao
máximo o uso da máquina com a DE ou WM escolhida, mas não espere
estabilidade total com esse tipo de alteração.
Um compositor mais
leve (como o Picom) pode ser bastante interessante para manter o básico
da composição gráfica em máquinas mais modestas, que podem "achar ruim"
rodar o KWin no KDE Plasma ou o Mutter no GNOME, especialmente em
sessões X11.
Já substituir o gerenciador de janelas pode ser
tentado para testar novos comportamentos ou estilos de gerenciamento das
janelas, mas isso também pode introduzir novos problemas, incluindo
aumento no consumo de memória, maior uso de recursos gráficos ou até
perda de integração com algumas funções do ambiente gráfico.
Em
muitos casos essas trocas funcionam bem para testes ou experimentação,
mas o gerenciador de janelas original do ambiente gráfico costuma
oferecer a melhor integração e estabilidade no uso cotidiano.