Bug 102080

Summary: shutdown a thin server client
Product: kdm Reporter: Richard Bos <richard.bos>
Component: generalAssignee: kdm bugs tracker <kdm-bugs-null>
Status: RESOLVED UNMAINTAINED    
Severity: wishlist CC: esigra, ron
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description Richard Bos 2005-03-21 13:32:58 UTC
Version:           kde-3.4 (using KDE KDE 3.4.0)
Installed from:    SuSE RPMs
OS:                Linux

I'm using kde on a thin client server.  This works quite well, except for the 
shutdown command.  When the shutdown command is selected on the client 
display, it actually says shutdown the server which is of course not going to 
happen ;)

But is kdm able to determine that the shutdown order comes from a thin client 
and as such will execute a different command compared to the action performed 
on the real server display?

I'm able to shutdown the client from the server, the only missing link is the 
connection between kdm and the command...

Oswald answered on the kde-kiosk emaillist:
> It comes back regurarely on thin client server list....
> 
yup. it's definitely on my todo list. i have a slight "protocol
problem", though. i think adding a separate shutdown-command for remote
displays (with some expando for the hostname) is the most sensible
solution.
another question is, whether there should be an option to shut down the
server from a client at all.
also, this has all an impact on the "safe shutdown". one'd need a
command to obtain a list of sessions on the remote machine (imagine the
remote display is no thin client but a workstation on which "remote
login" was chosen).
Comment 1 Richard Bos 2005-03-21 14:32:46 UTC
I thought about it a little and came up with the following (which might
not be possible at all!):

wouldn't it be possible to create an array that list what client(s) (hostname/ip number) should be shutdown with "another" than the standard shutdown command?

Something like:
ws01=ltspinfo -h ws01 --shutdown
ws02=ltspinfo -h ws02 --shutdown
etc.

I don't know if this configuration information an be stored in kdmrc.  Perhaps it would be better to store it in a seperate file and have an entry in kdmrc that refers to that file?

[X-:*-Core]
AllowRemoteSystemShutdown=true
RemoteSystemShutdown=a file next to kdmrc

As far as I know only the client display number is known at the server, at least for the thin client server that I use.

Now if shutdown is selected the $DISPLAY is compared with the entries listed in the new config file mentioned above (if AllowRemoteSystemShutdown=true).  If
the $DISPLAY matches the special shutdown command is used.  Other the default shutdown sequence is used.

I don't think that it should be possible to shutdown the server from the client.

I think my proposal above is a safe one for the "remote workstation" thin
client scenario.  Don't put the workstation in the RemoteSystemShutdown file.
As such the workstation can not be shutdown => the user needs to use the
shutdown button from the workstation itself...
Comment 2 Oswald Buddenhagen 2005-03-21 15:07:17 UTC
no need to worry about configuring per-host shutdown commands; this can be trivially done with the regular per-display settings.

do we want to be able to shut down terminals when the server goes down?
if so, arbitrary machines or only ones that have a kdm-managed display at this time?
this would complicate matters a lot. maybe better leave it to an external site-specific script (it can be started via the server's local ShutdownCmd).

just disallowing shutdowns from remote for multi-purpose workstations sounds like a reasonable thing to do ...

so after all, this seems like a very simple thing to implement. it might be the first thing i do when i get back to kdm.
Comment 3 Richard Bos 2005-03-21 15:24:23 UTC
> no need to worry about configuring per-host shutdown commands; this can be trivially done with the regular per-display settings.

Do you mean something like:
[X-:ws01-Core]...?

> Do we want to be able to shut down terminals when the server goes down?

Not now.  Just wait for another wish to come in ;)

> If so, arbitrary machines or only ones that have a kdm-managed display at this
time?  This would complicate matters a lot. maybe better leave it to an
external site-specific script (it can be started via the server's local
ShutdownCmd).

I agree (for the moment at least ;)  Can you elaborate a little more about
the ShutdownCmd?  Where is this command configured?  Is it in kdmrc, in which
section, is it: X-:*-Core ?

> It might be the first thing i do when i get back to kdm.
That sounds really good.  You will make quite some people happy by adding this functionality.
Do you already have an idea when you'll return to kdm?  Might it become
part of kde-3.5?
Comment 4 Oswald Buddenhagen 2005-03-21 15:29:18 UTC
On Mon, Mar 21, 2005 at 02:24:26PM -0000, Richard Bos wrote:
> Do you mean something like:
> [X-:ws01-Core]...?
> 

[X-ws01-Core], actually.

> Can you elaborate a little more about the ShutdownCmd?
>

RTFM :-P
an instance of the "new ShutdownCmd" for remote displays could be like
"rsh %h /sbin/halt".

> Do you already have an idea when you'll return to kdm?
> 

in a few days or weeks. now i'm hacking on cvs2svn for the upcoming
migration of the kde repo.

> Might it become part of kde-3.5?
>

sort of sure.
Comment 5 Richard Bos 2005-03-21 15:52:24 UTC
> Can you elaborate a little more about the ShutdownCmd? 
 
 RTFM :-P 
 an instance of the "new ShutdownCmd" for remote displays could be like 
 "rsh %h /sbin/halt". 

Okay found it.  I think that you referred to the commands in the
config option in:
kcontrol -> system administration -> login manager -> tab shutdown
Comment 6 Oswald Buddenhagen 2005-03-21 15:55:41 UTC
On Mon, Mar 21, 2005 at 02:52:25PM -0000, Richard Bos wrote:
> Okay found it.  I think that you referred to the commands in the
> config option in:
>

well, actually, i referred to HaltCmd & RebootCmd in
help:/kdm/kdm-files.html#kdmrc-shutdown - but this is sort of the same
in the end. :)
Comment 7 hene wou 2005-03-29 15:26:51 UTC
> another question is, whether there should be an option to shut down the 
 server from a client at all.
In my opinion, it Shouldn't: if you login to a remote Xdmcp-server, you generally don't have the intention to shut it down, because it should be considered as a 'server', which should be allways turned on. So, it should be easier to shut down the thin client (the X-server) than shutting down the Xdmcp-server. 
Maybe the followinging is off-topic, but I think it's related: the 'switch user' menu should be renamed to 'switch display' and it should call the kdm on the thin client to create a new session (instead of calling the Xdmcp-server to create a new session). Greetings Hendrik
Comment 8 Oswald Buddenhagen 2005-03-29 15:31:48 UTC
> the 'switch user' menu should be renamed to 'switch display'
>
the usability folks would kill me. :)

> and it should call the kdm on the thin client to create a new session
>
sort of complicated, as there is no protocol defined for this, yet. also, the thin client is in no way required to be running any dm in the first place.

> (instead of calling the Xdmcp-server to create a new session)
>
ähm ... so far, the user switching works only for local displays anyway.
Comment 9 Oswald Buddenhagen 2005-10-03 19:34:18 UTC
just for completeness, here's a link to the hack i used a while ago: http://developer.kde.org/~ossi/sw/halten.html
i've bound the script to shift-alt-ctrl-pgdn, substituting the regular shutdown without confirmation.
Comment 10 Nate Graham 2018-04-16 20:25:10 UTC
KDM is unmaintained and not used in KDE Plasma 5.

SDDM is the login manager used in KDE Plasma 5. If you still have this same issue with SDDM, please file an issue on the SDDM bugtracker (after doing a search for existing issues first!): https://github.com/sddm/sddm/issues/