Introduction to AccountsService

The AccountsService package provides a set of D-Bus interfaces for querying and manipulating user account information and an implementation of those interfaces based on the usermod(8), useradd(8) and userdel(8) commands.



Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

AccountsService Dependencies





GTK-Doc-1.33.2 and xmlto-0.0.28

Optional (for tests)

dbusmock-0.29.0 and PyGObject-3.44.1

User Notes:

Installation of AccountsService

First, rename a directory whose presence prevents the build system from running if dbusmock-0.29.0 is not installed:

mv tests/dbusmock{,-tests}

Then fix the tests so that the new directory is found:

sed -e '/accounts_service\.py/s/dbusmock/dbusmock-tests/' \
   -i tests/

Fix one test that fails if the en_IE.UTF-8 locale is not installed:

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

Install AccountsService by running the following commands:

mkdir build &&
cd build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Dadmin_group=adm   &&

To test the package, issue ninja test.

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-Dadmin_group=adm: This switch sets the group for administrator accounts.

-Ddocbook=true: This switch enables building the D-Bus interface API documentation (needs xmlto-0.0.28).

-Dgtk_doc=true: This switch enables building the libaccountsservice API documentation (needs GTK-Doc-1.33.2).

-Dvapi=false: This switch disables building the vala bindings. Use it if you have not installed Vala-0.56.8.

Configuring AccountsService

To allow users in the adm group to be listed as Administrators, execute the following commands as the root user:

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

Systemd Unit

To start the accounts-daemon daemon at boot, enable the previously installed systemd unit by running the following command as the root user:

systemctl enable accounts-daemon


Installed Programs: accounts-daemon (in /usr/libexec)
Installed Libraries:
Installed Directories: /usr/include/accountsservice-1.0, /usr/share/accountsservice, /usr/share/gtk-doc/html/libaccountsservice (optional), and /var/lib/AccountsService

Short Descriptions


is the AccountsService daemon

contains the AccountsService API functions