unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27580: Elogin doesn't start properly
@ 2017-07-04 23:39 William
  2017-07-10 22:21 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: William @ 2017-07-04 23:39 UTC (permalink / raw)
  To: 27580

On my GuixSD VM (Guix release 0.13) elogind doesn't start at startup,
despite (elogind-service) being used in config.scm. I am not using
Xorg or a desktop manager like Slim.

Elogind only starts when loginctl is executed as loginctl activates
elogind via DBus, meaning that it doesn't record any logins before
loginctl is run. I don't believe that this is intended; my Arch Linux
install doesn't miss any logins.

My config.scm:

--8<---------------cut here---------------start------------->8---
(services (cons* ;; Networking
                   (service wpa-supplicant-service-type)
                   (service connman-service-type (connman-configuration))
                   (service tlp-service-type)
                   (service thermald-service-type)
                   (udisks-service)
                   (polkit-service)
                   (elogind-service)
                   (dbus-service)

                   %base-services))
--8<---------------cut here---------------end--------------->8---

Output (just started up vm):


--8<---------------cut here---------------start------------->8---
gollum login: cavej
Password:
This is the GNU operating system, welcome!

gollum% loginctl
dbus[392]: [system] activating service name='org.freedesktop.login1'
(using servicehelper)
[/gnu/store/ninbsrgj12ik3zjwk0vbcbmhwfkfhj7h-logind.conf:5] Unknown
lvalue 'InhibitDelayMaxSecs' in section 'Login'
[/gnu/store/ninbsrgj12ik3zjwk0vbcbmhwfkfhj7h-logind.conf:15] Unknown
lvalue 'HolfoffTimeoutSecs' in section 'Login'
[/gnu/store/ninbsrgj12ik3zjwk0vbcbmhwfkfhj7h-logind.conf:17] Unknown
lvalue 'IdleActionSeconds' in section 'Login'
[/gnu/store/ninbsrgj12ik3zjwk0vbcbmhwfkfhj7h-logind.conf:19] Unknown
lvalue 'RemoveIpc' in section 'Login'
dbus[392]: [system] Successfully activated service 'org.freedesktop.login1'
New seat seat0.
Watching system buttons on /dev/input/event0 (Power Button)
   SESSION      UID USER            SEAT

0 sessions listed.
gollum% exit
Respawning term-tty1
Service term-tty1 has been restarted.


This is the GNU system. Welcome.
gollum login: cavej
Password:
New session c1 of user cavej.
This is the GNU operating system, welcome!

gollum% loginctl
   SESSION       UID  USER                    SEAT
         c1    30011  cavej                   seat0

1 sessions listed.
--8<---------------cut here---------------end--------------->8---

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#27580: Elogin doesn't start properly
  2017-07-04 23:39 bug#27580: Elogin doesn't start properly William
@ 2017-07-10 22:21 ` Ludovic Courtès
       [not found]   ` <CAPCYgVfvS1HoWvb8H1oJM+xCx2P6bUSCOEnSEikpRs47ao8+Hw@mail.gmail.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2017-07-10 22:21 UTC (permalink / raw)
  To: William; +Cc: 27580

Hello,

William <w@vieta.uk> skribis:

> Elogind only starts when loginctl is executed as loginctl activates
> elogind via DBus, meaning that it doesn't record any logins before
> loginctl is run. I don't believe that this is intended; my Arch Linux
> install doesn't miss any logins.

I thought pam_elogind would trigger bus-activation but it does not,
because of this:

        /* Make this a NOP on non-logind systems */
        if (!logind_running())
                return PAM_SUCCESS;

where:

  static inline bool logind_running(void) {
          return access("/run/systemd/seats/", F_OK) >= 0;
  }

When the system is started, /run/systemd is empty, so pam_elogind
directly returns success.

I’m looking for a way to work around this; to be continued…

Ludo’.

PS: The problem does not happen with X and SLiM because they somehow
    activate elogind before one has logged in.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#27580: Fwd: bug#27580: Elogin doesn't start properly
       [not found]   ` <CAPCYgVfvS1HoWvb8H1oJM+xCx2P6bUSCOEnSEikpRs47ao8+Hw@mail.gmail.com>
@ 2017-07-11  7:33     ` William
  2017-07-11  9:13     ` Ludovic Courtès
  1 sibling, 0 replies; 4+ messages in thread
From: William @ 2017-07-11  7:33 UTC (permalink / raw)
  To: 27580

Thanks for looking at this Ludo.

In systemd the systemd-logind.service looks a little like this:
    [Service]
    ExecStart=/usr/lib/systemd/systemd-logind
    BusName=org.freedesktop.login1

It looks as though it simply executes the systemd-logind program.

Shouldn't our shepherd service simply execute elogind-program-wrapper?
This may also be right because elogind handles things like the laptop
lid being closed, which should be handled even if no one has logged in
yet.

Will

On 10 July 2017 at 23:21, Ludovic Courtès <ludo@gnu.org> wrote:
> Hello,
>
> William <w@vieta.uk> skribis:
>
>> Elogind only starts when loginctl is executed as loginctl activates
>> elogind via DBus, meaning that it doesn't record any logins before
>> loginctl is run. I don't believe that this is intended; my Arch Linux
>> install doesn't miss any logins.
>
> I thought pam_elogind would trigger bus-activation but it does not,
> because of this:
>
>         /* Make this a NOP on non-logind systems */
>         if (!logind_running())
>                 return PAM_SUCCESS;
>
> where:
>
>   static inline bool logind_running(void) {
>           return access("/run/systemd/seats/", F_OK) >= 0;
>   }
>
> When the system is started, /run/systemd is empty, so pam_elogind
> directly returns success.
>
> I’m looking for a way to work around this; to be continued…
>
> Ludo’.
>
> PS: The problem does not happen with X and SLiM because they somehow
>     activate elogind before one has logged in.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#27580: Elogin doesn't start properly
       [not found]   ` <CAPCYgVfvS1HoWvb8H1oJM+xCx2P6bUSCOEnSEikpRs47ao8+Hw@mail.gmail.com>
  2017-07-11  7:33     ` bug#27580: Fwd: " William
@ 2017-07-11  9:13     ` Ludovic Courtès
  1 sibling, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2017-07-11  9:13 UTC (permalink / raw)
  To: William; +Cc: 27580-done

[-- Attachment #1: Type: text/plain, Size: 587 bytes --]

Hi,

(Please keep 27580-done@debbugs.gnu.org Cc’d.)

William <w@vieta.uk> skribis:

> Shouldn't our shepherd service simply execute elogind-program-wrapper?
> This may also be right because elogind handles things like the laptop
> lid being closed, which should be handled even if no one has logged in
> yet.

Good point, we should probably just start it from the Shepherd.  Done:

  https://git.savannah.gnu.org/cgit/guix.git/commit/?id=94a881178af9a9a918ce6de55641daa245c92e73

Let me know if there are still problems.

For the record, I tested with this config:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1016 bytes --]

diff --git a/gnu/system/examples/bare-bones.tmpl b/gnu/system/examples/bare-bones.tmpl
index f7b8823d4..293182e53 100644
--- a/gnu/system/examples/bare-bones.tmpl
+++ b/gnu/system/examples/bare-bones.tmpl
@@ -2,7 +2,7 @@
 ;; for a "bare bones" setup, with no X11 display server.
 
 (use-modules (gnu))
-(use-service-modules networking ssh)
+(use-service-modules networking ssh desktop dbus)
 (use-package-modules admin)
 
 (operating-system
@@ -38,12 +38,12 @@
                %base-user-accounts))
 
   ;; Globally-installed packages.
-  (packages (cons tcpdump %base-packages))
 
   ;; Add services to the baseline: a DHCP client and
   ;; an SSH server.
   (services (cons* (dhcp-client-service)
-                   (service openssh-service-type
-                            (openssh-configuration
-                              (port-number 2222)))
+                   (elogind-service)
+                   (service polkit-service-type)
+                   (dbus-service)
+
                    %base-services)))

[-- Attachment #3: Type: text/plain, Size: 26 bytes --]


Thank you!

Ludo’.

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-07-11 11:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-04 23:39 bug#27580: Elogin doesn't start properly William
2017-07-10 22:21 ` Ludovic Courtès
     [not found]   ` <CAPCYgVfvS1HoWvb8H1oJM+xCx2P6bUSCOEnSEikpRs47ao8+Hw@mail.gmail.com>
2017-07-11  7:33     ` bug#27580: Fwd: " William
2017-07-11  9:13     ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).