Display manager (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de Display manager. Data da última tradução: 2019-06-19. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Um gerenciador de exibição, ou gerenciador de login, é tipicamente uma interface gráfica de usuário que é exibida no final do processo de inicialização no lugar do shell padrão. Há várias implementações de gerenciadores de exibição, assim como existem vários tipos de gerenciadores de janela e ambientes de desktop. Geralmente, há uma certa quantidade de personalização e mudança de tema disponível com cada um.

Lista de gerenciadores de exibição

Console

  • CDM — ultra-minimalista, ainda gerenciador de login completo escrito em bash
https://github.com/ghost1227/cdm || cdm-gitAUR
  • Console TDM — Extensão para xinit escrita em puro Bash.
https://github.com/dopsi/console-tdm || console-tdmAUR
  • nodm — Gerenciador de exibição minimalista para logins automáticos.
https://github.com/spanezz/nodm || nodmsem mantenedor desde 2018-10
  • Ly — Gerenciador de exibição experimental para ncurses.
https://github.com/cylgom/ly || ly-gitAUR
  • tbsm — Uma sessão bash ou lançador de aplicativos, com suporte a sessões X e Wayland.
https://loh-tar.github.io/tbsm/ || tbsmAUR

Gráficos

  • GDM — Gerenciador de exibição do GNOME.
https://wiki.gnome.org/Projects/GDM || gdm
  • LightDM — Gerente de exibição para vários desktops, pode usar vários front-ends escritos em qualquer kit de ferramentas.
https://github.com/canonical/lightdm || lightdm
  • LXDM — Gerenciador de exibição do LXDE. Pode ser usado independentemente do ambiente de desktop LXDE.
https://sourceforge.net/projects/lxdm/ || lxdm
  • SDDM — Gerenciador de exibição baseado no QML e sucessor do KDM; recomendado para Plasma e LXQt.
https://github.com/sddm/sddm || sddm
  • XDM — Gerenciador de exibição X com suporte a XDMCP, seletor de host.
xdm(8) || xorg-xdm

Carregando o gerenciador de exibição

Para ativar o login gráfico, habilite o serviço systemd apropriado. Por exemplo, para SDDM, habilite sddm.service.

Isso deve funcionar sem configurações extras. Caso contrário, talvez seja necessário redefinir um link simbólico personalizado default.target para apontar para o graphical.target padrão. Veja systemd (Português)#Alterar target padrão para inicializar.

Depois de habilitar o SDDM, um link simbólico display-manager.service deve ser configurado em /etc/systemd/system/. Você pode precisar usar --force para substituir os links simbólicos antigos.

$ file /etc/systemd/system/display-manager.service
/etc/systemd/system/display-manager.service: symbolic link to /usr/lib/systemd/system/sddm.service

Usando systemd-logind

Para verificar o status da sua sessão de usuário, você pode usar o loginctl. Todas as ações do polkit, como suspender o sistema ou montar unidades externas, funcionarão imediatamente.

$ loginctl show-session $XDG_SESSION_ID

Configuração de sessão

Muitos gerenciadores de exibição leem sessões disponíveis do diretório /usr/share/xsessions/. Ele contém arquivos de entrada de desktop padrão para cada DM/WM.

Para adicionar/remover entradas à sua lista de sessões do gerenciador de exibição; crie/remova os arquivos .desktop em /usr/share/xsessions/ conforme desejado. Um arquivo .desktop comum se parecerá com:

[Desktop Entry]
Name=Openbox
Comment=Log in using the Openbox window manager (without a session manager)
Exec=/usr/bin/openbox-session
TryExec=/usr/bin/openbox-session
Icon=openbox.png
Type=Application

Executar ~/.xinitrc como uma sessão

Instalar xinit-xsessionAUR vai fornecer uma opção para executar seu xinitrc como uma sessão. Basta definir xinitrc como a sessão nas configurações do gerenciador de exibição e se certificar de que o arquivo ~/.xinitrc é um executável.

Iniciando aplicativos sem um gerenciador de janela

Você também pode iniciar um aplicativo sem qualquer gerenciamento de janela, área de trabalho ou de decoração. Por exemplo, para iniciar o google-chromeAUR crie um arquivo web-browser.desktop em /usr/share/xsessions/ desta forma:

[Desktop Entry]
Name=Web Browser
Comment=Use a web browser as your session
Exec=/usr/bin/google-chrome --auto-launch-at-startup
TryExec=/usr/bin/google-chrome --auto-launch-at-startup
Icon=google-chrome
Type=Application

Nesse caso, quando você fizer o login, o aplicativo configurado com Exec será iniciado imediatamente. Quando você fechar o aplicativo, você será levado de volta ao gerenciador de login (o mesmo que fazer logout de um DE/WM normal).

É importante lembrar que a maioria dos aplicativos gráficos não é destinada a ser iniciada dessa forma e você pode ter ajustes manuais para fazer ou limitações para viver com (não há gerenciador de janela, portanto, não espere conseguir mover ou redimensionar qualquer janela, incluindo diálogos; no entanto, você pode ser capaz de definir a geometria da janela nos arquivos de configuração do aplicativo).

Veja também #Inicializando aplicativos sem um gerenciador de janela.

Dicas e truques

Iniciando automaticamente

A maioria dos gerenciadores de exibição carregam /etc/xprofile, ~/.xprofile e /etc/X11/xinit/xinitrc.d/. Para mais detalhes, veja xprofile.

Definir o idioma para sessão de usuário

Para gerenciadores de exibição que usam AccountsService o locale para a sessão de usuário pode ser definido editando:

/var/lib/AccountsService/users/$USER
[User]
Language=seu_locale

sendo seu_locale um valor como pt_BR.UTF-8.

Faça logout e, então, volte novamente para as alterações terem efeito.