История изменений
Исправление intelfx, (текущая версия) :
У меня настроен multiseat ноутбук через logind и lightdm. На первом рабочем месте работает переключение VT (ctrl-alt-fN), а на втором почему то не работает.
Потому что VT существуют только на seat0.
Если быть точнее, то ядро не знает ни о каких рабочих местах (оно даже не знает про любые мультимониторные конфигурации кроме зеркалирования, т. е. с точки зрения ядра на всех активных дисплеях всегда отображается один и тот же VT). Сочетания клавиш Ctrl-Alt-Fx обрабатываются X-сервером; когда X-сервер запущен и активен, именно он отвечает за взаимодействие с подсистемой VT и эмулирует переключение VT.
Проблема в том, что только один X-сервер может в единственный момент времени взаимодействовать с подсистемой VT (т. е. «захватить» текущий виртуальный терминал). Поскольку с точки зрения ядра все дисплеи всегда показывают один и тот же VT, нельзя выдать каждому X-серверу свой терминал; вместо этого все остальные X-серверы запускаются без доступа к VT и вместо этого захватывают устройства ввода. Поэтому эмуляция переключения VT работает только с seat0.
Также хотелось бы узнать как lightdm запускает Xorg на нужном рабочем месте.
В смысле как? Xorg -seat seatN -sharevt
или что-то в этом духе. Принадлежность устройств ввода-вывода к рабочим местам разруливает udev метками.
Исходная версия intelfx, :
У меня настроен multiseat ноутбук через logind и lightdm. На первом рабочем месте работает переключение VT (ctrl-alt-fN), а на втором почему то не работает.
Потому что VT существуют только на seat0.
Если быть точнее, то ядро не знает ни о каких рабочих местах (оно даже не знает про любые мультимониторные конфигурации кроме зеркалирования, т. е. с точки зрения ядра на всех активных дисплеях всегда отображается один и тот же VT). Сочетания клавиш Ctrl-Alt-Fx обрабатываются X-сервером; когда X-сервер запущен и активен, именно он отвечает за взаимодействие с подсистемой VT и эмулирует переключение VT.
Проблема в том, что только один X-сервер может в единственный момент времени взаимодействовать с подсистемой VT (т. е. «захватить» определённый виртуальный терминал). Поскольку с точки зрения ядра все дисплеи всегда показывают один и тот же VT, нельзя выдать каждому X-серверу свой терминал; вместо этого все остальные X-серверы запускаются без доступа к VT и вместо этого захватывают устройства ввода. Поэтому эмуляция переключения VT работает только с seat0.
Также хотелось бы узнать как lightdm запускает Xorg на нужном рабочем месте.
В смысле как? Xorg -seat seatN -sharevt
или что-то в этом духе. Принадлежность устройств ввода-вывода к рабочим местам разруливает udev метками.