Maintenance Commands console-kit-daemon(1m) NAME console-kit-daemon - ConsoleKit daemon SYNOPSIS console-kit-daemon [--debug] [--help] [--no-daemon] [-- timed-exit] DESCRIPTION console-kit-daemon is a service for defining and tracking users, login sessions and seats. It provides interfaces for managing switching sessions and session migration when using mechanisms such as Virtual Terminals (VT). ConsoleKit pro- vides 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 system and a history of all user logins. Con- soleKit groups sessions by seats which represent a set of hardware (usually a keyboard and mouse). Other process com- municate 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 connec- tion 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 particular 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 run- ning user sessions, such as the Fast User Switch Applet and other mechanisms for switching the console to use a dif- ferent 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. SunOS 5.11 Last change: 24 Oct 2009 1 Maintenance Commands console-kit-daemon(1m) On Solaris, the ConsoleKit service is managed by the smf(5) service management facility under the service identifier _s_v_c:/_s_y_s_t_e_m/_c_o_n_s_o_l_e_k_i_t. On Solaris, it is recommended that you use the svcadm(1m) utility to start and stop the Con- soleKit service. ConsoleKit provides a pam_ck_connector so that non-graphical logins (e.g. telnet, ssh, etc.) are registered with Con- soleKit. This functionality works if this PAM module is enabled in the pam.conf(4) configuration. Thus ConsoleKit can be used as a utmp/wtmp replacement since it stores a superset of the information as in the utmp/wtmp database. The ConsoleKit database is stored in the file /var/run/ConsoleKit/database. It stores information about active Seats, Sessions, and the current 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 SunOS 5.11 Last change: 24 Oct 2009 2 Maintenance Commands console-kit-daemon(1m) ensure this is set for the session process started. It contains a UUID used to tie the processes to the ses- sion. 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 ses- sion. 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 session 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. SunOS 5.11 Last change: 24 Oct 2009 3 Maintenance Commands console-kit-daemon(1m) 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/ConsoleKit/seats.d directory. Each seat configuration file ends with the .seat suffix. ConsoleKit provides a default seat file named 00-primary.seat. Additional seat configuration files may be added. These files are in stan- dard INI format. The settings below are in "group/key=_d_e_f_a_u_l_t__v_a_l_u_e" format, and show the default values of the 00-primary.seat file. For example, to specify 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. SunOS 5.11 Last change: 24 Oct 2009 4 Maintenance Commands console-kit-daemon(1m) 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 ";" character. Each session must be defined in a Con- soleKit session configuration file named /etc/ConsoleKit/sessions.d/_s_e_s_s_i_o_n_s.session where _s_e_s_- _s_i_o_n_s is the value of this key. ConsoleKit Display Configuration ConsoleKit display configuration files are located in the /etc/ConsoleKit/displays.d directory. Each session confi- guration 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: SunOS 5.11 Last change: 24 Oct 2009 5 Maintenance Commands console-kit-daemon(1m) [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 supported. 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 confi- guration 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/ConsoleKit/sessions.d directory. Each session confi- guration 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 "Session Entry/Name" value, the file should contain these lines: [Session Entry] [...] Name=Customized Session SunOS 5.11 Last change: 24 Oct 2009 6 Maintenance Commands console-kit-daemon(1m) 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 ses- sion. This corresponds to the file /etc/ConsoleKit/displays.d/_d_i_s_p_l_a_y__t_e_m_p_l_a_t_e.display where _d_i_s_p_l_a_y__t_e_m_p_l_a_t_e is the value of this key. Local/_v_a_r_i_a_b_l_e The ConsoleKit display configuration file associated with the "Entry/DisplayTemplate" key specifies the com- mand 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 launching 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 certain events. SunOS 5.11 Last change: 24 Oct 2009 7 Maintenance Commands console-kit-daemon(1m) When a ConsoleKit session is started or removed, then console-kit-daemon will first run any scripts found in the /etc/ConsoleKit/run-session.d directory and then run any scripts in the /usr/lib/ConsoleKit/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 res- tart 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-system-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 actu- ally 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 ses- sions on a single seat SunOS 5.11 Last change: 24 Oct 2009 8 Maintenance Commands console-kit-daemon(1m) 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.session file, add the fol- lowing /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/ConsoleKit/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 SunOS 5.11 Last change: 24 Oct 2009 9 Maintenance Commands console-kit-daemon(1m) 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. SunOS 5.11 Last change: 24 Oct 2009 10 Maintenance Commands console-kit-daemon(1m) /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 attri- butes: ____________________________________________________________ | 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-daemon(1), ck-seat-tool(1m), gdm(1m), svcadm(1m), SunOS 5.11 Last change: 24 Oct 2009 11 Maintenance Commands console-kit-daemon(1m) attributes(5), environ(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 Con- soleKit documentation written by William Jon McCann. SunOS 5.11 Last change: 24 Oct 2009 12