Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

console-kit-daemon (8)

Name

console-kit-daemon - ConsoleKit daemon

Synopsis

console-kit-daemon [--debug] [--help] [--no-daemon] [--timed-exit]

Description

console-kit-daemon(8)       System Manager's Manual      console-kit-daemon(8)



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 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(7) service
       management  facility  under  the  service  identifier  svc:/system/con-
       solekit.   On  Solaris,  it  is  recommended that you use the svcadm(8)
       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(7) 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 direc-
              tory.

       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  ses-
              sion if one is present.

       CK_SESSION_REMOTE_HOST_NAME
              If  the session is not local, the value is the host name associ-
              ated 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 con-
              tain 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 ConsoleKit session
              configuration    file    named   /etc/ConsoleKit/sessions.d/ses-
              sions.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]" sec-
              tion, 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/dis-
              play_template.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 vari-
              able  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 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(7) for descriptions of the following attributes:


       +---------------+------------------------+
       |ATTRIBUTE TYPE |    ATTRIBUTE VALUE     |
       +---------------+------------------------+
       |Availability   | library/xdg/consolekit |
       +---------------+------------------------+
       |Stability      | Uncommitted            |
       +---------------+------------------------+

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(8), gdm(8), svcadm(8), attributes(7), environ(7),
       smf(7)

NOTES
       Some of the documentation in this manpage is from the ConsoleKit  docu-
       mentation written by William Jon McCann.


       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source  was  downloaded  from  http://www.freedesktop.org/software/Con-
       soleKit/dist/ConsoleKit-0.4.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://www.freedesktop.org/software/ConsoleKit.



                                  12 Sep 2016            console-kit-daemon(8)