@Tiamon

MultiSeat (KDE5) Kubuntu как настроить?

Доброго времени.
До этого стоял LinuxMint 16 с KDE и там всё настроил, решил перебраться на более свежую версию, но Минт 18 с КДЕ, расстроил своей глючностью, Kubuntu 18.04 работает нормально, решил съехать на неё и настроить MultiSeat но там не MDM который мне более или менее знаком а совершенно не знакомый SDDM.
Пытаюсь настроить, если с конфигом X11 всё понятно, то с SDDM не могу разобраться
Есть мысль поставить MDM в место SDDM но не уверен, что будет работать.
Буду благодарен за помощь и советы )

Конфиг X11 /etc/X11/xorg.conf
spoiler
Section "ServerFlags"
    Option         "DefaultServerLayout" "Layout0"
    Option         "AllowMouseOpenFail"  "true"
    Option         "AutoAddDevices"      "false"
    Option         "AutoEnableDevices"   "false"
    Option         "AllowEmptyInput"     "true"
    Option         "DontZap"             "false"
    Option         "AutoAddGPU"          "false"
    Option         "DontVTSwitch"        "false"
EndSection

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
    Option         "Xinerama" "0"
EndSection
 
Section "ServerLayout"
    Identifier     "Layout1"
    Screen      0  "Screen1" 0 0
    InputDevice    "Mouse1" "CorePointer"
    InputDevice    "Keyboard1" "CoreKeyboard"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "evdev"
    Option         "Device" "/dev/input/by-id/usb-Logitech_USB_Keyboard-event-kbd"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "evdev"
    Option         "XkbLayout" "us"
    Option         "GrabDevice" "yes"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "ExplorerPS/2"
    Option         "Sensitivity" "0.7"
    Option         "Device" "/dev/input/by-id/usb-PixArt_USB_Optical_Mouse-mouse"
EndSection

Section "InputDevice"
    Identifier     "Mouse1"
    Driver         "mouse"
    Option         "Protocol" "ExplorerPS/2"
    Option         "Device" "/dev/input/by-id/usb-Logitech_G9_Laser_Mouse_D9945B80600029-mouse"
EndSection
 
Section "InputDevice"
    Identifier     "Keyboard1"
    Driver         "evdev"
    Option         "Device" "/dev/input/by-id/usb-Logitech_Logitech_Illuminated_Keyboard-event-kbd"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "evdev"
    Option         "XkbLayout" "us"
    Option         "GrabDevice" "yes"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Ancor Communications Inc ASUS VS229"
    HorizSync       24.0 - 82.0
    VertRefresh     50.0 - 75.0    
    Option      "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "ViewSonic VA2265 SERIES"
    HorizSync       0.0 - 0.0
    VertRefresh     0.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT710"
    BusID          "PCI:1:0:0"
EndSection

#Section "Device"
#	Identifier  "Device1"
#	Driver      "radeon"
#	BusID       "PCI:5:0:0"
#	Option      "Int10" "off"
#EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT710"
    BusID          "PCI:5:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
#    Option         "nvidiaXineramaInfoOrder" "CRT-0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "nvidia-auto-select +0+0"
#    Option         "metamodes" "DVI-D-0: nvidia-auto-select +0+0"
#    Option         "metamodes" "VGA-0: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
#    Option         "nvidiaXineramaInfoOrder" "CRT-0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "nvidia-auto-select +0+0"
#    Option         "metamodes" "DVI-D-0: nvidia-auto-select +0+0"
#    Option         "metamodes" "VGA-0: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

#Section "Screen"
#    Identifier     "Screen1"
#    Device         "Device1"
#    Monitor        "Monitor1"
#    DefaultDepth     24
#    Option         "Stereo" "0"
#    Option         "SLI" "Off"
#    Option         "MultiGPU" "Off"
#    Option         "BaseMosaic" "off"
#    SubSection "Display"
#	Viewport   0 0
#	Depth     24
#    EndSubSection
#EndSection



Конфиг MDM c LinuxMint /etc/mdm/mdm.conf

spoiler
[daemon]

AutomaticLoginEnable=true

AutomaticLogin=stas

#TimedLoginEnable=false

#Greeter=/usr/lib/mdm/mdmwebkit

Greeter=/usr/lib/mdm/mdmwebkit

SelectLastLogin=false

TimedLoginEnable=false

[security]

[xdmcp]

[greeter]
GraphicalTheme=Mint-X

HTMLTheme=Mint-X

DefaultFace=

#GraphicalTheme=Dark

#HTMLTheme=Zukitwo
#GraphicalTheme=Wooden

#HTMLTheme=Synergy

[chooser]

[debug]

#[servers]
##0=Stan0
#1=Stan1

#[server-Stan0]
#name=Standard server
##       /usr/bin/X :0 -audit 0 -auth /var/lib/mdm/:0.Xauth -nolisten tcp vt7
##command=/usr/bin/X :0 -audit 0 -auth /var/lib/mdm/:0.Xauth -nolisten tcp vt7 -layout Layout0
##command=/usr/bin/X -nolisten tcp -novtswitch -sharevts -layout pLayout0
###command=/usr/bin/X -audit 0 vt7 -layout Layout0 
#command=/usr/bin/X -audit 0 vt7 -layout Layout0 
#flexible=true

#[server-Stan1]
#name=Standard server
##orig command=/usr/bin/X -nolisten tcp -novtswitch -sharevts -layout Layout1
#command=/usr/bin/X -novtswitch -sharevts -layout Layout1
##command=/usr/bin/X :1 -nolisten tcp -novtswitch -sharevts -layout Layout1 -auth /var/lib/mdm/:1.Xauth -nolisten tcp vt8
#flexible=true


[servers]
0=Seat0
1=Seat1

[server-Seat0]
name=Seat0
#       /usr/bin/X :0 -audit 0 -auth /var/lib/mdm/:0.Xauth -nolisten tcp vt7
#command=/usr/bin/X :0 -audit 0 -auth /var/lib/mdm/:0.Xauth -nolisten tcp vt7 -layout Layout0
#command=/usr/bin/X -nolisten tcp -novtswitch -sharevts -layout pLayout0
##command=/usr/bin/X -audit 0 vt7 -layout Layout0 
command=/usr/bin/X -audit 0 vt7 -layout Layout0 
flexible=true

[server-Seat1]
name=Seat1
#orig command=/usr/bin/X -nolisten tcp -novtswitch -sharevts -layout Layout1
command=/usr/bin/X -novtswitch -sharevts -layout Layout1
#command=/usr/bin/X :1 -nolisten tcp -novtswitch -sharevts -layout Layout1 -auth /var/lib/mdm/:1.Xauth -nolisten tcp vt8
flexible=true
  • Вопрос задан
  • 2391 просмотр
Решения вопроса 1
delvin-fil
@delvin-fil
Crazy Linux-admin
Calculate Linux. Автовход двух сессий БЕЗ DM.
xorg.conf
Section "ServerFlags"
    Option         "DefaultServerLayout" "seat0"
    Option         "AllowMouseOpenFail"  "true"
    Option         "AutoAddDevices"      "false"
EndSection

Section "Files"
  ModulePath   "/usr/lib64/xorg/modules"
  FontPath     "/usr/share/fonts/terminus"
  FontPath     "/usr/share/fonts/cyrillic"
  FontPath     "/usr/share/fonts/75dpi"
  FontPath     "/usr/share/fonts/misc"
  FontPath     "/usr/share/fonts/droid"
  FontPath     "/usr/share/fonts/corefonts"
  FontPath     "/usr/share/fonts/liberation-fonts"
  FontPath     "/usr/share/fonts/default"
  FontPath     "/usr/share/fonts/encodings"
  FontPath     "/usr/share/fonts/urw-fonts"
  FontPath     "/usr/share/fonts/100dpi"
  FontPath     "/usr/share/fonts/libertine"
  FontPath     "/usr/share/fonts/dejavu"
  FontPath     "/usr/share/fonts/"
  FontPath     "/home/fil/fonts/"
EndSection

Section "ServerLayout"
        Identifier     "seat0" #МОЕ
        Screen         0  "Screen0" 0 0
#        Screen         2  "Screen2" rightof "Screen0"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option         "Xinerama" "1"
EndSection

Section "ServerLayout"
        Identifier     "seat1"
        Screen         1  "Screen1" 0 0
        InputDevice    "Mouse1" "CorePointer"
        InputDevice    "Keyboard1" "CoreKeyboard"
EndSection


Section "Module"
     Load           "dbe" # Double-Buffering Extension
     Load           "v4l" # Video for Linux
#    Load           "extmod"
     Load           "freetype"
    Load           "glx" # 3D layer
EndSection

Section "InputDevice"
    Identifier     "Keyboard0" #МОЕ
    Driver         "evdev"
    Option         "Device" "/dev/input/by-path/pci-0000:00:1d.0-usb-0:1.5:1.0-event-kbd"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "us,ru"
    Option         "XkbRules"   "xorg"
    Option          "XkbOptions" "grp:ctrl_shift_toggle,compose:lwin,terminate:ctrl_alt_bksp,grp_led:scroll"
EndSection

Section "InputDevice"
    Identifier     "Keyboard1"
    Driver         "evdev"
    Option         "Device" "/dev/input/by-path/pci-0000:00:1d.0-usb-0:1.6:1.0-event-kbd"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "us,ru"
    Option         "XkbRules"   "xorg"
    Option          "XkbOptions" "grp:ctrl_shift_toggle,compose:lwin,terminate:ctrl_alt_bksp,grp_led:scroll"
EndSection

#Auto, Microsoft, MouseSystems, MMSeries, Logitech, MouseMan, MMHitTab, GlidePoint, IntelliMouse, ThinkingMouse, ValuMouseScroll, AceCad, PS/2, ImPS/2, ExplorerPS/2, ThinkingMousePS/2, MouseManPlusPS/2, GlidePointPS/2, NetMousePS/2, NetScrollPS/2, BusMouse, SysMouse, WSMouse, USB, VUID, Xqueue.


Section "InputDevice"
    Identifier     "Mouse0" #МОЕ
    Driver         "mouse"
    Option         "Protocol" "ImPS/2"
    Option         "Device" "/dev/input/by-path/pci-0000:00:1d.0-usb-0:1.4:1.0-mouse"
#    Option         "ZAxisMapping"  "4 5"
#    Option         "WAxisMapping"  "6 7"
EndSection

Section "InputDevice"
    Identifier     "Mouse1"
    Driver         "mouse"
    Option         "Protocol" "ImPS/2"
    Option         "Device" "/dev/input/by-path/pci-0000:00:1d.0-usb-0:1.3:1.0-mouse"
    Option       "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
    Identifier     "Monitor0" #МОЕ
    Option     "VendorName" "AOC"
    Option     "ModelName" "N2041S"
    Option     "DPMS" "false"
    Modeline    "1920x1080"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
    Modeline    "1920x720"  111.72  1920 2008 2208 2496  720 721 724 746  -HSync +Vsync
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    Option     "VendorName" "LG"
    Option     "ModelName" "42LK430"
    Option     "DPMS" "false"
EndSection

Section "Device"
    Identifier     "Device0" #МОЕ
    VendorName     "Intel Corporation"
    BoardName      "Intel Integrated Graphics Controller"
    Driver         "intel"
    BusID          "PCI:0:2:0"
#   Option      "ProbeAllGpus" "false"
#    Option         "AccelMethod" "EXA"
    Option         "IgnoreEDID"    "on"
EndSection

Section "Device"
    Identifier     "Device1"
    VendorName     "ATI Technologies Inc"
    BoardName      "ATI Radeon 9550"
    Driver         "radeon"
    BusID          "PCI:5:0:0"
#   Option      "ProbeAllGpus" "false"
#    Option         "AccelMethod" "EXA"
    Option         "IgnoreEDID"    "on"
EndSection

Section "Screen"
    Identifier     "Screen0" #МОЕ
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       8
        Modes      "1920x1080"
    EndSubSection
    SubSection     "Display"
        Depth       15
        Modes      "1920x1080"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1920x1080"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1920x1080"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth   24
    Subsection     "Display"
        Depth      8
        Modes      "1920x1080"
    EndSubsection
    Subsection     "Display"
        Depth      15
        Modes      "1920x1080"
    EndSubsection
    Subsection     "Display"
        Depth      16
        Modes      "1920x1080"
    EndSubsection
    Subsection     "Display"
        Depth      24
        Modes      "1920x1080"
    EndSubsection
EndSection


Section "DRI"
    Mode           0666
EndSection


#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#Dummy видеокарта
Section "Device"
 Identifier "Device2"
 Driver "dummy"
 VideoRam 64000
EndSection

#Dummy монитор
Section "Monitor"
 Identifier "Monitor2"
  Modeline "1024x768@25" 23.77 1024 1056 1144 1176 768 785 789 807
EndSection

#Dummy экран
Section "Screen"
 Identifier "Screen2"
 Device "Device2"
 Monitor "Monitor2"
 DefaultDepth 24
 SubSection "Display"
#разрешение плашета
    Modes      "1024x768"
    Virtual 1024 748
 EndSubSection
EndSection


Файл /etc/local.d/startup.start
startup.start
modprobe kvm
modprobe radeon
modprobe amdgpu
modprobe kvm-intel
modprobe  snd-hda-intel
modprobe pcspkr
sh /boot/twin.sh


startup.start должен иметь права на запуск. Так же необходимо сделать символическую ссылку в /etс/runlevels/defult/startup.start
Запуск модулей из этого файла на ваше усмотрение.

И самый главный - /boot/twin.sh(тоже с правами на запуск)
twin.sh
#!/bin/bash
cmd1="/bin/bash --login -c \"/usr/bin/xinit --"
cmd2="-nolisten tcp -keeptty -novtswitch -config xorg.multiseat.conf"
usr=(user1 user2)  # Пользователи user1, user2 должны иметь реальный user id, а так же домашний каталог
declare -a pid
while true ; do
  for ((i=0; i<${#usr[*]}; i++)) ; do
    echo "usr[$i]=${usr[$i]} pid=${pid[$i]}"
    if [ -z "${pid[$i]}" ] || [ ! -d "/proc/${pid[$i]}" ] ; then
      # echo "pid ${pid[$i]} killed, execute again"
      cmd3="-layout seat$i vt0"$((7+i))"\""
      if [ $i -gt 0 ] ; then
        cmd3="-sharevts $cmd3"
      fi
      #echo "cmd3=$cmd3"
      /bin/su ${usr[$i]} -l -c "$cmd1 :$i $cmd2 $cmd3" &
      pid[$i]=$!
      #echo "new pid=${pid[$i]}"
    fi
  done
  sleep 5  # check process exist per 5 second
done

Где в четвертой строке "usr=(user1 user2)" имена пользователей перечислены ЧЕРЕЗ пробел.

Да, в файлах .xinputrc домашних каталогов должны быть строчки на запуск желаемых WM/DE(у меня icewm). Вот так:
exec icewm-session

ГЛАВНОЕ: НЕ ЗАБУДЬТЕ УБРАТЬ из runlevels ссылку на SDDM(или отключить службу через sysctl).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы