Bug 46502 - [usability] Настроенная на экране входа сеть недоступна после входа в систему
Summary: [usability] Настроенная на экране входа сеть недоступна после входа в систему
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: lightdm-kde-greeter (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Anton Golubev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-13 19:03 MSK by Vera Blagoveschenskaya
Modified: 2023-06-28 14:14 MSK (History)
4 users (show)

See Also:


Attachments
скрин (108.91 KB, image/jpeg)
2023-06-13 19:03 MSK, Vera Blagoveschenskaya
no flags Details
странное поведение плазма-апплета nm (226.46 KB, image/png)
2023-06-19 18:12 MSK, Anton Golubev
no flags Details
случаи отображения хинтов (882.54 KB, image/png)
2023-06-20 17:37 MSK, Anton Golubev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vera Blagoveschenskaya 2023-06-13 19:03:50 MSK
Created attachment 13473 [details]
скрин

Workstation K 10.1, обновленный до Сизифа
lightdm-kde-greeter-0.4.11-alt1

1) На экране входа нажать на виджет "Настройка сети"
2) В появившемся диалоге выбрать сеть wifi
3) Ввести корректный пароль. Подключение осуществлено (появился значок подключения к сети)
4) Выполнить вход в систему.

Результат: сеть недоступна - см. скриншот.

Ожидаемый результат: ожидается, что настроенное через гритер соединение будет работать до перезагрузки.

Дополнительно: Если выполнить выход из сеанса test, то на экране входа отображается подключенная сеть, ip-адрес получен
Comment 1 Anton Golubev 2023-06-14 10:23:18 MSK
Так и должно быть, потому что гритер может настраивать соединения только для себя, но не на всю систему или для другого пользователя, для этого нужно повышение привилегий. Своё соединение должно быть настроено пользователем отдельно.
Comment 2 Vera Blagoveschenskaya 2023-06-14 10:30:34 MSK
Здесь поспорю с точки зрения удобства использования.

Пользователь на экране входа настраивает соединение. 
Заходит в систему - сети нет. И он вынужден еще раз настраивать сеть o_O
Меня бы слегка обескуражило это.

Если сеть до входа нужна, давайте назовем ее как-нибудь "pre-конфигурация" или хинт по использованию будем показывать.
Comment 3 Anton Golubev 2023-06-14 10:44:03 MSK
(In reply to Vera Blagoveschenskaya from comment #2 & #0)

> Здесь поспорю с точки зрения удобства использования.

> ожидается, что настроенное через гритер соединение будет работать до перезагрузки.

Удобно ли будет пользователю настраивать соединение каждый раз при перезагрузке?

> Если сеть до входа нужна, давайте назовем ее как-нибудь "pre-конфигурация"
> или хинт по использованию будем показывать.

Можно сделать наверное, как это конкретно могло бы выглядеть?
Comment 4 Vera Blagoveschenskaya 2023-06-14 10:52:10 MSK
(Ответ для Anton Golubev на комментарий #3)
> Удобно ли будет пользователю настраивать соединение каждый раз при
> перезагрузке?
Не удобно, но про это тоже можно написать в хинте.

> Можно сделать наверное, как это конкретно могло бы выглядеть?
При наведении на виджет отображать всплывающий текст (хинт), в котором про это написать
Comment 5 Anton Golubev 2023-06-19 18:12:28 MSK
Created attachment 13548 [details]
странное поведение плазма-апплета nm

Попытался всё же сохранить соединение, настроенное гритером, это получилось сделать, но есть серьёзные побочные эффекты:

- пришлось немного патчить NetworkManager, хоть патч кажется незначительным, такое поведение не предусмотрено там сейчас, даже наоборот, в комментариях к коду указано, что соединение может "пережить" сессию, только если соединение активировал root, или оно создано общедоступным, (а мы не можем создать его общедоступным, потому что для этого опять-таки нужны привилегии) https://git.altlinux.org/gears/N/NetworkManager.git?p=NetworkManager.git;a=blob;f=NetworkManager/src/core/nm-manager.c;h=f7948b1e2fe4ead40e9a282adca20fd36d562808;hb=378456a5216abc648109ecc471d8440294644ae4#l5020

- Плазма оказалась не готова к этому, апплет настройки сети показывает что все точки доступа подключены (см. скриншот), клик на кнопке "отключить" зачем-то просит пароль от точки доступа, но после ввода ничего, конечно же, не происходит. nm-applet (отдельное GTK приложение) работает адекватно.

- (самое страшное) поскольку это приватное соединение для гритера, пользователь не имеет права что-либо делать с ним, удалить его и даже хотя бы остановить, не может подключить своё wi-fi соединение, потому что устройство занято.


Подытожу проблему - без повышения привилегий мы можем создать только приватное соединение. Оно будет приватным для гритера. С небольшим костылём мы можем оставить это соединение для пользователя, но уже тот ничего не сможет с ним сделать без повышения привилегий. Поэтому, кажется, меньшим из зол будет всё же не оставлять пользователю это соединение.
Comment 6 Anton Golubev 2023-06-20 17:37:07 MSK
Created attachment 13559 [details]
случаи отображения хинтов

Добавил отображение подсказки в случае, если сама кнопка показывает приватное соединение, или если в списке соединений навести курсор на подключённое приватное соединение (см. скриншоты). Если название соединения слишком длинное, оно дублируется в подсказке.
Если соединение общедоступное, подсказка не появляется, потому что оно не будет отключено.
Comment 7 Repository Robot 2023-06-27 14:50:05 MSK
lightdm-kde-greeter-0.4.12-alt1 -> sisyphus:

 Mon Jun 26 2023 Anton Golubev <golubevan@altlinux> 0.4.12-alt1
 - fix focus loss when typing PSK from virt. keyboard (Closes: 46499)
 - activate new connection automatically (Closes: 46518)
 - show hint for private connection (Closes: 46502)
 - add a password re-entry dialog (Closes: 46514)
 - handle deferred autologin (Closes: 46530)
 - show error messages more correctly (Closes: 46525)
 - fix letters creeping over the keyboard icon (Closes: 46500)
 - show displayName in user's icon label (Closes: 46524)
 - remove "classic" theme (Closes: 46533, 46534)
 - use extra config file (Closes: 46606)
Comment 8 Антон Мидюков 2023-06-28 14:02:23 MSK
(Ответ для Anton Golubev на комментарий #5)
> - пришлось немного патчить NetworkManager, хоть патч кажется незначительным,
> такое поведение не предусмотрено там сейчас, даже наоборот, в комментариях к
> коду указано, что соединение может "пережить" сессию, только если соединение
> активировал root, или оно создано общедоступным, (а мы не можем создать его
> общедоступным, потому что для этого опять-таки нужны привилегии)

Так надо запускать polkit agent и повышать привилегии через него.
Comment 9 Anton Golubev 2023-06-28 14:14:00 MSK
(In reply to Антон Мидюков from comment #8)

> Так надо запускать polkit agent и повышать привилегии через него.

С этим тоже есть некоторые проблемы - во-первых нужно как-то управлять окном агента, в отсутствии wm это затруднительно кмк, и во-вторых пользователь должен иметь такие привилегии.