Multiseat config interface: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Настройка рабочих мест через {{prg|systemd/loginctl}} не то чтоб сложная, но довольно утомительная…»)
 
Нет описания правки
 
Строка 1: Строка 1:
Настройка рабочих мест через {{prg|systemd/loginctl}} не то чтоб сложная, но довольно утомительная в части идентификации нужных устройств, и передачи их на нужное рабочее место. Действие это сопряжено с перекрестным рассматриванием вывода {{prg|lspci}} и {{prg|loginctl seat-status}}, и многочисленным копированием через буфер длинных строчек текста-абракадабры. К тому же всегда есть шанс ошибиться (неверно передать не то устройство не туда), в результате чего единственное рабочее место может потерять клавиатуру и/или мышь.  
Настройка рабочих мест через {{prg|systemd/loginctl}} не то чтоб сложная, но довольно утомительная в части идентификации нужных устройств, и передачи их на нужное рабочее место. Действие это сопряжено с перекрестным рассматриванием вывода {{prg|lspci}} и {{prg|loginctl seat-status}}, и многочисленным копированием через буфер длинных строчек текста-абракадабры. К тому же всегда есть шанс ошибиться (неверно передать не то устройство не туда), в результате чего единственное рабочее место может потерять клавиатуру и/или мышь.  


Поэтому было бы неплохо, чтоб, например, в Альтераторе был соответствующий модуль. Внешний вид приблизительно такой:
[[Файл:Multiseatproposal.png|мини|Модуль альтератора "настройка рабочих мест"]]


Как это должно работать:
# Программа должна автоматически парсить вывод {{prg|loginctl seat-status seat0}}, обнаруживать в нем все видеокарты по строке вида {{term|drm:card0}}, и в соответствии с количеством карт (минус одна) формировать количество окошек в правой части и кнопок "Add>>".
# В левом большом поле должен быть полный список устройств. Причем, желательно в более читаемом формате, чем в выхлопе loginctl. Предположительно, более читаемые имена устройств можно вытянуть из {{prg|lspci}} и {{prg|lsusb}}
# При нажатии "Add>>" соответствующее устройство пропадает из полного списка и появляется в списке устройств для выбранного рабочего места. При этом в поле "Seat name" можно ввести имя рабочего места, по умолчанию "seat1", "seat2" и т.д.
# Должна быть кнопка "Сохранить конфигурацию", которая сохраняет состояние в какой-то файл. Чтоб потом можно было загрузить его и применить получившиеся настройки
# Должна быть кнопка "Применить". С очевидным действием. Но! Было бы неплохо предусмотреть механизм автоматического "отката" через интервал времени (как это было сделано в настройках монитора в прошлых версиях Windows). Чтоб если пользователь что-то сделал неправлиьно, и лишился клавиатуры/мыши, через 20 секунд все рабочие места удалились через {{prg|loginctl flush-devices}}, и все вернулось на исходную позицию.
#Красная кнопка - удаления всех настроек.


{{Category navigation|title=Разработка_нужных_программ|category=Разработка_нужных_программ|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Разработка_нужных_программ|category=Разработка_нужных_программ|sortkey={{SUBPAGENAME}}}}

Текущая версия от 19:52, 19 августа 2019

Настройка рабочих мест через systemd/loginctl не то чтоб сложная, но довольно утомительная в части идентификации нужных устройств, и передачи их на нужное рабочее место. Действие это сопряжено с перекрестным рассматриванием вывода lspci и loginctl seat-status, и многочисленным копированием через буфер длинных строчек текста-абракадабры. К тому же всегда есть шанс ошибиться (неверно передать не то устройство не туда), в результате чего единственное рабочее место может потерять клавиатуру и/или мышь.

Поэтому было бы неплохо, чтоб, например, в Альтераторе был соответствующий модуль. Внешний вид приблизительно такой:

Модуль альтератора "настройка рабочих мест"

Как это должно работать:

  1. Программа должна автоматически парсить вывод loginctl seat-status seat0, обнаруживать в нем все видеокарты по строке вида drm:card0, и в соответствии с количеством карт (минус одна) формировать количество окошек в правой части и кнопок "Add>>".
  2. В левом большом поле должен быть полный список устройств. Причем, желательно в более читаемом формате, чем в выхлопе loginctl. Предположительно, более читаемые имена устройств можно вытянуть из lspci и lsusb
  3. При нажатии "Add>>" соответствующее устройство пропадает из полного списка и появляется в списке устройств для выбранного рабочего места. При этом в поле "Seat name" можно ввести имя рабочего места, по умолчанию "seat1", "seat2" и т.д.
  4. Должна быть кнопка "Сохранить конфигурацию", которая сохраняет состояние в какой-то файл. Чтоб потом можно было загрузить его и применить получившиеся настройки
  5. Должна быть кнопка "Применить". С очевидным действием. Но! Было бы неплохо предусмотреть механизм автоматического "отката" через интервал времени (как это было сделано в настройках монитора в прошлых версиях Windows). Чтоб если пользователь что-то сделал неправлиьно, и лишился клавиатуры/мыши, через 20 секунд все рабочие места удалились через loginctl flush-devices, и все вернулось на исходную позицию.
  6. Красная кнопка - удаления всех настроек.