Package:  killer
Version:  0.90-8
Severity: wishlist
User:     [email protected]
Usertags: debian-edu

As can be seen in <URL: http://bugs.debian.org/648604 > and
<URL: http://bugs.debian.org/709521 >, some times display managers fail
to update the utmp database of currently logged in users, and this cause
killer to throw out logged in users.

While this definitely is a bug in lightdm and other display managers to
not update utmp and wtmp, we could consider asking the consolekit module
to list local users when utmp is empty.

Something similar to this might work (the patch is incomplete and
untested):

--- killer-0.90/killer  2000-02-10 16:55:57.000000000 +0100
+++ killer      2013-06-29 09:03:51.000000000 +0200
@@ -871,8 +871,7 @@
 
     $consoleuser = "";
 
-    open ( W, "$whocmd|") || return;
-
+    if (open ( W, "$whocmd|")) {
     while ( <W> ) {
        chop;
        @parts = split(/[ \t]+/);
@@ -883,6 +882,24 @@
     }
     close(W);
 }
+    my $consolekitcmd = '/usr/bin/ck-list-sessions'
+    if ( ! $consoleuser && -x $consolekitcmd) {
+        open ( W, "$consolekitcmd|") || return;
+        my $user;
+        while ( <W> ) {
+            chomp;
+            if (/^\tunix-user = '(\d+)'/) {
+                $user = $1;
+            }
+            if (/^\tis-local = (.+)$/) {
+                if ('TRUE' eq $1) {
+                    $consoleuser = uid2username($user);
+                }
+            }
+        }
+        close(W);
+    }
+}
 
 =head2 showConsoleUser
 
The output from ck-list-sessions look like this:

$ ck-list-sessions 
Session1:
        unix-user = '10001'
        realname = 'Some User'
        seat = 'Seat1'
        session-type = ''
        active = TRUE
        x11-display = ':0'
        x11-display-device = '/dev/tty7'
        display-device = ''
        remote-host-name = ''
        is-local = TRUE
        on-since = '2013-06-28T07:41:00.536509Z'
        login-session-id = ''
%

Should we try to extend killer like this?

-- 
Happy hacking
Petter Reinholdtsen


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to