1 |
On Friday, 28 June 2019 16:06:50 BST »Q« wrote: |
2 |
> On Thu, 27 Jun 2019 12:42:56 +0100 |
3 |
> |
4 |
> Mick <michaelkintzios@×××××.com> wrote: |
5 |
> > On Thursday, 27 June 2019 10:55:16 BST Mick wrote: |
6 |
> > > The next thing to try: |
7 |
> > > |
8 |
> > > I don't have elogind starting up as a boot level rc service, |
9 |
> > > because it is launched when needed by dbus or pam. Perhaps if |
10 |
> > > elogind is running as a background service sddm will (re)launch |
11 |
> > > differently? |
12 |
> > |
13 |
> > I just tried it and it works. :-) |
14 |
> > |
15 |
> > With elogind running as a boot service, sddm launches with the |
16 |
> > Shutdown/Reboot buttons shown and they work as expected. However, as |
17 |
> > I do not have a /usr/ bin/loginctl, all I can assume is irrespective |
18 |
> > of the HaltCommand path specified in the default sddm config, when |
19 |
> > launched sddm searches all paths and eventually finds /bin/loginctl, |
20 |
> > which it runs when a button is pressed. |
21 |
> > |
22 |
> > As we've established with no -elogind +consolekit the commands |
23 |
> > specified in the default sddm config file are different. Also, with |
24 |
> > consolekit being a default rc service, it is running at the time sddm |
25 |
> > is launched. |
26 |
> |
27 |
> I use openrc, so I have sddm installed with -elogind -systemd |
28 |
> +consolekit +pam. Putting consolekit in the default runlevel does make |
29 |
> the buttons work the first time sddm is launched, on reboot. |
30 |
> |
31 |
> Without the conosolekit service in the default runlevel, the buttons |
32 |
> are greyed out after reboot, but restarting xdm some time after booting, |
33 |
> still without consolekit running, makes the buttons come alive and |
34 |
> work. |
35 |
|
36 |
At this stage, when you are restarting xdm, you've logged in the console and |
37 |
(I'm guessing) dbus+polkit+pam are running even if consolekit is not. |
38 |
Consolekit is needed for multiple users, so it is not necessary for this |
39 |
purpose, although if it's already running I understand it helps with the |
40 |
authentication by calling on pam. So, I'm surmising, dbus calls in polkit & |
41 |
pam, since you're logged in, which allows access to /sbin/shutdown. |
42 |
|
43 |
# ldd /usr/bin/sddm | grep dbus |
44 |
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007f5374160000) |
45 |
|
46 |
|
47 |
> So there's something in play other than consolekit for me. |
48 |
> |
49 |
> (I don't actually need to sort this out -- I'm just curious.) |
50 |
|
51 |
It may have something to do with dbus/polkit, which authenticates access to |
52 |
the /sbin/shutdown file locally by sddm and this makes the buttons visible/ |
53 |
actionable. If you have not logged in yet, after a reboot, then only dbus is |
54 |
running at that stage with no authentication mechanism. I may be *wildly* |
55 |
wrong, but no doubt more knowledgeable members will drop by soon to correct |
56 |
me. |
57 |
|
58 |
-- |
59 |
Regards, |
60 |
|
61 |
Mick |