There are two types of sockets: the global one (dmctl) and the per\-display ones (dmctl\-<display>). The global one's subdir is owned by root, the subdirs of the per\-display ones' are owned by the user currently owning the session (root or the logged in user).
.sp1
The directory in which the sockets are located is determined this way:
the "listbootoptions" command and the "=" option to "shutdown" are supported.
.IP" \- shutdown <list>"
"shutdown" is supported and allowed to the listed users (comma\-separated). "*" means all authenticated users.
.IP" \- shutdown"
"shutdown" is supported and allowed to everybody.
.IP" \- nuke <list>"
forced shutdown is allowed to the listed users.
.IP" \- nuke"
forced shutdown is allowed to everybody.
.IP" \- reserve <number>"
reserve displays are configured and <number> are available at this time.
.TP
\fBlist\fP [all|alllocal]
.br
Return a list of running sessions. By default all active sessions are listed. If "all" is specified, passive sessions are listed as well. If "alllocal" is specified, passive sessions are listed as well, but all incoming remote sessions are skipped.
.sp1
Each session entry is a comma\-separated tuple of:
.RS7
\- Display or TTY name
.br
\- VT name for local sessions
.br
\- Logged in user's name, empty for passive sessions and outgoing
.br
remote sessions (local chooser mode)
.br
\- Session type or remote host for outgoing remote sessions,
.br
empty for passive sessions
.br
\- A flag field:
.RS5
\- "t" for tty sessions
.br
\- "*" for the display belonging to the requesting socket
.br
\- "!" for sessions that cannot be killed by the requesting
.br
socket
.br
\- New flags might be added later
.br
.RE
\- New fields might be added later
.RE
.TP
\fBreserve\fP [timeout in seconds]
.br
Start a reserve login screen. If nobody logs in within the specified amount of time (one minute by default), the display is removed again. When the session on the display exits, the display is removed, too.
.br
Permitted only on sockets of local displays and the global socket.
.TP
\fBactivate\fP (vt|display)
.br
Switch to a particular VT (virtual terminal). The VT may be specified either directly (e.g., vt3) or by a display using it (e.g., :2).
.br
Permitted only on sockets of local displays and the global socket.
.TP
.Blistbootoptions
List available boot options.
.br
=> "ok" list default current default and current are indices into the list and are \-1 if unset or undeterminable.
.TP
\fBshutdown\fP (reboot|halt) [=bootchoice]
.br
(ask|trynow|forcenow|schedule|start
.br
(\-1|end (force|forcemy|cancel)))
.br
.RS7
Request a system shutdown, either a reboot or a halt/poweroff.
.sp1
An OS choice for the next boot may be specified from the list returned by "listbootoptions".
.sp1
Shutdowns requested from per\-display sockets are executed when the current session on that display exits. Such a request may pop up a dialog asking for confirmation and/or authentication.
.sp1
start is the time for which the shutdown is scheduled. If it starts with a plus\-sign, the current time is added. Zero means immediately.
end is the latest time at which the shutdown should be performed if active sessions are still running. If it starts with a plus\-sign, the start time is added. Minus one means wait infinitely. If end is through and active sessions are still running, \fBTDM\fP can do one of the following:
- "forcemy" \- shut down nonetheless if all active sessions
.br
belong to the requesting user. Only for per\-display sockets.
.RE
.sp1
start and end are specified in seconds since the UNIX epoch.
.sp1
"trynow" is a synonym for "0 0 cancel", "forcenow" for "0 0 force" and "schedule" for "0 \-1".
.sp1
"ask" attempts an immediate shutdown and interacts with the user if active sessions are still running. Only for per\-display sockets.
.RE
.TP
\fBshutdown cancel\fP [local|global]
.br
Cancel a scheduled shutdown. The global socket always cancels the currently pending shutdown, while per\-display sockets default to cancelling their queued request.
.TP
\fBshutdown status\fP
Return a list with information about shutdowns.
.br
The entries are comma\-separated tuples of:
.RS10
\- ("global"|"local") \- pending vs. queued shutdown. A local
.br
entry can be returned only by a per\-display socket.
.br
\- ("halt"|"reboot")
.br
\- start
.br
\- end
.br
\- ("ask"|"force"|"forcemy"|"cancel")
.br
\- Numeric user ID of the requesting user, \-1 for the global
This manual page was written by Holger Hartmann <Holger_Hartmann@gmx.de> for the Debian Project (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation.
.PP
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common\-licenses/GPL.