GDM (Português)

Status de tradução:
Esse artigo é uma tradução de
GDM
. Data da última tradução: 2019-11-23. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Artigos relacionados
GNOME
Gerenciador de exibição
Do
GDM - GNOME Display Manager
: "O Gerenciador de Exibição do GNOME (GDM) é um programa que gerencia servidores gráficos de exibição e lida com logins de usuários gráficos."
Gerenciadores de exibição
fornecem a usuários de
X Window System
e
Wayland
com um prompt de login gráfico.
Instalação
GDM pode ser
instalado
com o pacote
gdm
e é instalado como parte do grupo
gnome
.
Inicialização
Para iniciar o GDM na inicialização do sistema,
habilite
gdm.service
.
Inicializando aplicativos automaticamente
Pode-se querer iniciar automaticamente certos comandos, como
xrandr
, por exemplo, quanto da auttenticaçaõ. Isso pode ser obtido adicionando um comando ou script a um local originado pelo gerenciador de exibição. Consulte
Gerenciador de exibição#Iniciando automaticamente
para uma lista de locais suportados.
Nota
O diretório
/etc/gdm/Init
não é mais uma localização válida, veja
[1]
.
Configuração
Imagem de plano de fundo na tela de autenticação
Nota
Desde o GNOME 3.16, temas do GNOME Shell estão sendo armazenados como arquivos binários (gresource).
Essa alteração será substituída em atualizações subsequentes do
gnome-shell
.
Em primeiro lugar, você precisa extrair o tema existente do GNOME Shell para uma pasta em seu diretório pessoal. Você pode fazer isso usando o seguinte script:
extractgst.sh
#!/bin/sh
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource
workdir=${HOME}/shell-theme

for r in `gresource list $gst`; do
	r=${r#\/org\/gnome\/shell/}
	if [ ! -d $workdir/${r%/*} ]; then
	  mkdir -p $workdir/${r%/*}
	fi
done

for r in `gresource list $gst`; do
        gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/}
done
Navegue até o diretório criado. Você deve descobrir que os arquivos de tema foram extraídos para ele. Agora copie sua imagem de fundo preferida para este diretório.
Em seguida, você precisa criar um arquivo no diretório com o seguinte conteúdo:
gnome-shell-theme.gresource.xml
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/org/gnome/shell/theme">
    <file>calendar-today.svg</file>
    <file>checkbox-focused.svg</file>
    <file>checkbox-off-focused.svg</file>
    <file>checkbox-off.svg</file>
    <file>checkbox.svg</file>
    <file>dash-placeholder.svg</file>
    <file>gnome-shell.css</file>
    <file>gnome-shell-high-contrast.css</file>
    <file>icons/message-indicator-symbolic.svg</file>
    <file>icons/pointer-double-click-symbolic.svg</file>
    <file>icons/pointer-drag-symbolic.svg</file>
    <file>icons/pointer-primary-click-symbolic.svg</file>
    <file>icons/pointer-secondary-click-symbolic.svg</file>
    <file>key-enter.svg</file>
    <file>key-hide.svg</file>
    <file>key-layout.svg</file>
    <file>key-shift-latched-uppercase.svg</file>
    <file>key-shift.svg</file>
    <file>key-shift-uppercase.svg</file>
    <file>no-events.svg</file>
    <file>noise-texture.png</file>
    <file>
nome-do-arquivo
</file>
    <file>no-notifications.svg</file>
    <file>pad-osd.css</file>
    <file>process-working.svg</file>
    <file>toggle-off-dark.svg</file>
    <file>toggle-off-hc.svg</file>
    <file>toggle-off.svg</file>
    <file>toggle-on-dark.svg</file>
    <file>toggle-on-hc.svg</file>
    <file>toggle-on.svg</file>
  </gresource>
</gresources>
Substitua
nome-do-arquivo
com o nome do arquivo de sua imagem de plano de fundo.
Agora, abra o arquivo
gnome-shell.css
no diretório e alterar a definição
#lockDialogGroup
da seguinte forma:
#lockDialogGroup {
  background: #2e3436 url(
nome-do-arquivo
);
  background-size:
[ALTURA]
px
[LARGURA]
px;
  background-repeat: no-repeat;
}
Defina
background-size
para a resolução que o GDM usa, que pode não necessariamente ser a resolução da imagem. Para uma lista de resoluções de tela, veja
Display resolution
. Novamente, defina
nome-de-arquivo
para ser o nome da imagem de fundo.
Finalmente, compile o tema usando o seguinte comando:
$ glib-compile-resources gnome-shell-theme.gresource.xml
Então, copie o arquivo resultante
gnome-shell-theme.gresource
para o diretório
/usr/share/gnome-shell
.
Então, reinicie
gdm.service
(note que só encerrar a sessão não é suficiente) e você deve descobrir que ele está usando sua imagem de plano de fundo.
Para mais informações, veja o seguinte
tópico no forum
.
Configuração no DConf
Algumas configurações do GDM são armazenadas em um banco de dados DConf. Eles podem ser configurados adicionando
arquivo-chaves
ao diretório
/etc/dconf/db/gdm.d
e, em seguida, recompilando o banco de dados do GDM executando
dconf update
como root ou fazendo login no usuário do GDM no sistema e alterando a configuração diretamente usando a ferramenta de linha de comando
gsettings
. Observe que, para a abordagem anterior, é necessário um arquivo de perfil do GDM - isso deve ser criado manualmente, pois não é mais enviado pelo desenvolvedor, veja abaixo:
/etc/dconf/profile/gdm
user-db:user
system-db:gdm
file-db:/usr/share/gdm/greeter-dconf-defaults
Para a última abordagem, você pode efetuar login no usuário do GDM com o comando abaixo:
# machinectl shell gdm@
Logo da tela de autenticação
Crie o seguinte arquivo-chave
/etc/dconf/db/gdm.d/02-logo
[org/gnome/login-screen]
logo='
/caminho/para/logo.png
'
e recompile o banco de dados do GDM ou, alternativamente, autentique-se ao usuário GDM e execute o seguinte:
$ gsettings set org.gnome.login-screen logo '
/caminho/para/logo.png
'
Alterando o tema do cursor
O GDM desconsidera as configurações do tema do cursor
GNOME
e também ignora o conjunto de temas do cursor de acordo com a
especificação XDG
. Para alterar o tema do cursor usado no GDM, crie o seguinte arquivo-chave
/etc/dconf/db/gdm.d/10-cursor-settings
[org/gnome/desktop/interface]
cursor-theme='
nome-tema'
e recompile o banco de dados do GDM ou, alternativamente, autentique-se como o usuário GDM e execute o seguinte:
$ gsettings set org.gnome.desktop.interface cursor-theme '
nome-tema
'
Fonte maior para a tela de autenticação
Clique no ícone de acessibilidade no canto superior direito da tela (um círculo branco com a silhueta de uma pessoa no centro) e marque a opção
Texto grande
.
Para definir um fator de escala específico, você pode criar o seguinte arquivo-chave:
/etc/dconf/db/gdm.d/03-scaling
[org/gnome/desktop/interface]
text-scaling-factor='
1.25
'
e, em seguida, recompile o banco de dados do GDM ou, alternativamente, efetue login no usuário do GDM e execute o seguinte:
$ gsettings set org.gnome.desktop.interface text-scaling-factor '
1.25
'
Desligando o som
Este ajuste desativa o feedback audível ouvido quando o volume do sistema é ajustado (via teclado) na tela de login.
Crie o seguinte arquivo-chave:
/etc/dconf/db/gdm.d/04-sound
[org/gnome/desktop/sound]
event-sounds='false'
e recompile o banco de dados do GDM ou, alternativamente, efetue login no usuário do GDM e execute o seguinte:
$ gsettings set org.gnome.desktop.sound event-sounds 'false'
Configurando o comportamento do botão de energia
Nota
As
configurações do logind
para o botão de energia são substituídas pelo daemon de configurações do GNOME.
[2]
A partir do GDM 3.18, o botão de energia não pode ser ajustado para
interativo
.
[3]
Em alguns casos, essa configuração será ignorada e os padrões codificados serão usados.
[4]
Atenção
Observe que o daemon
acpid
também lida com os eventos "botão liga/desliga" e "botão de hibernação". Executar os dois sistemas ao mesmo tempo pode levar a um comportamento inesperado.
Crie o seguinte arquivo-chave:
/etc/dconf/db/gdm.d/05-power
[org/gnome/settings-daemon/plugins/power]
power-button-action='
ação
'
e recompile o banco de dados do GDM ou, alternativamente, efetue login no usuário do GDM e execute o seguinte:
$ gsettings set org.gnome.settings-daemon.plugins.power power-button-action '
ação
'
sendo
ação
uma entre
nothing
,
suspend
ou
hibernate
.
Habilitando tap-to-click
Tap-to-click (em português, "tocar para clicar") está desabilitado no GDM (e no GNOME) por padrão, mas você pode facilmente habilitá-lo com uma configuração no dconf.
Nota
Se você quiser fazer isso no X, você precisa primeiro configurar as permissões corretas de acesso ao servidor X - veja
#Configurar permissão de acesso do servidor X
.
Para habilitar tap-to-click diretamente, use:
# sudo -u gdm gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
Se você preferir fazer isso com uma GUI, use:
# sudo -u gdm dconf-editor
Para verificar se ela está definida corretamente, use:
$ sudo -u gdm gsettings get org.gnome.desktop.peripherals.touchpad tap-to-click
Se você receber um erro
dconf-WARNING **: failed to commit changes to dconf: Error spawning command line
, certifique-se que dbus está em excecução:
$ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
Desabilitar/Habilitar o menu de acessibilidade
Para desabilitar ou habilitar o Menu de Acessibilidade, defina a seguinte chave no editor dconf:
# machinectl shell gdm@
# gsettings set org.gnome.desktop.interface toolkit-accessibility false
# exit
O menu é desabilitado quando a chave estiver em falso, habilitado quando estiver em verdadeiro.
Layout do teclado
O layout do teclado do sistema será aplicado ao GDM. Veja
Keyboard configuration in Xorg#Using X configuration files
.
Dica
Veja
Wikipedia:ISO 3166-1
para uma lista de
keymaps
.
Se um sistema tiver vários usuários, é possível especificar um layout de teclado para o GDM usar, o que é diferente do layout do teclado do sistema. Em primeiro lugar, certifique-se de que o pacote
gnome-control-center
esteja instalado. Então inicie o
gnome-control-center
e navegue até
Região & Idioma -> Fontes de entrada
. Na barra de cabeçalho, pressione o botão de alternância
Tela de início de sessão
e escolha um layout de teclado na lista. Observe que o botão
Tela de início de sessão
não estará visível na barra de cabeçalho, a menos que vários usuários estejam presentes no sistema
[5]
.
Usuários do GDM 2.x (GDM legado) pode precisar editar
~/.dmrc
como mostrado abaixo:
~/.dmrc
[Desktop]
Language=de_DE.UTF-8   # altera seu idioma padrão
Layout=de   nodeadkeys # altera seu layout padrão
Alterar o idioma
O idioma do sistema será aplicado ao GDM. Se um sistema tiver vários usuários, é possível definir um idioma para o GDM diferente do idioma do sistema. Neste caso, primeiro certifique-se de que
gnome-control-center
esteja instalado. Então, inicie o 'gnome-control-center' e escolha
Região & Idioma
. Na barra de cabeçalho, marque o botão de alternância
Tela de início de sessão
. Por fim, clique em
Idioma
e escolha seu idioma na lista. Você será solicitado a fornecer sua senha de root. Observe que o botão
Tela de início de sessão
não estará visível na barra de cabeçalho, a menos que vários usuários estejam presentes no sistema
[6]
.
Dica
Ao adicionar dois idiomas de entrada diferentes, efetuando logout e selecionando seu idioma padrão, o GDM se lembrará de sua escolha assim que a segunda opção for removida.
Usuários e autenticação
Autenticação automática
Para habilitar a autenticação automática com o GDM, adicione o seguinte a
/etc/gdm/custom.conf
(substitua
nome_de_usuário
por seu próprio):
/etc/gdm/custom.conf
# Habilita autenticação automática para o usuário
[daemon]
AutomaticLogin=
nome_de_usuário
AutomaticLoginEnable=True
Dica
Se o GDM falhar após adicionar essas linhas, comente-as de um TTY.
ou para uma autenticação automática com um atraso:
/etc/gdm/custom.conf
[daemon]

TimedLoginEnable=true
TimedLogin=
nome_de_usuário
TimedLoginDelay=1
Você pode definir a sessão usada para autenticação automática (substitua
gnome-xorg
pela sessão desejada):
/var/lib/AccountsService/users/
nome_de_usuário
XSession=gnome-xorg
Autenticação sem senha
Se você quiser ignorar o prompt de senha no GDM, basta adicionar a seguinte linha na primeira linha de
/etc/pam.d/gdm-password
:
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
Em seguida, adicione o grupo
nopasswdlogin
ao seu sistema. Veja
Usuários e grupos#Gerenciamento de grupo
para descrições de grupos e comandos de gerenciamento de grupos.
Agora, adicione seu usuário ao grupo
nopasswdlogin
e você só terá que clicar no seu nome de usuário para se autenticar.
Atenção
Não
faça isso para a conta
root
.
Você não poderá mais alterar seu tipo de sessão na autenticação com o GDM. Se você quiser alterar o tipo de sessão padrão, primeiro precisará remover o usuário do grupo
nopasswdlogin
.
Desligamento sem senha para várias sessões
O GDM usa o polkit e o logind para obter permissões para o encerramento. Você pode desligar o sistema quando vários usuários estão autenticados, definindo:
/etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">

<policyconfig>

  <action id="org.freedesktop.login1.power-off-multiple-sessions">
    <description>Shutdown the system when multiple users are logged in</description>
    <message>System policy prevents shutting down the system when other users are logged in</message>
    <defaults>
      <allow_inactive>yes</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

</policyconfig>
Você pode encontrar todas as opções de logind disponíveis (por exemplo, reboot-multiple-sessions)
here
.
Habilitar autenticação como root no GDM
Não é aconselhável fazer login como root, mas, se necessário, você pode editar
/etc/pam.d/gdm-password
e adicionar a seguinte linha antes da linha
auth required pam_deny.so
:
/etc/pam.d/gdm-password
auth            sufficient      pam_succeed_if.so uid eq 0 quiet
O arquivo deve ser algo como isto:
/etc/pam.d/gdm-password
...
auth            sufficient      pam_succeed_if.so uid eq 0 quiet
auth            sufficient      pam_succeed_if.so uid >= 1000 quiet
auth            required        pam_deny.so
...
Você deve poder autenticar como root após reiniciar o GDM.
Ocultar usuário da lista de login
Os usuários da lista de usuários do gdm são reunidos por
AccountsService
. Ele irá ocultar automaticamente os usuários do sistema (UID <1000). Para ocultar usuários comuns da lista de login, crie ou edite um arquivo com o nome do usuário para ocultar em
/var/lib/AccountsService/users/
para conter pelo menos:
/var/lib/AccountsService/users/
nome_de_usuário
[User]
SystemAccount=true
Definir as configurações de monitor padrão
Alguns
ambientes de desktop
armazenam configurações de exibição em
~/.config/monitors.xml
. Os comandos
xrandr
são então gerados na base do conteúdo do arquivo. O GDM tem um arquivo semelhante armazenado em
/var/lib/gdm/.config/monitors.xml
.
Se você tiver a configuração de seus monitores como quiser (orientação, escala, primário e assim por diante) em
~/.config/monitors.xml
e quiser que o GDM honre essas configurações:
$ sudo cp ~/.config/monitors.xml /var/lib/gdm/.config/
$ sudo chown gdm:gdm /var/lib/gdm/.config/monitors.xml
As partes relevantes de
monitors.xml
para rotação e escala de tela são:
<monitors version="2">
  <configuration>
    <logicalmonitor>
      ...
      <scale>2</scale>
      ...
      <transform>
        <rotation>right</rotation>
        <flipped>no</flipped>
      </transform>
      ...
    </logicalmonitor>
  </configuration>
</monitors>
As alterações entrarão em vigor no encerramento da sessão. Isso é necessário porque o GDM não respeita
xorg.conf
.
Nota
Se você usa GDM sob o Wayland, você também deve usar um
monitors.xml
que foi criado sob Wayland. Veja
bug 224 do GDM
para mais informações. Alternativamente, você pode forçar o GDM a
#Usar backend do Xorg
e usar um
monitors.xml
que foi criado sob Xorg.
Configurar permissão de acesso do servidor X
Você pode usar o comando
xhost
para configurar permissões de acesso ao servidor X.
Por exemplo, para conceder ao GDM o direito de acessar o servidor X, use o seguinte comando:
# xhost +SI:localuser:gdm
Solução de problemas
Wayland e o driver proprietário da NVIDIA
O GDM não funciona bem no modo Wayland com o driver proprietário
NVIDIA
. Ao usar esse driver, o GDM usará o Xorg em vez disso.
[7]
Para forçar ativação do Wayland, desative a regra
udev
responsável para desativar o Wayland no GDM:
# ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
Falha no encerramento da sessão
Se o GDM iniciar corretamente na inicialização, mas falhar após tentativas repetidas de encerramento de sessão, tente adicionar essa linha à seção do daemon do
/etc/gdm/custom.conf
:
GdmXserverTimeout=60
Xorg sem senha
Veja
Xorg (Português)#Xorg sem root
.
Usar backend do Xorg
O backend
Wayland
é usado por padrão e o backend
Xorg
é usado somente se o backend de Wayland não puder ser iniciado. Você pode querer usar o backend Xorg se, por exemplo:
A tela
pisca
GDM
trava
Para usar o backend do Xorg por padrão, descomente a seguinte linha no
/etc/gdm/custom.conf
:
#WaylandEnable=false
GDM congela com o systemd
Se o GDM travar com
systemctl enable gdm
, e
systemctl start gdm
funciona conforme esperado, aplique a configuração com
systemctl edit gdm
conforme abaixo:
[Service]
 Type=Idle
GDM não inicia até a entrada ser fornecida
Se, após a inicialização, a tela permanecer preta e o GDM não iniciar até que o mouse seja movido ou algo digitado no teclado, isso pode ocorrer devido à falta de entropia necessária para a geração aleatória de números. Para confirmar, verifique se a seguinte linha aparece dentro do log de
systemd-random-seed
(que pode ser lido usando
journalctl --unit systemd-random-seed
):
Kernel entropy pool is not initialized yet, waiting until it is.
Para corrigir isso, você pode passar o
parâmetro do kernel
random.trust_cpu=on
se sua CPU possuir suporte à instrução
RDRAND
ou usar
haveged
, que também fornece entropia, embora seja de qualidade supostamente baixa. Veja
artigo do Debian sobre o tópico
para outras soluções.
Remoção incompleta do gdm
Após remover
gdm
, o
systemd
pode relatar o seguinte:
user 'gdm': directory '/var/lib/gdm' does not exist
Para remover esse aviso, autentique-se como root e exclua o usuário primário "gdm" e exclua o grupo "gdm":
# userdel gdm
# groupdel gdm
Verifique se gdm foi removido com sucesso via
pwck
e
grpck
. Para completar, você pode querer se certificar que não há arquivos
arquivos sem dono
por restos do gdm.
Suspensão automática do GDM (GNOME 3.28)
O GDM usa um banco de dados separado do dconf para controlar o gerenciamento de energia. Você pode fazer o GDM se comportar da mesma maneira que as sessões do usuário copiando as configurações do usuário para o banco de dados dconf do GDM.
$ IFS=$'\n'; for x in $(sudo -u
nome_de_usuário
gsettings list-recursively org.gnome.settings-daemon.plugins.power); do eval "sudo -u gdm dbus-launch gsettings set $x"; done; unset IFS
sendo
nome_de_usuário
o nome do seu usuário.
Ou simplesmente desabilitar a suspensão automática (também execute o comando com
ac
substituído por
battery
para também desativá-lo durante a execução com bateria):
$ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
GDM ignora Wayland e usa X.Org por padrão
Wayland requer Kernel Mode Setting (KMS) em execução para funcionar, e em algumas máquinas o processo GDM inicia mais cedo que KMS, resultando em GDM ser incapaz de ver Wayland e trabalhando apenas com X.Org. Isso pode resultar em mensagens como o seguinte, mostrando seu log:
gnome-shell[569]: Failed to open gpu '/dev/dri/card0': GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted
 gnome-shell[569]: Failed to create backend: No GPUs found
 systemd[505]: gnome-shell-wayland.service: Failed with result 'protocol'.
 systemd[505]: Failed to start GNOME Shell on Wayland.
Você pode resolver este problema
iniciando o KMS mais cedo
.
Veja também
Manual de referência do GDM