console-kit-daemon(1m) Maintenance Commands console-kit-daemon(1m)NAMEconsole-kit-daemon - ConsoleKit daemon
SYNOPSISconsole-kit-daemon [--debug] [--help] [--no-daemon] [--timed-exit]
DESCRIPTIONconsole-kit-daemon is a service for defining and tracking users, login
sessions and seats. It provides interfaces for managing switching ses‐
sions and session migration when using mechanisms such as Virtual Ter‐
minals (VT). ConsoleKit provides a number of interfaces to specify
what displays are managed by the display manager, and how.
ConsoleKit maintains a database of which users are logged into the sys‐
tem and a history of all user logins. ConsoleKit groups sessions by
seats which represent a set of hardware (usually a keyboard and mouse).
Other process communicate with ConsoleKit via D-Bus.
One session leader process is responsible for asking console-kit-daemon
to open a new session. In the typical case, the session leader would
be a ConsoleKit enabled display manager, such as GDM. This leader
makes a connection to the D-Bus system bus and asks console-kit-daemon
to open a session when needed.
If the operation succeeds, console-kit-daemon will return a cookie to
the session leader. The session leader should store this variable in
the environment as XDG_SESSION_COOKIE so that it may be shared with its
child processes. The environment variable contains the UUID used to
tie processes to a session.
At this point the session will be registered with ConsoleKit and a par‐
ticular set of information about the session will be stored along with
it.
The Session will remain open until the Session Leader disconnects from
the D-Bus system bus. The session will be removed from its seat, and
deregistered.
Various other programs need to know information about running user ses‐
sions, such as the Fast User Switch Applet and other mechanisms for
switching the console to use a different VT display. Such programs
make use of ConsoleKit interfaces to determine if user switching is
supported and to manage the switching of different sessions on the same
seat.
On Solaris, the ConsoleKit service is managed by the smf(5) service
management facility under the service identifier svc:/system/con‐
solekit. On Solaris, it is recommended that you use the svcadm(1m)
utility to start and stop the ConsoleKit service.
ConsoleKit provides a pam_ck_connector so that non-graphical logins
(e.g. telnet, ssh, etc.) are registered with ConsoleKit. This func‐
tionality works if this PAM module is enabled in the pam.conf(4) con‐
figuration. Thus ConsoleKit can be used as a utmp/wtmp replacement
since it stores a superset of the information as in the utmp/wtmp data‐
base.
The ConsoleKit database is stored in the file /var/run/ConsoleKit/data‐
base. It stores information about active Seats, Sessions, and the cur‐
rent SessionLeader.
OPTIONS
The following options are supported:
--debug Enable debug output.
-h, --help Display detailed usage message.
--no-daemon Avoid starting console-kit-daemon as a daemon.
Useful for debugging.
--timed-exit Exit after 30 seconds. Useful for debugging.
ENVIRONMENT VARIABLES
See environ(5) for descriptions of environment variables.
DISPLAY
This environment variable corresponds to the Xserver display value
associated with the ConsoleKit session.
XDG_SESSION_COOKIE
ConsoleKit provides this environment variable to the session
leader. The session leader is expected to ensure this is set for
the session process started. It contains a UUID used to tie the
processes to the session. This is used to support user switching
on displays that support it (currently only graphical VT displays
on the console).
The following environment variables are set when console-kit-daemon
runs the run-session.d and run-seat.d scripts. These values correspond
to those values returned by the ck-list-session(1) utility.
CK_SESSION_SEAT_ID
The seat ID associated with the session.
CK_SESSION_SEAT_UID
The user id associated with the session
CK_SESSION_DISPLAY_DEVICE
The display device associated with the session.
CK_SESSION_DISPLAY_TYPE
The display configuration file associated with the session. This
is a file located in the /etc/ConsoleKit/displays.d directory.
CK_SESSION_X11_DISPLAY_DEVICE
The value of the display device that the X11 display for the ses‐
sion is connected to. If there is no x11-display set, then this
value is undefined.
CK_SESSION_X11_DISPLAY
The value of the X11 DISPLAY environment variable for this session
if one is present.
CK_SESSION_REMOTE_HOST_NAME
If the session is not local, the value is the host name associated
with the session. If the session is local, the value is empty.
CK_SESSION_IS_ACTIVE
The value is "TRUE" if the session is active on the seat to which
it is attached, and "FALSE" otherwise.
CK_SESSION_IS_LOCAL
The value is "TRUE" if the session is local, and "FALSE" if remote.
EXTENDED DESCRIPTION
ConsoleKit Seat Configuration
ConsoleKit seat configuration files are located in the /etc/Con‐
soleKit/seats.d directory. Each seat configuration file ends with the
.seat suffix. ConsoleKit provides a default seat file named 00-pri‐
mary.seat. Additional seat configuration files may be added. These
files are in standard INI format.
The settings below are in "group/key=default_value" format, and show
the default values of the 00-primary.seat file. For example, to spec‐
ify a different "Seat Entry/Name" value, you would modify the this file
so it contains these lines:
[Seat Entry]
[...]
Name=Customized seat name
The following keys are supported for configuring ConsoleKit seats:
Seat Entry/Version=1.0
Version number of the seat file. This specifies the version number
of the configuration file format used. Currently only the value
"1.0" is supported.
Seat Entry/Name=Primary seat
Name of the seat.
Seat Entry/ID=StaticSeat
Specifies the unique ID of the seat. If the value is NULL, then
console-kit-daemon will provide a value. The ID may only contain
the ASCII characters [A-Z][a=z][0-9]_".
Seat Entry/Hidden=false
If this value is set to "false", then ConsoleKit will create this
seat. Otherwise, the seat will not be created.
Seat Entry/Devices
This value is not currently supported. In the future, it is
planned that ConsoleKit will provide the ability to manage how
device permissions are managed, and this key is a placeholder.
Seat Entry/Sessions=Local
List of sessions to start on the seat, separated by the ";" charac‐
ter. Each session must be defined in a ConsoleKit session configu‐
ration file named /etc/ConsoleKit/sessions.d/sessions.session where
sessions is the value of this key.
ConsoleKit Display Configuration
ConsoleKit display configuration files are located in the /etc/Con‐
soleKit/displays.d directory. Each session configuration file ends
with the .display suffix. Additional seat configuration files may be
added. These files are in standard INI format.
The settings below are in "group/key" format, so to specify the
"X11/Display" value, the file should contain these lines:
[X11]
[...]
Exec=/usr/X11/bin/Xserver $display -br -auth $auth $vt
The following keys are supported for configuring ConsoleKit displays:
Display/Type
The type of the display. Currently only the value "X11" is sup‐
ported. This indicates that the display will be managed by an
Xserver that sends a SIGUSR1 signal to its parent pid when it is
ready. This is standard for all Xservers, such as the Xorg(1)
Xserver.
X11/Exec
The command to run to launch the session. This command supports
variables that start with the "$" character, like "$display". The
values to use for these variables can either be specified in the
ConsoleKit session configuration file in the "[Local]" section, or
via the ck-seat-tool(1) application.
Administrator can customize the X11/Exec command as required. For
example, to enable xkb and accessibility extensions for Xserver,
edit /etc/ConsoleKit/displays.d/Local.display
[X11]
[...]
Exec=/usr/X11/bin/Xserver $display -br -auth $auth $vt +kb +accessx
ConsoleKit Session Configuration
ConsoleKit session configuration files are located in the /etc/Con‐
soleKit/sessions.d directory. Each session configuration file ends
with the .session suffix. Additional seat configuration files may be
added. These files are in standard INI format.
The settings below are in "group/key" format, so to specify the "Ses‐
sion Entry/Name" value, the file should contain these lines:
[Session Entry]
[...]
Name=Customized Session
The following keys are supported for configuring ConsoleKit sessions:
Session Entry/Name
Unique name of the session.
Session Entry/Type
Type of the session
Session Entry/Description
Description of the session.
Session Entry/DisplayTemplate
This specifies the display type to be used with the session. This
corresponds to the file /etc/ConsoleKit/displays.d/display_tem‐
plate.display where display_template is the value of this key.
Local/variable
The ConsoleKit display configuration file associated with the
"Entry/DisplayTemplate" key specifies the command to run to launch
the display. This command is defined in the ConsoleKit display
configuration file in the key "X11/Exec". This command can include
variables that begin with the "$" character, such as "$display".
The values to be used for these variables can be defined in this
section. So if the session configuration file contains the value
"Local/display=:0", this will cause the variable used when launch‐
ing the command to be replaced with the value ":0".
ConsoleKit Session Script Interfaces
The following interfaces are provided so that system administrators can
configure that certain actions happen when ConsoleKit responds to cer‐
tain events.
When a ConsoleKit session is started or removed, then console-kit-dae‐
mon will first run any scripts found in the /etc/ConsoleKit/run-ses‐
sion.d directory and then run any scripts in the /usr/lib/Con‐
soleKit/run-session.d directory.
When certain seat events, such as "seat_added", "seat_removed" or
"seat_active_session_changed" occur, then console-kit-daemon will first
run any script in the /etc/ConsoleKit/run-seat.d directory and then
run any scripts in the /usr/lib/ConsoleKit/run-seat.d directory.
ConsoleKit System Restart and Stop
console-kit-daemon provides D-Bus interfaces that will restart or stop
the system. When console-kit-daemon receives a D-Bus request to
restart the system, it will run the /usr/lib/ConsoleKit/scripts/ck-sys‐
tem-restart script if the user has privilege to do this operation.
When console-kit-daemon receives a D-Bus request to stop the system, it
will run the /usr/lib/ConsoleKit/scripts/ck-system-stop script if the
user has privilege to do this operation.
EXAMPLES
Example 1: To start the ConsoleKit daemon
example% console-kit-daemon
Example 2: To configure ConsoleKit to not start a seat
To disable a seat, the administrator can set Hidden=true in the .seat
file. Edit the 00-primary.seat file as follows to disable the default
primary seat which normally runs on the system console.
For example, disabling the primary seat on the console is useful if the
administrator wishes to run GDM in headless mode. This can be useful if
the administrator wants GDM to accept XDMCP remote displays but the
server does not actually have a console.
[Seat Entry]
Version=1.0
Name=Primary seat
ID=StaticSeat1
Description=start one static local display at :0
Hidden=true
Devices=
Sessions=Local;
Example 3: To configure ConsoleKit to start multiple sessions on a sin‐
gle seat
To start two local displays: DISPLAY ":0" on vt7 and DISPLAY ":1" on
"vt8", edit the 00-primary.seat file as follows:
[Seat Entry]
Version=1.0
Name=Primary seat
Description=start static displays :0 on vt7 and :1 on vt8
Hidden=false
Devices=
Sessions=Local;Local2;
Then, in addition to the original /etc/ConsoleKit/sessions.d/Local.ses‐
sion file, add the following /etc/ConsoleKit/sessions.d/Local2.session
file:
[Session Entry]
Name=Local
Type=LoginWindow
Description=Local Login Screen
DisplayTemplate=Local
[Local]
display=:1
vt=vt8
Example 4: To configure ConsoleKit to start multiple seat
To start two seats: a local session on DISPLAY ":0" using "vt7" and
another seat using a VNC session on DISPLAY ":64", add a file /etc/Con‐
soleKit/seats.d/01-vnc.seat as follows:
[Seat Entry]
Version=1.0
Name=VNC seat
Description=start one VNC display on :64
Hidden=false
Devices=
Sessions=LocalVNC;
Add the /etc/ConsoleKit/sessions.d/LocalVNC.session file as follows:
[Session Entry]
Name=LocalVNC
Type=LoginWindow
Description=Connect to local VNC server running on same machine
DisplayTemplate=LocalVNC
[LocalVNC]
display=:64
Finally, add the /etc/ConsoleKit/displays.d/LocalVNC.display file as
follows:
[Display]
Type=X11
[X11]
Exec=/usr/X11/bin/Xvnc $display -auth $auth -query localhost
FILES
The following files are used by this application:
/usr/sbin/console-kit-daemon
Executable for the ConsoleKit daemon.
/usr/lib/ConsoleKit/run-seat.d
Any scripts in this directory are run when a ConsoleKit seat event
happens.
/usr/lib/ConsoleKit/run-session.d
Any scripts in this directory are run when a ConsoleKit session
event happens.
/usr/lib/ConsoleKit/scripts/ck-system-restart
Script to run when ConsoleKit receives a D-Bus request to restart
the system.
/usr/lib/ConsoleKit/scripts/ck-system-stop
Script to run when ConsoleKit receives a D-Bus request to stop the
system.
/etc/ConsoleKit/seats.d
ConsoleKit seat configuration files.
/etc/ConsoleKit/session.d
ConsoleKit session configuration files.
/etc/ConsoleKit/run-seat.d
Any scripts in this directory are run when a ConsoleKit seat event
happens.
/etc/ConsoleKit/run-session.d
Any scripts in this directory are run when a ConsoleKit seat event
happens.
/var/run/ConsoleKit/database
ConsoleKit database.
/var/log/ConsoleKit/history
ConsoleKit history database.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │library/xdg/consolekit │
├─────────────────────────────┼─────────────────────────────┤
│Interface stability │Volatile │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSO
More information can be found at:
http://www.freedesktop.org/wiki/Software/ConsoleKit
ck-history(1), ck-launch-session(1), ck-list-sessions(1), dbus-dae‐
mon(1), ck-seat-tool(1m), gdm(1m), svcadm(1m), attributes(5), envi‐
ron(5), smf(5)NOTES
Brian Cameron, Sun Microsystems Inc., 2009. Copyright (c) 2009 by Sun
Microsystems, Inc.
Some of the documentation in this manpage is from the ConsoleKit docu‐
mentation written by William Jon McCann.
SunOS 5.11 24 Oct 2009 console-kit-daemon(1m)