ConsoleKit2 2.0.0

ConsoleKit2 is a continuation fork of ConsoleKit for managing user sessions, logins, and tracking seats. It's an alternative to systemd-logind, and intended for XFCE as compatibility layer to run on the various BSD systems. It integrates many patches since ConsoleKit was unmaintained, utilizes recent dbus, glib, X11, libkvm, PAM, udev, inotify and pm-utils bindings.

Tags c session login-manager pam linux bsd
License GNU GPL
State stable

Recent Releases

2.0.005 Sep 2023 10:25 major feature: Stable release of ConsoleKit2 Placeholder for breaking changes.
1.2.609 Aug 2023 06:45 minor feature: Stable release of ConsoleKit2 Changes since 1.2.4. New Features: Use 0 as a starting point for the seat serial and lowercase the seat name as well to imitate systemd/logind. Enable VT support for __aarch64__. : Do not call g_() on invalid file descriptors. Properly handle PROP_KIND in ck_seat_get_property(). Misc Changes: Simplify ck_system_can_suspend on OpenBSD.
1.2.504 Apr 2023 06:25 minor bugfix: Stable release of ConsoleKit2 Changes since 1.2.4. New Features: Use sd_ shim functions on !systemd platforms. : gtk-doc test failure. Misc Changes: Sleep before suspending or hibernating to give time for the screen to lock. Remove pm-utils dependency.
1.2.405 Jul 2021 12:25 minor bugfix: Stable release of ConsoleKit2 Changes since 1.2.3. New Features: Implement session-service parameter. : Do not hardcode seat0 for Seat1 in ListSessions.
1.2.304 Jun 2021 16:05 minor bugfix: Stable release of ConsoleKit2 Changes since 1.2.2. : a crash with glib deging enable by not unreferencing an instance object which was not referenced before while removing the lock on it. Translation Updates: French.
1.2.207 Dec 2020 09:45 minor bugfix: Stable release of ConsoleKit2 Changes since 1.2.1. : Use the named pipe's random filepath as a lock reference. signal handling with multiple inhibit events. Misc Changes: Merge enhancements from the OpenBSD port. Remove unused argument from the get_named_pipe_path() function.
1.2.114 Dec 2017 06:05 minor feature: Stable release of ConsoleKit2 Changes since 1.2.0. New Features: Add ListSeats method to Manager interface. Add CanControlSession dbus call. : Correctly report SELinux support. Only use tmpfs mounts on DFly if supported. incompatible-pointer-type warning. Remove some redundant code probing for hibernation, suspend, and sleep. make_tmpfs for DragonFly. memory leak in ck-manager. Seat property on Session interface. Misc Changes: Add DragonFlyBSD as a platform. Remove DragonFly specific code from FreeBSD sysdeps. Switch away from AC_DISABLE_STATIC.
1.2.018 Jul 2017 04:45 major bugfix: Stable release of ConsoleKit2 Changes since 1.1.2. New Features: Add wscons headers for OpenBSD. : Allow changing to VTs we don't have a session for. Correct introspection pre- Change configure.ac to enable the udev backend with devattr. Use KDSKBMODE if defined. Use #ifdef HEADER_H instead of #ifdef OS. FreeBSD session activation. Place sessions with a VT on the static Seat1. clean up clang warnings. correct uninitialized variable warning. Explicitly check for needed symbols. Correct build errors in OpenBSD. compiling on FreeBSD. Misc Changes: update gitignore. more autotools cleanup work. update readme with new deps.
1.1.202 Jun 2017 15:05 minor feature: Please note that this is a development release. . New Features: Add a session-state property and method. Add session-class dbus property and get method. Introduce libconsolekit. Add dbus method GetVTNr to Session. Add dbus LockSession/UnlockSession. Add dbus ActivateSession/ActivateSessionOnSeat. : Add session class + state to ck-list-sessions. Allow session-class property to be set via OpenSessionWithParameters. Wrong lib linked in libconsolekit.pc.in. Remove the rest of the gcc warnings. Remove warnings about signed/unsigned comparisons. Remove warning about redeclaration. Remove warnings about redundant function declarations. --enable-libudev configure flag. Coverity: 180820 remove dead code. Misc Changes: Add CONSOLEKIT_DEGING support back in. Update ck-list-sessions man page. Update tests for new methods added. Simplify configure.ac. Document session types allowed. -
1.1.108 May 2017 20:05 minor bugfix: Please note that this is a development release. . Changes: Don't try to run "chmod +x" on 90-consolekit, it is not a executable. Use INSTALL_SCRIPT instead of INSTALL_PROGRAM for 90-consolekit. Remove the root restriction for XDG_RUNTIME_DIR. cgroups: Attempt to use 'cpuaccount' if 'all' cgroup fails on pid move. ck-remove-directory: return exit code 0 on success. ck-remove-directory: remove unused dest parameter on become_user. ck-remove-directory: remove dest dir as real user. Add support for selinux. Freebsd 10.3: session activation. a reversed condition for invalid device on NetBSD. cgroups: Use UID of logged in user instead UID of session leader process. memory leaks and a memory corruption. OpenBSD: adapt to recent kvm(3) restrictions. pam-ck-connector on musl. for OpenBSD and FreeBSD VT device naming scheme. Add a few more display manager users to filter out. Update udev rules. Handle XDG_RUNTIME_DIR not being created/set. Add support for server managed FDs. Prevent a use-after-free when emitting signal changes. coverity and gcc warnings. Add a LockedHint property.
1.1.018 Mar 2016 10:45 major feature: Please note that this is a development release. . Development release of ConsoleKit2 targeting the 1.0 release. Please report all problems to https://github.com/ConsoleKit2/ConsoleKit2/ Changes: Add a 'User' section to the CK database. Add a 'Seats' section to the CK database. Properly filter the sessions for the specified user. pam-ck allow VTNR to be double-digit. login_session_id will be G_MAXUINT32 when unset. Handle the legacy 'user' property as an override setting. Change owner of newly created cgroup to owner of progress group leader. Create cgroup on all controllers managed by cgmanager. Implement XDG_RUNTIME_DIR. When assigning session to active VT prefer graphical sessions. undefined behavior in ck-log-system-start. Translation Updates: Bulgarian, Spanish, Spanish (Latin America), Dutch, Russian.
1.0.114 Jan 2016 20:25 minor bugfix: Stable release of ConsoleKit2. Thank you to everyone who submitted pull requests. Changes since 1.0.0: Check for enough swap space before allowing hibernate operation. XDG_VTNR support. Add NetBSD support. a potential crash condition after successfully suspending. some libdir/scripts stuff. Filter out the kdm user.
1.0.011 Aug 2015 19:05 major feature: Stable release of ConsoleKit2 This is the first release of ConsoleKit2 considered stable. It. incorporates many changes since the fork from ConsoleKit. Please see the previous development release notes for the full list of changes. Notable changes since 0.9.5: On Linux, if cgmanager is installed and running, ConsoleKit2 will use it to track the sessions. The method of session tracking supersedes the XDG_SESSION_COOKIE. Respect multilib/multiarch filesystem layouts. Patch by Kylie McClain. Filter out the sddm user the same as the gdm user. Update the gettext portion of the build system. Prevent an infinite loop when removing inhibitors. Add Bulgarian language translations.
0.9.513 Jul 2015 14:45 minor feature: Please note that this is a development release. . Development release of ConsoleKit2 targeting the 1.0 release. Please report all problems to https://github.com/ConsoleKit2/ConsoleKit2/issues Add new DBUS method: ListInhibitors. Mark sessions as local explicitly when not built with PAM support. Watch and handle dbus NameOwnerChanged events. Add an --enable-tests configure option.
0.9.417 Jun 2015 03:16 minor feature: Please note that this is a development release. . Development release of ConsoleKit2 targeting the 1.0 release. Please report all problems to https://github.com/ConsoleKit2/ConsoleKit2/issues Cksession return empty string when login session id not set. Test code now cleans up any created sessions. Fix, where polkit and networkmanager weren't working because the CKDB wasn't getting the correct uid set. Translation Updates: Russian, Spanish, Spanish (Latin America).
0.9.311 Jun 2015 17:45 feature cleanup: Please note that this is a development release. . Development release of ConsoleKit2 targeting the 1.0 release. Please report all problems to https://github.com/ConsoleKit2/ConsoleKit2/issues Changes to the public DBUS API: - Adds the "mode" parameter to the inhibit call. - Additional error messages are now returned i.e. CkSeat's ActivateSession can return CK_SEAT_ERROR_ALREADY_ACTIVE. - PrepareForSleep PrepareForShutdown signals added. Coverity scan and cppcheck static analysis fixes. Don't delete the inhibit named pipe files on startup. Add "mode" to the inhibit dbus call to better match logind. Remove the pam-foreground-compat script, it was causing race conditions. Port ConsoleKit2 to GDBus, these changes required a glib min version bump to 2.40. A TRACE macro was added for additional debugging when built with. --enable-debug=full. Add transifex client configuration. Fix build without PolicyKit/Polkit (Ivailo Monev). Include gio header required for GAsyncResult (Ivailo Monev). OpenBSD: unbreak get_kinfo_proc by properly initializing the length (Antoine Jacoutot). Check for Linux-PAM features rather than just Linux, for OpenPAM support. (Andrew Aldridge). Fix a warning message about the Source ID not being found during remote ck session log out. Add -with-rundir configure flag (Robby Workman). Revert the "Fix crash on logout/login via SunRay" as it caused regressions. OpenBSD cleanups and sync (Antoine Jacoutot). PrepareForSleep/Shutdown signals are now emitted. Ensure the 90-consolekit file is correctly installed. SystemdService file is now conditionally installed. Fix installing the logrotate file. Translation Updates: Russian, Spanish, Spanish (Latin America).
0.9.208 Jan 2015 16:45 minor: Development release of ConsoleKit2 targeting the 1.0 release. Please report all problems to https://github.com/ConsoleKit2/ConsoleKit2/issues Changes to the public DBUS API: Adds the PowerOff/Reboot and respective Can APIs. Adds the PolkicyKit interactivity flag to the API calls. Same as logind. Other minor changes: Default to not building systemd units Add a note about CONFIG_AUDITSYSCALL and PAM Minor autotools changes. Change inhibit locks internally to allow multiple instances of the same application to hold a lock.
0.9.101 Nov 2014 21:45 minor feature: Only one commit with this release but since it changes the public DBUS API it's better to get it out now before someone starts writing for the 0.9.0 APIs. Hybrid Suspend has been added as a sleep method. The sleep API has been reworked to emulate logind so that supporting both is easier.