elogind-252.9
      
      
        
          Introdução ao elogind
        
        
          elogind é o "logind" do projeto
          systemd, extraído para ser um
          processo de segundo plano independente. Ele se integra com
          Linux-PAM-1.6.0 para rastrear todos(as)
          os(as) usuários(as) logados(as) em um sistema, e se eles(as) estão
          logados(as) graficamente, no console ou remotamente. Elogind expõe essas informações por meio da
          interface padrão org.freedesktop.login1 do D-Bus e também por meio do sistema de arquivos
          usando o esquema padrão /run/systemd
          do "systemd".
        
        
          Esse pacote é conhecido por construir e funcionar corretamente
          usando uma plataforma LFS 12.1.
        
        
          Informação do Pacote
        
        
        
          Dependências do elogind
        
        
          Recomendadas
        
        
          dbus-1.14.10 (tempo de execução), Linux-PAM-1.6.0 (exigido para Xorg),
          Polkit-124 (tempo de execução), docbook-xml-4.5, docbook-xsl-nons-1.79.2 e libxslt-1.1.39 (todos os três para construir
          as páginas de manual)
        
        
          Opcionais
        
        
          lxml-4.9.4, zsh-5.9, Valgrind-3.22.0
          (necessário para testes), audit-userspace,
          bash-completion,
          kexec
          e SELinux
        
        
          Observações de Editor(a): https://wiki.linuxfromscratch.org/blfs/wiki/Logind
        
       
      
        
          Configuração do
          Núcleo
        
        
          Habilite as seguintes opções na configuração do núcleo e recompile
          o núcleo se necessário:
        
        
File systems --->
  [*] Inotify support for userspace                               [INOTIFY_USER]
  Pseudo filesystems --->
    [*] Tmpfs virtual memory file system support (former shm fs)         [TMPFS]
    [*]   Tmpfs POSIX Access Control Lists                     [TMPFS_POSIX_ACL]
        
          Além disso, alguns testes precisam da "API" criptográfica do espaço
          do(a) usuário(a) do núcleo, a qual é habilitada com:
        
        
-*- Cryptographic API --->                                              [CRYPTO]
  Crypto core or helper --->
    <*/M> Userspace cryptographic algorithm configuration          [CRYPTO_USER]
  Userspace interface --->
    <*/M> Hash algorithms                                 [CRYPTO_USER_API_HASH]
       
      
        
          Instalação do elogind
        
        
          Instale o elogind executando os
          seguintes comandos:
        
        
mkdir build &&
cd    build &&
meson setup ..                              \
      --prefix=/usr                         \
      --buildtype=release                   \
      -Dman=auto                            \
      -Ddocdir=/usr/share/doc/elogind-252.9 \
      -Dcgroup-controller=elogind           \
      -Ddev-kvm-mode=0660                   \
      -Ddbuspolicydir=/etc/dbus-1/system.d &&
ninja
        
          Para testar os resultados, emita: ninja test. Uns poucos testes
          serão ignorados se não executados com privilégios de root. Dois testes chamados test-fs-util e test-id128 exigem o link simbólico /etc/machine-id, de forma que eles falharão se
          esse link simbólico ainda não estiver criado seguindo as instruções
          em dbus-1.14.10.
        
        
          Agora, como o(a) usuário(a) root:
        
        ninja install                                          &&
ln -sfv  libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &&
ln -sfvn elogind /usr/include/systemd
       
      
        
          Explicações do Comando
        
        
          -Ddocdir=/usr/share/doc/elogind-252.9:
          Isso é necessário para instalar a documentação em um diretório
          versionado.
        
        
          -Dcgroup-controller=elogind: Essa
          chave é necessária para construir esse pacote quando o núcleo não
          for compilado com CONFIG_CGROUPS
          habilitada. Observe que elogind
          precisa estritamente de um núcleo com CONFIG_CGROUPS habilitada em tempo de execução, mas
          essa chave permitirá construir o pacote primeiro.
        
        
          -Ddbuspolicydir=/etc/dbus-1/system.d:
          Essa chave configura o local do diretório de políticas do
          D-Bus.
        
        
          -Ddev-kvm-mode=0660: A
          regra udev do LFS configura o modo de /dev/kvm como 0660. Essa opção garante que as
          regras udev do elogind sejam consistentes com a configuração do
          LFS.
        
        
          -Dman=auto: O valor padrão
          dessa chave é false.
          Configurá-lo como auto
          permite construir e instalar as páginas de manual se as
          dependências recomendadas estiverem instaladas.
        
        
          -Dhtml=auto: O valor padrão dessa chave
          é false. Configurá-la como
          auto permite construir e
          instalar a documentação HTML se as dependências recomendadas
          estiverem instaladas.
        
        
          -Ddefault-kill-user-processes=false:
          Determina se os processos de um(a) usuário(a) deveriam ser
          eliminados quando o(a) usuário(a) sai. O padrão é true, mas isso anula o uso tradicional
          de screen ou
          tmux. Isso também
          pode ser mudado no arquivo de configuração (veja-se abaixo).
        
        
          ln -s ...: Esses
          comandos instalam links simbólicos, de modo que aqueles pacotes de
          software consigam encontrar a biblioteca e os cabeçalhos
          compatíveis com o "systemd".
        
       
      
        
          Configurando o elogind
        
        
          
            Arquivo de
            Configuração
          
          
            /etc/elogind/logind.conf
          
         
        
          
            Informação de Configuração
          
          
            O arquivo instalado /etc/elogind/logind.conf contém todas as opções
            possíveis com os padrões delas comentados. Você possivelmente
            quera desabilitar a eliminação automática de processos do(a)
            usuário(a) quando o(a) usuário(a) sai, executando como o(a)
            usuário(a) root:
          
          sed -e '/\[Login\]/a KillUserProcesses=no' \
   -i /etc/elogind/logind.conf
          
            Cada usuário precisará registrar uma sessão de usuário(a) usando
            Linux-PAM no login. O arquivo
            /etc/pam.d/system-session precisa
            ser modificado e um novo arquivo precisa ser criado para a
            finalidade de que o elogind funcione corretamente.
            Execute os seguintes comandos como o(a) usuário(a) root:
          
          cat >> /etc/pam.d/system-session << "EOF" &&
# Começo da adição de "elogind"
session  required    pam_loginuid.so
session  optional    pam_elogind.so
# Fim da adição de "elogind"
EOF
cat > /etc/pam.d/elogind-user << "EOF"
# Começo /etc/pam.d/elogind-user
account  required    pam_access.so
account  include     system-account
session  required    pam_env.so
session  required    pam_limits.so
session  required    pam_unix.so
session  required    pam_loginuid.so
session  optional    pam_keyinit.so force revoke
session  optional    pam_elogind.so
auth     required    pam_deny.so
password required    pam_deny.so
# Fim /etc/pam.d/elogind-user
EOF
          
            ![[Nota]](../images/note.png) 
            
              Nota
            
            
              Depois da conclusão do elogind, você deveria verificar se ele
              funciona corretamente. Primeiro, certifique-se de que
              dbus esteja executando. Pode
              ser mais fácil fazer isso reinicializando o sistema. Depois de
              se logar novamente, execute o comando loginctl. O resultado deveria
              indicar que uma SESSÃO e um SEAT foram criados.
            
           
         
       
      
        
          Conteúdo
        
        
          
            
              Aplicativos Instalados:
              busctl, elogind-inhibit e loginctl
            
            
              Biblioteca Instalada:
              libelogind.so
            
            
              Diretórios Instalados:
              /usr/lib/elogind, /etc/elogind,
              /usr/include/elogind e /usr/share/doc/elogind-252.9
            
           
         
        
          
            Descrições Curtas
          
          
            
              
              
            
            
              
                | 
                    busctl
                   | 
                    é usado para introspectar e monitorar o barramento do
                    "D-Bus"
                   | 
              
                | 
                    elogind-inhibit
                   | 
                    é usado para executar um aplicativo com bloqueio de
                    inibidor de desligamento, suspensão ou inatividade
                   | 
              
                | 
                    loginctl
                   | 
                    é usado para introspectar e controlar o estado do
                    Gerenciador de Login do "elogind"
                   | 
              
                | 
                    libelogind.so | 
                    é a principal biblioteca de utilitários do "elogind"
                   |