Introduction to ConsoleKit
The ConsoleKit package is a
framework for keeping track of the various users, sessions, and
seats present on a system. It provides a mechanism for software to
react to changes of any of these items or of any of the metadata
associated with them.
This package is known to build and work properly using an LFS-7.7
This package is known to build using the gcc-5 compiler but has not
dbus-glib-0.104 and Xorg Libraries
Linux-PAM-1.2.1 and Polkit-0.113
If you intend NOT to
install polkit, you will need to
manually edit the ConsoleKit.conf file to lock down the service.
Failure to do so may be a huge SECURITY HOLE.
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/consolekit
Installation of ConsoleKit
Install ConsoleKit by running the
./configure --prefix=/usr \
This package does not come with a test suite.
Now, as the
switch enables building of the udev-acl tool, which is used to
allow normal users to access device nodes normally only accessible
switch enables building of the ConsoleKit PAM module which is needed for ConsoleKit to work correctly with PAM. Remove if Linux
PAM is NOT
Disable attempting to build with systemd libraries.
--enable-docbook-docs: Use this switch
if xmlto is installed and you wish
to build the API documentation.
PAM Module Configuration
If you use Linux PAM, it needs
to be configured to activate ConsoleKit upon user login. This can be
achieved by editing the
/etc/pam.d/system-session file as the
cat >> /etc/pam.d/system-session << "EOF"
# Begin ConsoleKit addition
session optional pam_loginuid.so
session optional pam_ck_connector.so nox11
# End ConsoleKit addition
You will also need a helper script that creates a file in
/var/run/console named as the
currently logged in user and that contains the D-Bus address of the session. You can create
the script by running the following commands as the
cat > /usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck << "EOF"
[ -n "$CK_SESSION_USER_UID" ] || exit 1
[ "$CK_SESSION_IS_LOCAL" = "true" ] || exit 0
TAGFILE="$TAGDIR/`getent passwd $CK_SESSION_USER_UID | cut -f 1 -d:`"
if [ "$1" = "session_added" ]; then
mkdir -p "$TAGDIR"
echo "$CK_SESSION_ID" >> "$TAGFILE"
if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then
sed -i "\%^$CK_SESSION_ID\$%d" "$TAGFILE"
[ -s "$TAGFILE" ] || rm -f "$TAGFILE"
chmod -v 755 /usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck
See /usr/share/doc/ConsoleKit/spec/ConsoleKit.html for more
ck-list-sessions, ck-log-system-restart, ck-log-system-start,
ck-log-system-stop and console-kit-daemon
/usr/lib/ConsoleKit, /usr/share/doc/ConsoleKit and
is a utility that provides information from the
ConsoleKit database about what users have logged into the
is a utility for starting a command in its own ConsoleKit
list sessions with respective properties. Also good for
write system restart to log.
write system start to log.
write system stop to log.
is the ConsoleKit
Last updated on 2015-06-25 19:12:50 +0000