Display manager (Português)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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/CanonicalLtd/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.