[systemd-devel] loginctl - multi-seats
poma
pomidorabelisima at gmail.com
Wed Sep 3 20:40:36 PDT 2014
$ systemctl get-default
graphical.target
~~~~~~~~~~~~~~~~
$ systemctl show display-manager -p Id
Id=lightdm.service
~~~~~~~~~~~~~~~~~~
$ systemctl is-enabled display-manager
enabled
~~~~~~~
$ systemctl is-active display-manager
active
~~~~~~~~~~~~~~~~~~~~~~~
$ lightdm --show-config
[LightDM]
A minimum-vt=1
[SeatDefaults]
A session-wrapper=/etc/X11/xinit/Xsession
[Seat:seat0]
A xserver-config=/etc/X11/xorg.conf.nouveau
Sources:
A /etc/lightdm/lightdm.conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ grep -v ^# /etc/lightdm/lightdm.conf
[LightDM]
minimum-vt=1
[SeatDefaults]
session-wrapper=/etc/X11/xinit/Xsession
[Seat:seat0]
xserver-config=/etc/X11/xorg.conf.nouveau
~~~~~~~~~~~~~~~~~~~~~~~~~~
$ cat /etc/X11/xorg.conf.nouveau
Section "Device"
Identifier "nvidia0"
Driver "nouveau"
EndSection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ alternatives --display lightdm-greeter
lightdm-greeter - status is manual.
link currently points to /usr/share/xgreeters/lightdm-gtk-greeter.desktop
/usr/share/xgreeters/lightdm-gtk-greeter.desktop - priority 20
Current `best' version is /usr/share/xgreeters/lightdm-gtk-greeter.desktop.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ grep -v ^# /etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
font-name=Sans 20
xft-antialias=true
xft-dpi=96
xft-hintstyle=hintfull
xft-rgba=rgb
show-indicators=~host;~spacer;~clock;~spacer;~session;~power
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ grep -i drivers /var/log/Xorg.0.log
[ 30.397] (II) Loading /usr/lib64/xorg/modules/drivers/nouveau_drv.so
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ ps axu | grep [X]org
root 584 0.3 1.2 219960 42272 tty1 Ss+ 04:26 0:02 /usr/libexec/Xorg.bin :0 -config /etc/X11/xorg.conf.nouveau -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt1 -novtswitch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ loginctl list-sessions
SESSION UID USER SEAT
c1 989 lightdm seat0
1 1001 poma seat0
2 sessions listed.
~~~~~~~~~~~~~~~~~~~~~~~~
$ ls /etc/udev/rules.d/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ loginctl seat-status seat0
seat0
Sessions: *1 c1
Devices:
...
│ ├─/sys/devices/pci0000:00/0000:00:04.0/usb2/2-5/2-5:1.0/sound/card0
│ │ sound:card0 "Set"
│ ├─/sys/devices/pci0000:00/0000:00:04.0/usb2/2-5/2-5:1.3/0003:0D8C:000C.0003/input/input6
│ │ input:input6 "C-Media USB Headphone Set "
│ ├─/sys/devices/pci0000:00/0000:00:04.0/usb2/2-9/2-9:1.0/0003:1997:2433.0004/input/input7
│ │ input:input7 " Mini Keyboard"
│ └─/sys/devices/pci0000:00/0000:00:04.0/usb2/2-9/2-9:1.1/0003:1997:2433.0005/input/input8
│ input:input8 " Mini Keyboard"
...
│ ├─/sys/devices/pci0000:00/0000:00:04.1/usb1/1-6/1-6:1.0/drm/card1
│ │ drm:card1
│ └─/sys/devices/pci0000:00/0000:00:04.1/usb1/1-6/1-6:1.0/graphics/fb1
│ [MASTER] graphics:fb1 "udldrmfb"
...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ loginctl attach seat1 \
> /sys/devices/pci0000:00/0000:00:04.0/usb2/2-5/2-5:1.0/sound/card0 \
> /sys/devices/pci0000:00/0000:00:04.0/usb2/2-5/2-5:1.3/0003:0D8C:000C.0003/input/input6 \
> /sys/devices/pci0000:00/0000:00:04.0/usb2/2-9/2-9:1.0/0003:1997:2433.0004/input/input7 \
> /sys/devices/pci0000:00/0000:00:04.0/usb2/2-9/2-9:1.1/0003:1997:2433.0005/input/input8 \
> /sys/devices/pci0000:00/0000:00:04.1/usb1/1-6/1-6:1.0/drm/card1 \
> /sys/devices/pci0000:00/0000:00:04.1/usb1/1-6/1-6:1.0/graphics/fb1
==== AUTHENTICATING FOR org.freedesktop.login1.attach-device ===
Authentication is required for attaching a device to a seat.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ ls -1 /etc/udev/rules.d/
72-seat-drm-pci-0000_00_04_1-usb-0_6_1_0.rules
72-seat-graphics-pci-0000_00_04_1-usb-0_6_1_0.rules
72-seat-input-pci-0000_00_04_0-usb-0_5_1_3.rules
72-seat-input-pci-0000_00_04_0-usb-0_9_1_0.rules
72-seat-input-pci-0000_00_04_0-usb-0_9_1_1.rules
72-seat-sound-pci-0000_00_04_0-usb-0_5_1_0.rules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ cat /etc/udev/rules.d/72-seat-*
TAG=="seat", ENV{ID_FOR_SEAT}=="drm-pci-0000_00_04_1-usb-0_6_1_0", ENV{ID_SEAT}="seat1"
TAG=="seat", ENV{ID_FOR_SEAT}=="graphics-pci-0000_00_04_1-usb-0_6_1_0", ENV{ID_SEAT}="seat1"
TAG=="seat", ENV{ID_FOR_SEAT}=="input-pci-0000_00_04_0-usb-0_5_1_3", ENV{ID_SEAT}="seat1"
TAG=="seat", ENV{ID_FOR_SEAT}=="input-pci-0000_00_04_0-usb-0_9_1_0", ENV{ID_SEAT}="seat1"
TAG=="seat", ENV{ID_FOR_SEAT}=="input-pci-0000_00_04_0-usb-0_9_1_1", ENV{ID_SEAT}="seat1"
TAG=="seat", ENV{ID_FOR_SEAT}=="sound-pci-0000_00_04_0-usb-0_5_1_0", ENV{ID_SEAT}="seat1"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ su -c 'systemctl restart systemd-udev-trigger.service'
Password:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ grep -i drivers /var/log/Xorg.1.log
[ 1438.393] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
[ 1438.397] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
~~~~~~~~~~~~~~~~~~~~~~
$ ps axu | grep [X]org
root 584 0.2 1.5 222520 52104 tty1 Ss+ 04:26 0:04 /usr/libexec/Xorg.bin :0 -config /etc/X11/xorg.conf.nouveau -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt1 -novtswitch
root 1797 0.6 1.1 226756 38024 ? Sl 04:50 0:01 /usr/libexec/Xorg.bin :1 -seat seat1 -sharevts -auth /var/run/lightdm/root/:1 -nolisten tcp
~~~~~~~~~~~~~~~~~~~~~~~~
$ loginctl list-sessions
SESSION UID USER SEAT
c1 989 lightdm seat0
1 1001 poma seat0
c2 989 lightdm seat1
2 1002 pia seat1
4 sessions listed.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ loginctl seat-status seat1
seat1
Sessions: *3 c2
Devices:
├─/sys/devices/pci0000:00/0000:00:04.0/usb2/2-5/2-5:1.0/sound/card0
│ sound:card0 "Set"
├─/sys/devices/pci0000:00/0000:00:04.0/usb2/2-5/2-5:1.3/0003:0D8C:000C.0003/input/input6
│ input:input6 "C-Media USB Headphone Set "
├─/sys/devices/pci0000:00/0000:00:04.0/usb2/2-9/2-9:1.0/0003:1997:2433.0004/input/input7
│ input:input7 " Mini Keyboard"
├─/sys/devices/pci0000:00/0000:00:04.0/usb2/2-9/2-9:1.1/0003:1997:2433.0005/input/input8
│ input:input8 " Mini Keyboard"
├─/sys/devices/pci0000:00/0000:00:04.1/usb1/1-6/1-6:1.0/drm/card1
│ drm:card1
└─/sys/devices/pci0000:00/0000:00:04.1/usb1/1-6/1-6:1.0/graphics/fb1
[MASTER] graphics:fb1 "udldrmfb"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ loginctl seat-status seat0
seat0
Sessions: *1 c1
Devices:
...
├─/sys/devices/pci0000:00/0000:00:10.0/0000:01:00.0/drm/card0
│ drm:card0
├─/sys/devices/pci0000:00/0000:00:10.0/0000:01:00.0/drm/renderD128
│ drm:renderD128
└─/sys/devices/pci0000:00/0000:00:10.0/0000:01:00.0/graphics/fb0
[MASTER] graphics:fb0 "nouveaufb"
~~~~~~~~~~~~~~~~~
$ hostnamectl status | grep 'System\|Kernel'
Operating System: Fedora 22 (Rawhide)
Kernel: Linux 3.17.0-0.rc3.git0.1.fc22.x86_64
$ rpm -qf /usr/bin/systemctl
systemd-216-3.fc22.x86_64
$ rpm -qf /usr/libexec/Xorg.bin
xorg-x11-server-Xorg-1.16.0-4.fc22.x86_64
$ rpm -qf /etc/lightdm/lightdm.conf
lightdm-1.11.8-1.fc21.x86_64
$ rpm -qf /etc/lightdm/lightdm-gtk-greeter.conf
lightdm-gtk-1.9.0-1.fc21.x86_64
$ man 1 systemctl :)
poma
More information about the systemd-devel
mailing list