elogind-246.10
      
      
        
          Introdução a "elogind"
        
        
          elogind é o "logind" do projeto
          systemd, extraído para ser um
          processo de segundo plano independente. Ele se integra com
          Linux-PAM-1.5.2 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 adequadamente
          usando uma plataforma LFS 11.3.
        
        
          Informação do Pacote
        
        
        
          Dependências do "elogind"
        
        
          Exigidas
        
        
          dbus-1.14.6
        
        
          Recomendadas
        
        
          Linux-PAM-1.5.2 (exigido para o "Xorg"),
          Polkit-122 (tempo de execução), docbook-xml-4.5, docbook-xsl-nons-1.79.2 e libxslt-1.1.37 (todos três para construir as
          páginas de manual)
        
        
          Opcionais
        
        
          Para os testes: lxml-4.9.2, gobject-introspection-1.74.0,
          zsh-5.9, Valgrind-3.20.0, audit-userspace,
          bash-completion,
          kexec
          e SELinux
        
        
          Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/elogind
        
       
      
        
          Configuração do
          Núcleo
        
        
          Habilite as seguintes opções na configuração do núcleo e recompile
          o núcleo, se necessário:
        
        
General setup --->
    [*]     Control Group support                       [CONFIG_CGROUPS]
File systems --->
    [*]     Inotify support for userspace                [CONFIG_INOTIFY_USER]
            Pseudo filesystems --->
                [*]    Tmpfs POSIX Access Control Lists  [CONFIG_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 --->                              [CONFIG_CRYPTO]
   <M/*> Userspace cryptographic algorithm configuration [CONFIG_CRYPTO_USER]
   <M/*> User-space interface for hash algorithms        [CONFIG_CRYPTO_USER_API_HASH]
       
      
        
          Instalação do "elogind"
        
        
          Instale elogind executando os
          seguintes comandos:
        
        sed -i '/Disable polkit/,+8 d' meson.build &&
sed '/request_name/i\
r = sd_bus_set_exit_on_disconnect(m->bus, true);\
if (r < 0)\
    return log_error_errno(r, "Failed to set exit on disconnect: %m");' \
    -i src/login/logind.c &&
mkdir build &&
cd   build &&
meson --prefix=/usr                        \
      --buildtype=release                  \
      -Dcgroup-controller=elogind          \
      -Ddbuspolicydir=/etc/dbus-1/system.d \
      -Dman=auto                           \
      ..  &&
ninja
        
          Para testar os resultados, emita: ninja test. Uns poucos testes são
          pulados se não executados com privilégios de root.
        
        
          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
        
        
          sed ... meson.build:
          Essa mudança permite que o pacote seja construído sem o "polkit"
          ser instalado (ainda é uma dependência de tempo de execução), mas
          apto a usar o "polkit" depois que tal pacote seja instalado.
        
        
          sed ...
          src/login/logind.c: Essa mudança permite que o
          processo de segundo plano "elogind" saia quando for desconectado do
          "dbus" (por exemplo, quando o "dbus" for eliminado).
        
        
          -Dcgroup-controller=elogind: Essa
          chave garante que elogind seja
          selecionado como o controlador de "cgroup", mesmo se inicializado
          com outro controlador de "cgroup" em execução.
        
        
          -Ddbuspolicydir=/etc/dbus-1/system.d:
          Essa chave configura o local do diretório de políticas do
          D-Bus.
        
        
          -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.
        
        
          -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
         
       
      
        
          Conteúdo
        
        
          
            
              Aplicativos Instalados:
              busctl, elogind-inhibit e loginctl
            
            
              Biblioteca Instalada:
              libelogind.so
            
            
              Diretórios Instalados:
              /lib/elogind, /etc/elogind,
              /usr/include/elogind e /usr/share/doc/elogind-246.10
            
           
         
        
          
            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"
                   
                 |