[blfs-dev] sddm

Bruce Dubbs bruce.dubbs at gmail.com
Fri Sep 18 16:30:21 PDT 2015


Fernando de Oliveira wrote:

> I cannot do anything until I understand what is going on.

OK, let me try to explain.

If Linux-PAM is installed and then shadow is reinstalled, then a login 
exercises the modules installed in /etc/pam.d/system-session

If Consolekit2 is then installed, then

session   optional    pam_loginuid.so
session   optional    pam_ck_connector.so nox11

is added to /etc/pam.d/system-session.

The pam_ck_connector.so module calls the script
/usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck

What this all means is that when you log in, you get a session that 
looks like:

Session4:
  unix-user = '1000'
  realname = 'Bruce Dubbs'
  seat = 'Seat1'
  session-type = ''
  active = TRUE
  x11-display = ''
  x11-display-device = ''
  display-device = '/dev/tty1'
  remote-host-name = ''
  is-local = TRUE
  on-since = '2015-09-18T23:04:21.686950Z'
  login-session-id = '9'

When you startx, xinit now starts on your current tty.  That is in the 
script as:

  # When starting the defaultserver start X on the current tty to  avoid
  # the startx session being seen as inactive:
  # "https://bugzilla.redhat.com/show_bug.cgi?id=806491"
  tty=$(tty)
  if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then
      tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
      vtarg="vt$tty_num"
  fi

which shows up later when X is started:

serverargs="$serverargs $vtarg"
...
xinit "$client" $clientargs -- "$server" $display $serverargs

All this resolves on my system to:

xinit /home/bdubbs/.xinitrc -- /opt/xorg/bin/X :0 vt1 \
            -auth /home/bdubbs/.serverauth.2322

If ck-launch-session is NOT used in .xinitrc, the process inherits the 
session and everything is OK.  If the virtual terminal is changed to 
something else, say vt7, then ck-launch-session is needed for /dev/tty7.

sddm runs without setting up a session. I don't know if that is the 
proper way or if I have configured something wrong.  However, in my 
case, sddm needs to have ck-launch-session somewhere in the launch sequence.

Does that help?

   -- Bruce



More information about the blfs-dev mailing list