Details
- Reviewers
graesslin - Group Reviewers
FreeBSD Plasma - Commits
- R133:68fb0b7d3e1c: Add script to unlock a broken session via ConsoleKit.
Diff Detail
- Repository
- R133 KScreenLocker
- Branch
- master
- Lint
No Linters Available - Unit
No Unit Test Coverage
abstractlocker.cpp | ||
---|---|---|
54 | I think this needs to be runtime detected. |
abstractlocker.cpp | ||
---|---|---|
54 | So something ala
|
abstractlocker.cpp | ||
---|---|---|
54 | That would be the ultimate solution ;-) |
Use QDbus to query whether ConsoleKit or LoginD is presnet (note, I have not tested LoginD :) )
CMakeLists.txt | ||
---|---|---|
102 | Nitpick, but this should probably mention ConsoleKit/ConsoleKit2, not loginctl |
abstractlocker.cpp | ||
---|---|---|
69 | Drop ".Session", since the service is registered (Manjaro, KDE Neon) as "org.freedesktop.login1". |
On FreeBSD the configure now looks like:
[...] -- Could NOT find loginctl (missing: loginctl_EXECUTABLE) -- Found ConsoleKit: /usr/local/bin/ck-list-sessions [...] * prctl/procctl tracing control, Required for disallowing ptrace on greeter and kcheckpass process * sys/event.h, Use the kevent() and sigwaitinfo() api for signalhandling * XInput, Required for grabbing XInput2 devices in the screen locker * Unlock broken screenlocker, Needed for emergency unlock in case that the greeter is broken. In case your distribution does not provide loginctl or consolekit please contact plasma-devel@kde.org to discuss alternatives. -- The following OPTIONAL packages have been found: * WaylandScanner, Executable that converts XML protocol files to C code, <http://wayland.freedesktop.org> * PkgConfig -- The following RECOMMENDED packages have been found: * ConsoleKit, Framework for defining and tracking users, <http://www.freedesktop.org/wiki/Software/ConsoleKit> [...]
CMakeLists.txt | ||
---|---|---|
99 | It's probably better to refer to https://github.com/ConsoleKit2/ConsoleKit2 here. The freedesktop site doesn't mention ConsoleKit2 anywhere (afaics) and classic freedesktop ConsoleKit is old and doesn't provide the necessary dbus interfaces needed for plasma. |
- Switch the url to https://github.com/ConsoleKit2/ConsoleKit2
- coble together something less "unfortunate" from the official description: ConsoleKit2 is a framework for defining and tracking users, login sessions, and seats.
CMakeLists.txt | ||
---|---|---|
97 | I would suggest that this build-time detection of ConsoleKit occur always, and as a result, that ck-unlock-session be always installed if ConsoleKit is installed. |
CMakeLists.txt | ||
---|---|---|
97 | You can disable the detection of loginctl through cmake functionality. |
We could certainly do that by removing the wrapping if ( NOT HAVE_LOGINCTL ).
Additionally, also the order of the if-branches in abstractlocker.cpp would probably need to be reordered as to prefere login1.