AccountsService-23.13.9

Introdução ao AccountsService

O pacote AccountsService fornece um conjunto de interfaces D-Bus para consulta e manipulação de informações da conta do(a) usuário(a) e uma implementação dessas interfaces baseada nos comandos usermod(8), useradd(8) e userdel(8).

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.2.

Informação do Pacote

Dependências do "AccountsService"

Exigidas

Polkit-125

Recomendadas

Opcionais

GTK-Doc-1.34.0 e xmlto-0.0.29

Opcionais (para testes)

dbusmock-0.32.1 e PyGObject-3.48.2

Instalação do "AccountsService"

Primeiro, renomeie um diretório cuja presença impede o sistema de construção de executar se dbusmock-0.32.1 não estiver instalado:

mv tests/dbusmock{,-tests}

Em seguida, corrija um conjunto de comandos sequenciais de teste, de forma que o novo diretório seja encontrado e adapte-o para Python 3.12.0 ou posterior:

sed -e '/accounts_service\.py/s/dbusmock/dbusmock-tests/' \
    -e 's/assertEquals/assertEqual/'                      \
    -i tests/test-libaccountsservice.py

Corrija um teste que falha se a localidade en_IE.UTF-8 não estiver instalada:

sed -i '/^SIMULATED_SYSTEM_LOCALE/s/en_IE.UTF-8/en_HK.iso88591/' tests/test-daemon.py

Instale AccountsService executando os seguintes comandos:

mkdir build &&
cd    build &&

meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D admin_group=adm   \
      -D elogind=true      \
      -D systemdsystemunitdir=no

Agora adapte a cópia de mocklibc enviada para permitir construir a suíte de teste com GCC 14 ou posterior:

grep 'print_indent'     ../subprojects/mocklibc-1.0/src/netgroup.c \
     | sed 's/ {/;/' >> ../subprojects/mocklibc-1.0/src/netgroup.h &&
sed -i '1i#include <stdio.h>'                                      \
    ../subprojects/mocklibc-1.0/src/netgroup.h

Construa o pacote:

ninja

Para testar o pacote, emita ninja test.

Agora, como o(a) usuário(a) root:

ninja install

Explicações do Comando

--buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados.

-D admin_group=adm: Essa chave configura o grupo para contas de administrador(a).

-D docbook=true: Essa chave habilita construir a documentação da API da interface do D-Bus (precisa do xmlto-0.0.29).

-D gtk_doc=true: Essa chave habilita construir a documentação da API da libaccountsservice (precisa do GTK-Doc-1.34.0).

-D vapi=false: Essa chave desabilita construir as ligações vala. Use-a se você não tiver instalado Vala-0.56.17.

Configurando "AccountsService"

Para permitir que os(as) usuários(as) no grupo "adm" sejam listados como Administradores(as), execute os seguintes comandos como o(a) usuário(a) root:

cat > /etc/polkit-1/rules.d/40-adm.rules << "EOF"
polkit.addAdminRule(function(action, subject) {
  return ["unix-group:adm"];
  });
EOF

Conteúdo

Aplicativos Instalados: accounts-daemon (em /usr/libexec)
Bibliotecas Instaladas: libaccountsservice.so
Diretórios Instalados: /usr/include/accountsservice-1.0, /usr/share/accountsservice, /usr/share/gtk-doc/html/libaccountsservice (opcional) e /var/lib/AccountsService

Descrições Curtas

accounts-daemon

é o processo de segundo plano AccountsService

libaccountsservice.so

contém as funções da "API" do AccountsService