Como funcionam os componentes de uma interface gráfica no Linux?

Como funcionam os componentes de uma interface gráfica no Linux?

existem pelo menos alguns componentes básicos:

-server (to talk to drivers and listen for input)
-desktop environment (?)
-windows manager (manages apps boarders, size, position, etc) 
-other polishing apps (menus, clocks, icons)

Então, o que monitora onde o mouse está e outras atividades interativas?

o que aconteceria se alguns desses componentes desaparecessem, digamos que eu executei o Firefox sem um gerenciador de janelas ou ambiente de desktop, ele rodaria em tela cheia sem o mouse?

como faço para iniciar e parar completamente uma interface gráfica do terminal?

obrigado

Responder1

O cursor do mouse é gerenciado pelo servidor gráfico – os clientes recebem eventos de entrada, mas não precisam desenhar o ponteiro por conta própria.

O mesmo acontece com as janelas - o conceito geral de 'múltiplas janelas' faz parte do protocolo principal do X11, então você ainda pode executar aplicativos no X11 sem um gerenciador de janelas, mas eles não terão fronteiras e você não poderá movê-los. ou redimensioná-los. O modo de foco padrão "sem WM" é o foco segue o mouse.

(No Wayland, o gerenciador de janelas é o mesmo processo que o servidor gráfico. Além disso, na maioria dos ambientes Wayland (e até mesmo em alguns ambientes X11 como o GNOME 3), as decorações das janelas são normalmente desenhadas pelos próprios clientes, então as linhas ficam meio confusas.)


"Ambiente de desktop" não é um componente. Ele descreve umcoleçãode componentes – entre outras coisas, um DE inclui:

  • um gerenciador de janelas e alguma UI de shell (por exemplo, área de trabalho, painéis e outras coisas) – este pode ser um processo único como no GNOME 3 ou e17, ou totalmente separado um do outro como no Xfce;
  • talvez um gerenciador de configurações (como gnome-settings-daemon) para várias tarefas, como configurações de energia ou hotplug de exibição;
  • e um gerenciador de sessão para realmente iniciar tudo – este é o processo 'inicial' que é iniciado por um DM ou startx, e matá-lo resulta em um logout forçado.

Além disso, os DEs também possuem um conjunto de aplicativos básicos – gerenciador de arquivos, terminal, editor de texto, configurações do sistema; coisas que você veria no Windows em “Acessórios”.


Existem duas maneiras de iniciar o servidor gráfico – através de um gerenciador de exibição ou manualmente.

Gerenciadores de exibição comuns são GDM, LightDM, SDDM, KDM, Xdm – sua tarefa principal é detectar automaticamente quando um servidor gráfico (ou seja, um monitor) pode ser iniciado e, geralmente, mostrar também um prompt gráfico de login. O próprio gerenciador de exibição é um serviço do sistema gerenciado via serviceou systemctl.

A abordagem manual é executar startx, que inicia o Xorg mais todos os clientes listados no .xinitrcarquivo (que pode ser um gerenciador de sessão do DE ou um WM simples e antigo).

(O Xorg pode ser iniciado de forma totalmente manual, mas não fará nada de útil; como ele ocupa a tela, você teria que iniciar os clientes iniciais de outro lugar.)

informação relacionada