On Friday, 28 June 2019 16:06:50 BST »Q« wrote:
> On Thu, 27 Jun 2019 12:42:56 +0100
> 
> Mick <michaelkintz...@gmail.com> wrote:
> > On Thursday, 27 June 2019 10:55:16 BST Mick wrote:
> > > The next thing to try:
> > > 
> > > I don't have elogind starting up as a boot level rc service,
> > > because it is launched when needed by dbus or pam.  Perhaps if
> > > elogind is running as a background service sddm will (re)launch
> > > differently?
> > 
> > I just tried it and it works.  :-)
> > 
> > With elogind running as a boot service, sddm launches with the
> > Shutdown/Reboot buttons shown and they work as expected.  However, as
> > I do not have a /usr/ bin/loginctl, all I can assume is irrespective
> > of the HaltCommand path specified in the default sddm config, when
> > launched sddm searches all paths and eventually finds /bin/loginctl,
> > which it runs when a button is pressed.
> > 
> > As we've established with no -elogind +consolekit the commands
> > specified in the default sddm config file are different.  Also, with
> > consolekit being a default rc service, it is running at the time sddm
> > is launched.
> 
> I use openrc, so I have sddm installed with -elogind -systemd
> +consolekit +pam.  Putting consolekit in the default runlevel does make
> the buttons work the first time sddm is launched, on reboot.
> 
> Without the conosolekit service in the default runlevel, the buttons
> are greyed out after reboot, but restarting xdm some time after booting,
> still without consolekit running, makes the buttons come alive and
> work.  

At this stage, when you are restarting xdm, you've logged in the console and 
(I'm guessing) dbus+polkit+pam are running even if consolekit is not.  
Consolekit is needed for multiple users, so it is not necessary for this 
purpose, although if it's already running I understand it helps with the 
authentication by calling on pam.  So, I'm surmising, dbus calls in polkit & 
pam, since you're logged in, which allows access to /sbin/shutdown.

 # ldd /usr/bin/sddm | grep dbus
        libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007f5374160000)


> So there's something in play other than consolekit for me.
> 
> (I don't actually need to sort this out -- I'm just curious.)

It may have something to do with dbus/polkit, which authenticates access to 
the /sbin/shutdown file locally by sddm and this makes the buttons visible/
actionable.  If you have not logged in yet, after a reboot, then only dbus is 
running at that stage with no authentication mechanism.  I may be *wildly* 
wrong, but no doubt more knowledgeable members will drop by soon to correct 
me.

-- 
Regards,

Mick

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to