Переключение виртуального терминала с настройкой нескольких мест и lightdm

Моя цель - получить два места для моей машины с Ubuntu. Одним из мониторов является USB-сенсорный экран от Mimo с микросхемой displaylink. Я уже установил его в качестве основного дисплея, просто переконфигурировав xorg.conf. Даже сенсорный интерфейс работает.

Но для нескольких мест недостаточно просто изменить xorg.conf, потому что необходимо также запускать дополнительные экраны входа в систему. Это должно войти в конфигурацию lightdm.

Сконфигурировав lightdm для нескольких мест (lightdm.conf), мне удалось запустить два экземпляра X, по одному для каждого ServerLayout (xorg.conf). Один работает на виртуальном терминале 7 (VT7), а другой на VT8. Как известно, вы можете переключаться между виртуальными терминалами с помощью сочетаний клавиш Ctrl + Alt + Fx (где x - номер терминала).

Теперь проблема заключается в следующем: по умолчанию VT7 включен, а VT8 отключен. Но когда я переключаюсь на VT8, он включается, а VT7 отключается.

Как я могу заставить оба терминала / сервера X Server работать параллельно?

Спасибо.

Вот мой lightdm.conf

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

[Seat:0]
xserver-layout=default

[Seat:1]
xserver-layout=displaylink

Вот только соответствующие части моего 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
6
задан 1 November 2011 в 17:27

3 ответа

Спасибо за подсказку. Ключ -sharevts был ключевым. По умолчанию Lightdm не добавляется. Я посмотрел на /var/log/lightdm/lightdm.log и добавил пользовательский параметр xserver-command, и теперь он наконец работает! Спасибо за вашу помощь.

Мой последний 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
0
ответ дан 1 November 2011 в 17:27

Перечитывая вики-статью в https://help.ubuntu.com/community/MultiseatX , я думаю, вы должны взглянуть на то, как вызывается X; например параметры командной строки -sharevts и -novtswitch должны быть каким-то образом переданы X в вашем lightdm.conf.

Если у вас рабочее состояние, рассмотрите возможность обновления записи в вики до 11.10.

0
ответ дан 1 November 2011 в 17:27

Я думаю, что для второго места должен быть отдельный набор ttys, и что второй X-сервер должен быть запущен на одном из них. Однако после просмотра кода консоли ядра выяснилось, что он был написан с предположением, что имеется только одна консоль. Он использует глобальные переменные для мультиплексирования виртуальных консолей на одном дисплее и считывает ввод с клавиатуры со всех подключенных клавиатур.

Похоже, что код консоли Linux необходимо значительно реорганизовать для поддержки многопользовательского режима.

0
ответ дан 1 November 2011 в 17:27

Другие вопросы по тегам:

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