Created attachment 9382 [details] Добавление/удаление рабочего места Настроить и активировать двухместную конфигурацию. Работают 2 места. Запустить alterator-multiseat. Добавить новое рабочее место (кнопка "Добавить") и сразу удалить его (кнопка "Удалить"). Результат: удаляется только что добавленное место и заодно сбрасывается? настроенное рабочее место, второй монитор сразу выключается (в alterator-multiseat данное место продолжает отображаться).
Уберу сброс при удалении.
Хочу уточнить один момент. Когда мы удаляем все рабочие места (кнопка "Очистить всё") производить сброс?
(In reply to underwit from comment #2) > Хочу уточнить один момент. Когда мы удаляем все рабочие места (кнопка > "Очистить всё") производить сброс? Кнопка "Очистить всё" это же аналог команды "loginctl flush-devices"? При выполнении этой команды сброс производится. Может тут нужно просто окно подтверждения, как при активации, а то из названия кнопки не понятно, что сейчас второй монитор погаснет. При нажатии кнопки "Деактивировать" это ожидаемое действие.
(Ответ для Elena Mishina на комментарий #3) > Кнопка "Очистить всё" это же аналог команды "loginctl flush-devices"? При > выполнении этой команды сброс производится. > Может тут нужно просто окно подтверждения, как при активации, а то из > названия кнопки не понятно, что сейчас второй монитор погаснет. При нажатии > кнопки "Деактивировать" это ожидаемое действие. Кнопка "Очистить всё" очищает список дополнительных рабочих мест, а потом вызывает loginctl flush-devices сбрасывая привязанные устройства. Я просто вызов flush-devices оттуда уберу. Кнопка просто будет очищать список.
(In reply to underwit from comment #4) > Кнопка "Очистить всё" очищает список дополнительных рабочих мест, а потом > вызывает loginctl flush-devices сбрасывая привязанные устройства. > С точки зрения пользователя и "Очистить всё" и "loginctl flush-devices" это удаление всех настроек. > Я просто вызов flush-devices оттуда уберу. Кнопка просто будет очищать > список. Т.е. настроенные рабочие места останутся в рабочем состоянии, а в модуле уже доп. рабочих мест не будет? А что будет происходить если потом нажать кнопку Активировать, а если Деактивировать?
(Ответ для Elena Mishina на комментарий #5) > С точки зрения пользователя и "Очистить всё" и "loginctl flush-devices" это > удаление всех настроек. С точки зрения пользователя может быть, на деле это не так. 1. Есть файлы конфигурации, вот мы их в интерфейсе заполняем, удаляем, добавляем. 2. А есть модуль loginctl. (который мы активируем или деактивируем) Изменения в 1 никак не влияют на текущее состояние во 2, пока не нажата кнопка "Активировать". И если что-то поменяется во время работы во 2, то в 1 ничего об этом не будет известно. > Т.е. настроенные рабочие места останутся в рабочем состоянии, а в модуле уже > доп. рабочих мест не будет? Да > А что будет происходить если потом нажать кнопку Активировать, а если > Деактивировать? Если список доп. рабочих мест пуст, то при активации ничего не произойдет. При деактивации всё как обычно. Могу убрать кнопку "очистить всё". Пусть по одному доп. места удаляются.
(In reply to underwit from comment #6) > > > Т.е. настроенные рабочие места останутся в рабочем состоянии, а в модуле уже > > доп. рабочих мест не будет? > > Да > > > А что будет происходить если потом нажать кнопку Активировать, а если > > Деактивировать? > > Если список доп. рабочих мест пуст, то при активации ничего не произойдет. > При деактивации всё как обычно. > Всё равно не понятно. Список пустой, все устройства в вернулись к seat0, но при этом ранее настроенные рабочие места как работали, так и работают. Что делать пользователю чтобы вернуться к исходному состоянию - нужно обязательно нажать кнопку Деактивировать (т.е.так мы возвращаемся к текущему поведению, с разницей в два нажатия вместо одного + надо догадаться про кнопку Деактивировать). А если не нажимать Деактивировать, после "очистить всё" и закрыть ЦУС? перезагрузиться? Что будет при следующей загрузке (загрузится одно место или все что работали до кнопки "очистить всё", в модуле все устройства будут у seat0)? > Могу убрать кнопку "очистить всё". Пусть по одному доп. места удаляются. В этой баге вообще не было никаких претензий к кнопке "очистить всё".
(Ответ для Elena Mishina на комментарий #7) > Всё равно не понятно. Список пустой, все устройства в вернулись к seat0, но > при этом ранее настроенные рабочие места как работали, так и работают. Что > делать пользователю чтобы вернуться к исходному состоянию - нужно > обязательно нажать кнопку Деактивировать Да > А если не нажимать Деактивировать, после "очистить всё" и закрыть ЦУС? > перезагрузиться? Что будет при следующей загрузке (загрузится одно место > или все что работали до кнопки "очистить всё", в модуле все устройства будут > у seat0)? Все настроенные места будут работать, но не будут отображены в интерфейсе. А устройства будут висеть у seat0. > В этой баге вообще не было никаких претензий к кнопке "очистить всё". Но с ней тоже нужно решить, что делать. Выберите пожалуйста один вариант и я его реализую. 1) удалить (+ деактивировать) / очистить всё (+ деактивировать) 1) удалить / очистить всё (+ деактивировать) 1) удалить / очистить всё
(In reply to underwit from comment #8) > (Ответ для Elena Mishina на комментарий #7) > > > Всё равно не понятно. Список пустой, все устройства в вернулись к seat0, но > > при этом ранее настроенные рабочие места как работали, так и работают. Что > > делать пользователю чтобы вернуться к исходному состоянию - нужно > > обязательно нажать кнопку Деактивировать > > Да > > > А если не нажимать Деактивировать, после "очистить всё" и закрыть ЦУС? > > перезагрузиться? Что будет при следующей загрузке (загрузится одно место > > или все что работали до кнопки "очистить всё", в модуле все устройства будут > > у seat0)? > > Все настроенные места будут работать, но не будут отображены в интерфейсе. А > устройства будут висеть у seat0. > Но ведь это совсем не User-friendly: у пользователя что то работает, но почему это работает не видно. > > В этой баге вообще не было никаких претензий к кнопке "очистить всё". > > Но с ней тоже нужно решить, что делать. > > Выберите пожалуйста один вариант и я его реализую. > 1) удалить (+ деактивировать) / очистить всё (+ деактивировать) > 1) удалить / очистить всё (+ деактивировать) > 1) удалить / очистить всё Я совсем не тот человек, который должен решать какому варианту быть. Моё мнение: при нажатии кнопки удалить, должно удаляться только то место, которое выделено (суть этой ошибки), при нажатии кнопки "очистить всё" - удаляются все места. Про деактивацию, тут нужно понимание, можно ли деактивировать только одно рабочее место из трёх? А активировать третье если сейчас настроены и активированы два? Если да, то кнопка Удалить - удаляет и деактивирует данное раб.место, "очистить всё" - удаляются/деактивирутся все места. Если нет, то если многоместный режим активирован, то все кнопки кроме "Декативировать" должны быть не активны: т.е. сначала нужно деактивировать многоместный режим, а уже потом добавлять/удалять места.
(Ответ для Elena Mishina на комментарий #9) > Но ведь это совсем не User-friendly: у пользователя что то работает, но > почему это работает не видно. Я в этом не виноват. Это loginctl. Суть в том, что когда я передаю устройство с seat0 на seat1, устройство пропадает с seat0, но место seat1 ещё не создано и появится только после перезагрузки. > Я совсем не тот человек, который должен решать какому варианту быть. Давайте найдем того, кто будет решать. > Моё мнение: при нажатии кнопки удалить, должно удаляться только то место, > которое выделено (суть этой ошибки), при нажатии кнопки "очистить всё" - > удаляются все места. Про деактивацию, тут нужно понимание, можно ли > деактивировать только одно рабочее место из трёх? Деактивировать одно место нельзя. > А активировать третье если сейчас настроены и активированы два? Можно. Просто активированные будут активированы повторно, это нормально. > Если да, то кнопка Удалить - удаляет и > деактивирует данное раб.место, "очистить всё" - удаляются/деактивирутся все > места. Если нет, то если многоместный режим активирован, то все кнопки кроме > "Декативировать" должны быть не активны: т.е. сначала нужно деактивировать > многоместный режим, а уже потом добавлять/удалять места. С определением состояния активирован или нет, тоже могут быть проблемы.
Кнопки "Активировать" и "Деактивировать" переименовываются в "Применить" и "Отменить" и только они влияют на систему и её настройки. Кнопки изменения конфигурации не оказывают влияния на систему и её настройки. К кнопкам изменения конфигурации добавляется кнопка "Сброс", которая возвращает к предыдущему состоянию. Нужно добавить отображение статуса "Активно" для каждого рабочего места.
alterator-multiseat-0.0.5-alt1 -> sisyphus: Mon May 31 2021 Ivan Razzhivin <underwit@altlinux> 0.0.5-alt1 - refactoring get_device_name function (closes: #40097) - add the ability to save and restore the config - remove device_flush call from cache_seat_rm_all and cache_seat_remove (closes: #40098) - mark a seat when it is active
Проверка с заданием http://git.altlinux.org/tasks/273363/ alterator-multiseat-0.0.5-alt1 1) Настроить мультисит с 2 рабочими местами seat0 и seat1 на версии alterator-multiseat-0.0.4-alt1. Успешный вход под разными пользователями, отдельная работа (см. scr-1). 2) Добавить задание, обновиться и перезагрузиться. # apt-repo add 273363 # apt-get update # apt-get dist-upgrade -y # reboot 3) Зайти в модуль альтератора "Настройка нескольких рабочих мест" Результат: seat1 исчез - см. scr-2, все устройства "доступны" на seat0, хотя по факту сохранились оба рабочих места. seat1 можно предлагается обавить заново Ожидаемый результат: настройки второго рабочего места после обновления должны сохраняться и отображаться в альтераторе. Прошу доработать, т.к. данное поведение некорректно.
Created attachment 9415 [details] scr-1 Настроены два рабочих места seat0 и seat1
Created attachment 9416 [details] scr-2 Вид в альтераторе после обновления до таска и перезагрузки.
alterator-multiseat-0.0.5-alt1 -> p9: Mon May 31 2021 Ivan Razzhivin <underwit@altlinux> 0.0.5-alt1 - refactoring get_device_name function (closes: #40097) - add the ability to save and restore the config - remove device_flush call from cache_seat_rm_all and cache_seat_remove (closes: #40098) - mark a seat when it is active