Virtual Terminal switching with a multiseat setup and lightdm

12,373

Solution 1

Rereading the wiki entry under https://help.ubuntu.com/community/MultiseatX, I guess you should have a look at how X is invoked; e.g. the -sharevts and -novtswitch command line options should be somehow passed to X in your lightdm.conf.

If you have a working state, please consider updating the wiki entry to 11.10.

Solution 2

Thanks for the hint. The -sharevts switch was the key. It is not added by default by Lightdm. I looked at /var/log/lightdm/lightdm.log and added a custom xserver-command option and now it finally works! Thanks for your help.

My final lightdm.conf:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu

[Seat:0]
xserver-layout=default
xserver-command=/usr/bin/X :0 -layout default -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -sharevts

[Seat:1]
xserver-layout=displaylink
xserver-command=/usr/bin/X :1 -layout displaylink -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch -sharevts
Share:
12,373

Related videos on Youtube

Michael Franzl
Author by

Michael Franzl

Updated on September 18, 2022

Comments

  • Michael Franzl
    Michael Franzl over 1 year

    My aim is to have two seats for my Ubuntu machine. One of the monitors is a USB touchscreen from Mimo with a displaylink chip. I already got it working as main display just by reconfiguring xorg.conf. Even the touch interface works.

    But for multiseats, it's not just enough to change xorg.conf, because additional login screens have to be started too. This has to go into the lightdm configuration.

    By configuring lightdm for multiseats (lightdm.conf), I managed to start up two X instances, one for each ServerLayout (xorg.conf). One is running on Virtual Terminal 7 (VT7) and one on VT8. As is commonly known, you can switch between Virtual Terminals with the shortcuts Ctrl + Alt + Fx (where x is the terminal number).

    Now the problem is this: By default, VT7 is enabled and VT8 is disabled. But when I switch to VT8, it becomes enabled but VT7 becomes disabled.

    How can I make both X Server terminals/servers run in parallel?

    Thank you.

    Here is my lightdm.conf

    [SeatDefaults]
    greeter-session=unity-greeter
    user-session=ubuntu
    
    [Seat:0]
    xserver-layout=default
    
    [Seat:1]
    xserver-layout=displaylink
    

    Here are only the relevant parts of my xorg.conf:

    # Two Server Layouts
    
    Section "ServerLayout"
        Identifier     "default"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
    EndSection
    
    Section "ServerLayout"
        Identifier     "displaylink"
        Screen         "DisplayLinkScreen"
        InputDevice    "Mouse1"
    EndSection
    
    # Two Screens
    
    Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
            Viewport   0 0
            Depth     24
        EndSubSection
    EndSection
    
    Section "Screen"
            Identifier      "DisplayLinkScreen"
            Device          "DisplayLinkDevice"
            Monitor         "DisplayLinkMonitor"
            SubSection "Display"
                    Depth   24
                    Modes   "800x480"
            EndSubSection
    EndSection
    
    # Two Monitors
    
    Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
    EndSection
    
    Section "Monitor"
            Identifier      "DisplayLinkMonitor"
    EndSection
    
    # Two Graphics Cards/Interfaces
    
    Section "Device"
        Identifier  "Card0"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
    EndSection
    
    Section "Device"
            Identifier      "DisplayLinkDevice"
            driver          "displaylink"
            Option  "fbdev" "/dev/fb1"
    EndSection
    
    # Three Input Devices (the last is touchscreen of the USB monitor)
    
    Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
    EndSection
    
    Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
    EndSection
    
    Section "InputDevice"
        Identifier     "Mouse1"
        Driver         "mouse"
        Option         "Device"        "/dev/input/by-path/pci-0000:00:1d.7-usb-0:1.3:1.0-event"
    EndSection