Reconciliação de terminologia: gerente de exibição versus gerente de sessões, sistema de janelas versus gerente de janelas


23

Estou fazendo o curso de Introdução ao Linux da Linux Foundation . Parte da terminologia parece se sobrepor ou contradizer, especialmente quando tento suplementar o material do curso com outras fontes, como TLDP e Wikipedia .

Um "Display Manager" é o mesmo que um "Session Manager"?

Gerenciador de exibição: programa que inicia uma sessão do sistema de janelas iniciando o sistema de janelas e geralmente solicitando um nome de usuário e senha.

O que outras pessoas estão dizendo

Gerenciador de sessões: inicia e mantém os componentes da sessão gráfica.

Da mesma forma, um "sistema de janelas" é a mesma coisa que um "gerenciador de janelas"?

Sistema de janelas: software que fornece os principais elementos da GUI para uso de software de alto nível. Fornece aos aplicativos uma superfície retangular (redimensionável) redimensionável para apresentar sua GUI ao usuário.

O que outras pessoas estão dizendo

Gerenciador de janelas: controla o posicionamento e o movimento das janelas, o cromo da janela e os controles.

E apenas para ter certeza sobre o X: Pelo que entendi, parece que "X Window System" é um sistema de janelas para exibição de bitmap, "X11" é a versão atual do protocolo para o X Window System e "X.Org Server" é a implementação de referência do protocolo X11. Isso está correto?


Mesmo nessas linhas, há confusão e contradição. Por exemplo, no segmento de superusuário, Ignacio Vazquez-Abrams menciona: "X11 é um protocolo de rede", mas o usuário113907 menciona: "X11 é o sistema de janelas (o que desenha as janelas na tela)".
dotancohen 20/09/14

Obrigado. Vou começar a oferecer recompensas para obter respostas abrangentes. Eu preciso esperar dois dias se eu colocar a recompensa neste.
dotancohen 20/09/14

Respostas:


7
Is a "Display Manager" the same thing as a "Session Manager"?

Resposta: Não, eles não são os mesmos. O session managergerencia sua sessão e display manageré responsável por fornecer uma interface de login.

Likewise, is a "Windowing system" the same thing as a "Window manager"?

Resposta: Não, eles são diferentes. O window mangagerfica em cima do Window system.

A Window system: Cada aplicativo atualmente em execução recebe uma superfície geralmente redimensionável e normalmente retangular do monitor para apresentar sua interface gráfica com o usuário; essas janelas podem se sobrepor, em oposição a uma interface lado a lado onde elas não podem se sobrepor.

O window manager: Quando um gerenciador de janelas está em execução, alguns tipos de interação entre o servidor X e seus clientes são redirecionados através do gerenciador de janelas. Em particular, sempre que é feita uma tentativa de mostrar uma nova janela, essa solicitação é redirecionada ao gerenciador de janelas, que decide a posição inicial da janela.


Origem do Session Manager

No X Window System, um gerenciador de sessões X é um programa de gerenciamento de sessões, um programa que pode salvar e restaurar o estado atual de um conjunto de aplicativos em execução.


Fonte do gerenciador de janelas X

Um gerenciador de janelas X é um gerenciador de janelas que roda sobre o X Window System, um sistema de janelas usado principalmente em sistemas similares ao Unix.

Tipos de window managers

  1. Gerenciando gerenciadores de janelas
  2. Gerenciadores de janelas lado a lado
  3. Gerenciando janelas de composição
  4. Gerenciadores de janelas virtuais
  5. Gerenciadores de janelas extensíveis

O usuário pode escolher entre vários third-party window managers, que diferem entre si de várias maneiras, incluindo:

personalização da aparência e funcionalidade:

  • menus de texto usados ​​para iniciar programas e / ou alterar opções

  • docas e outras formas gráficas de iniciar programas

  • várias áreas de trabalho e áreas de trabalho virtuais (áreas de trabalho maiores que o tamanho do monitor físico) e pagers 1 para alternar entre eles

  • consumo de memória e outros recursos do sistema

  • grau de integração com um ambiente de desktop, que fornece uma interface mais completa para o sistema operacional e fornece uma variedade de utilitários e aplicativos integrados.

Embora o objetivo principal de um gerenciador de janelas seja gerenciar as janelas, muitos gerenciadores de janelas possuem recursos adicionais, como manipular cliques do mouse na janela raiz, apresentar painéis e outros elementos visuais, manipular algumas teclas (por exemplo, Alt-F4 pode fechar uma janela ), decidindo qual aplicativo será executado na inicialização etc.


Origem do gerenciador de exibição (há uma lista de gerenciadores de exibição no site de origem)

A display manager, ou gerenciador de login, normalmente é uma interface gráfica do usuário que é exibida no final do processo de inicialização no lugar do shell padrão. Existem várias implementações de gerenciadores de exibição, assim como existem vários tipos de gerenciadores de janelas e ambientes de desktop. Geralmente, há uma certa quantidade de personalização e possibilidade de disponibilidade disponíveis para cada um.

Origem do gerenciador de exibição X

No X Window System, um gerenciador de exibição X é executado como um programa que permite iniciar uma sessão em um servidor X a partir do mesmo ou de outro computador.

A display managerapresenta ao usuário uma tela de login que solicita um nome de usuário e senha. Uma sessão é iniciada quando o usuário digita com êxito uma combinação válida de nome de usuário e senha.


A fonte do sistema da janela X

Manual Debian para o sistema x window

site xorg

O X Window System(X11, X e, às vezes, informalmente, o X-Windows) é um sistema de janelas para exibição de bitmap, comum em sistemas operacionais de computador tipo UNIX.

O X fornece a estrutura básica para um ambiente da GUI: desenhando e movendo janelas no dispositivo de exibição e interagindo com um mouse e teclado. X não exige a interface do usuário - isso é tratado por programas individuais. Como tal, o estilo visual de ambientes baseados em X varia muito; programas diferentes podem apresentar interfaces radicalmente diferentes.


14

Aqui está uma caracterização aproximada muito curta:

Gerenciador de exibição: o programa que fornece um login gráfico e inicia a sessão. Executa como usuário root ou dedicado.

Gerenciador de sessões: o programa que realmente controla sua sessão. É executado em sua conta.

Sistema de janelas: O sistema completo de desenho / controle da GUI. Descreve não um componente em si, mas todos os componentes juntos.

Gerenciador de janelas: o programa que determina onde as janelas são colocadas, quais decorações (moldura, botões de fechar / iconificar / menu, etc.) elas ficam e como elas obtêm / perdem o foco.


Então, um ambiente de desktop requer tudo isso?
gog

13

Um sistema de janelas é um componente de software que fornece janelas para os aplicativos serem atraídos e pode exibir essas janelas na tela. O sistema X Window é o sistema de janelas padrão nos sistemas Unix; fora do Mac OS X, ele realmente não tem concorrência (isso pode mudar se Wayland ou Mir se tornarem viáveis). O sistema X Window possui uma arquitetura cliente-servidor, onde o servidor (conhecido como servidor X ou servidor X11) gerencia o hardware de exibição e os clientes são aplicativos. Os aplicativos que exibem janelas em um servidor X são conhecidos como clientes X ou aplicativos X (ou clientes X11 ou aplicativos X11).

No que diz respeito às aplicações, o que importa é o protocolo de comunicação entre as aplicações e o sistema de janelas. Esse protocolo é conhecido como X11 (11ª versão do protocolo, a versão atual desde 1987), com várias extensões comuns.

X.Org é uma implementação do sistema X Window. É a implementação padrão de fato desde que o projeto começou em 2004, substituindo o XFree86 . O X.Org inclui partes genéricas e específicas do hardware do servidor X, além de várias bibliotecas e utilitários de clientes.

Um gerenciador de exibição é um aplicativo X11 cujo objetivo é autenticar um usuário (geralmente solicitando um nome de usuário e senha) e, mediante autenticação bem-sucedida, iniciar uma sessão como esse usuário. O gerenciador de exibição é executado como root (pelo menos em parte) e finaliza ou pelo menos sai do primeiro plano enquanto um usuário está conectado. O gerenciador de exibição se encarrega de iniciar um servidor X que atende ao prompt de login e à sessão subsequente do usuário.

Um gerenciador de sessões é um programa cujo trabalho é iniciar outros programas. É o primeiro programa iniciado como parte da sessão interativa de um usuário. Ele pode ser iniciado pelo gerenciador de exibição (após a queda de privilégios). Também pode ser iniciado por algum programa em execução como usuário, se o usuário tiver efetuado login por outros meios que não um gerenciador de exibição, geralmente com um prompt de login no modo de texto; isso geralmente é feito através dostartxscript que cuida de iniciar um servidor X, executando o gerenciador de sessões e matando o servidor X quando terminar. O gerenciador de sessões pode ser qualquer coisa, desde um simples emulador de terminal no qual o usuário pode digitar comandos, um script que inicia vários programas predefinidos ou um programa sofisticado que lembra aplicativos e posições de janelas de uma sessão para a próxima. A sessão termina quando o gerenciador de sessões sai.

Um gerenciador de janelas é um cliente X com uma função especial. Ele recebe notificações quando novas janelas são criadas e normalmente intercepta vários eventos do usuário (ligações de teclas e mouse). Seu trabalho é escolher onde exibir janelas e em que tamanho, mostrar e ocultar janelas, exibir decorações de janelas (bordas, barra de título, etc.), etc. Praticamente todos os gerenciadores de janelas podem servir como gerenciadores de sessões - o gerenciador de janelas precisa executar a sessão inteira de qualquer maneira. A maioria dos gerenciadores de janelas oferece uma maneira de os usuários iniciarem novos programas por meio de menus ou teclas, embora estritamente isso não faça parte da função de gerenciador de janelas.

Outro termo que você não mencionou é um ambiente de desktop . Um ambiente de área de trabalho é uma coleção de clientes X que compreende pelo menos um gerenciador de sessões, um gerenciador de janelas e um shell gráfico , além de uma coleção de utilitários, como menus, docas, gerenciador de área de transferência, recurso de macro, etc.


Você pode ter um WM sem um DE? Um DE é um WM com alguns extras essenciais? Quais aspectos criam a diferenciação?
Vass

@Vass Um WM é um dos componentes de um DE. Veja o último parágrafo da minha resposta e siga os links para mais informações.
Gilles 'SO- stop be evil'

10

Um "Display Manager" é o mesmo que um "Session Manager"?

Não é bem assim, mas geralmente se sobrepõem na implementação.

Um Gerenciador de exibição apenas efetua login no usuário e inicia uma sessão, que consiste em todos os programas executados a partir do momento em que você efetua login e quando efetua logout do computador novamente. Geralmente, o gerenciador de exibição inicia um ambiente de área de trabalho e, geralmente, também um gerenciador de sessões para o usuário.

Um ambiente de área de trabalho consiste principalmente em um gerenciador de janelas, mas também abrange muitos outros programas que o usuário espera em um computador de mesa, por exemplo, o ambiente de área de trabalho GNOME possui um navegador chamado Web e um gerenciador de arquivos chamado Files (anteriormente conhecido como Nautilus).

Um Session Manager, por outro lado, é responsável por armazenar os aplicativos em execução no momento em que o usuário efetua logout, iniciando-os novamente quando o usuário efetua login novamente e iniciando automaticamente um conjunto de programas e daemons de segundo plano para um ambiente de área de trabalho. Por exemplo, ao fazer o logout, é possível que você esteja executando o Chromium e inicie-o novamente ao fazer o login ou inicie automaticamente coisas como o chaveiro GNOME, que pode armazenar senhas e chaves para vários programas.

Assim, você pode ter um Gerenciador de Exibição sem um Gerenciador de Sessão, da mesma forma que você pode ter um Gerenciador de Sessão sem um Gerenciador de Exibição, ou ambos no mesmo timer, ou mesmo nenhum deles. O que outras pessoas estão dizendo

Da mesma forma, um "sistema de janelas" é a mesma coisa que um "gerenciador de janelas"?

Não, eles são bem diferentes, mas compreensivelmente fáceis de confundir termos. O X Window System é um sistema de janelas que consiste em um servidor X, o protocolo X11 e clientes X que conversam com o servidor. (Clientes são os programas que você executa no seu computador.)

No sistema X Window, você tem clientes X que falam com uma instância em execução do X Server usando o protocolo X11. Os clientes X enviam mensagens para o servidor X informando o que desenhar na tela, e o servidor X é o que realmente fala com a placa gráfica e exibe o que foi dito para desenhar na tela.

É importante observar que o próprio sistema X Window não gerencia janelas. O Gerenciador de Janelas iniciado quando você faz login informa ao servidor X onde as janelas estão na tela, desenha decorações de janelas como bordas e uma barra de título e é isso que permite mover as janelas pela tela, fechá-las etc. .. Sem um Gerenciador de Janelas em execução, tudo o que você vê são os clientes X que você inicia sem nenhuma decoração de janela e não poderá mover as janelas.

O servidor de implementação de referência do X Window System é o X.Org Server . Alguns exemplos de gerenciadores de janelas são o KWin do KDE, o Mutter do GNOME e os gerenciadores de janelas lado a lado, como i3 e dwm. Os clientes X incluem coisas como navegadores da Web (como Chromium e Firefox), clientes de email (como Thunderbird), emuladores de terminal (como Terminal GNOME e cupins) e qualquer outro aplicativo X que você possa imaginar.

E apenas para ter certeza sobre o X: Pelo que entendi, parece que "X Window System" é um sistema de janelas para exibição de bitmap, "X11" é a versão atual do protocolo para o X Window System e "X.Org Server" é a implementação de referência do protocolo X11. Isso está correto?

Corrigir.


Citando a página de manual do XDM do gerenciador de desktop padrão do X Window System:

O Xdm fornece serviços semelhantes aos fornecidos por init, getty e login nos terminais de caracteres: solicitando nome e senha de login, autenticando o usuário e executando uma sessão ''.

Uma '' sessão '' é definida pelo tempo de vida de um processo específico; no mundo tradicional dos terminais baseados em caracteres, é o shell de login do usuário. No contexto xdm, é um gerenciador de sessões arbitrário. … Quando um gerenciador de sessões real não está disponível, um gerenciador de janelas ou emulador de terminal é normalmente usado como o '' gerenciador de sessões '', significando que o término desse processo encerra a sessão do usuário.

- XDM (1)


Esclarecimento: seu "correto". no último parágrafo está se referindo à segunda pergunta na citação em que está, não na primeira, certo?
Izkata 20/09/14

Ah, sim, nem pensei nisso. Vai mudar isso.
kyrias 20/09/14

Você pode ter várias janelas sem um gerenciador de janelas. Eles não terão decorações, não será possível arrastá-los ou redimensioná-los, etc. Mas eles ainda estarão na tela na configuração que você fornecer quando os criar.
Barmar 24/09

@ Barmar Ah, obrigado, nunca execute vários aplicativos X sem um WM antes, mas acho que não faria muito sentido se você pudesse ter apenas um em execução.
kyrias 24/09
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.