Summary: | consolehelper требует серьезной доработки | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Денис Корявов <dkoryavov> | ||||||||
Component: | consolehelper | Assignee: | Nobody's working on this, feel free to take it <nobody> | ||||||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||||
Severity: | normal | ||||||||||
Priority: | P2 | CC: | cas, evg, kostya.hm, ldv, sem, zerg | ||||||||
Version: | unstable | Keywords: | usability | ||||||||
Hardware: | all | ||||||||||
OS: | Linux | ||||||||||
Attachments: |
|
Description
Денис Корявов
2008-08-15 12:21:42 MSD
Баг установлен более 3-х месяцев назад и по нему не видно никаких изменений. Будет ли доработан consolehelper? На самом деле вопрос не праздный, если пользователю владеющему слепым методом печати и знающему терминологию данный баг не критичен, людям с низкой квалификацией в области работы за компьютером и набирающим "одним" пальцем, это высоко критично. Принимаю ошибку на себя и постараюсь исправить. *** Bug 17477 has been marked as a duplicate of this bug. *** (В ответ на комментарий №0)
> Описал все словами. Если потребуется, могу представить скриншоты или нарисовать
> схему.
Схему не надо, а вот скриншоты было бы хорошо.
Согласен с предложением. Хотелось бы более внятной работы consolehelper, особенно 3-крайной возможности ввода пароля. Created attachment 3348 [details]
Макет consolehelper на Java
Создал примерный макет, как по моему мнению должен выглядеть и работать consolehelper.Макет написан на Java и не несет никакой полезной нагрузки кроме демонстрации работы, - на нажатие кнопки "Выполнить" всегда отвечает ошибкой ввода (3 раза). Created attachment 3349 [details]
Актуальная версия макета consolehelper
Запускать так: java -jar ./consolehelper.jar
Просьба игнорировать первое вложение как не актуальное. Created attachment 3350 [details]
Переделанный интерфейс
Переделал интерфейс, но в диалогах на GTK+ сложно сделать обновление интерфейса на время проверки. Скажите ваше мнение.
Касательно переделанного интерфейса, есть пара предложений: 1. Если есть возможность, лучше сделать без окно либо без декораций, либо диалогом (без возможности изменения размеров). 2. Учитывая, что дизайн должен "читаться" (как текст) поле "Password:" следует поместить ниже сообщения об ошибке "Bad password. Try again" (т.е сначала сообщается информация что пароль плохой, потом - говорится что его нужно еще раз ввести). Если диалоги GTK+ не позволяют сделать обновление дизайна "на лету", можно пойти на такой трюк: сделать "трясущуюся" картинку (дергающуюся по диагонали на пару пикселей вверх вниз) несколько раз, в это время меняя диалоги (скорость должна быть быстрее, чем пользователь может разглядеть это) и, в итоге, вывести нужный диалог на том же самом месте, что и изначальный. Если это тоже по каким-либо причинам нереализуемо, то, хотя бы сделать все общение с пользователем в рамках сеанса ввода пароля модальным. Дабы не прерывать причинно-следственную связь. В остальном - все отлично. (В ответ на комментарий №11) > Если это тоже по каким-либо причинам нереализуемо, то, хотя бы сделать все > общение с пользователем в рамках сеанса ввода пароля модальным. Дабы не > прерывать причинно-следственную связь. Он и так модальный (чтобы нельзя было перехватить пароль). Попробуйте сменить фокус ввода ;) Я склоняюсь к мысли, что делать нужно не диалогом, а обычным окном. Дело в том, что принажатии на кнопку диалог закрывается на момент проверки и пользователь теряется. Кроме того, обработка событий диалога идёт не в рамках основого GTKшного event loop, что приводит к невозможности штатного обновления интерфейса. Буду работать дальше. ;) > Он и так модальный (чтобы нельзя было перехватить пароль). Попробуйте сменить
фокус ввода ;)
Посмотрел эффекты KWin - эффект "Владелец окна" как раз то, чего не хватает consolehelper. Можно подобное организовать?
> Буду работать дальше. ;)
Есть продвижения? Очень уж хочется видеть новый consolehelper в 5.0.
Прошло еще 2 месяца... Могу попробовать написать сию функцию на Python, но не знаю как отлавливать системные вызовы... Может кто библиотеку сделает, а к ней "морду" на Python'е или Java (SWT) напишем? На правильный компонент. Возможно, стоит рассмотреть возможность перехода на ConsoleKit и PolicyKit. (В ответ на комментарий №16) > На правильный компонент. Возможно, стоит рассмотреть возможность перехода на > ConsoleKit и PolicyKit. Уже рассматривали. PolicyKit не заменяет consolehelper, он обслуживает только программы специально созданные для dbus ;) Андрей, а можно хотя бы загрузить новый GUI для consolehelper? Хоть что-то к релизу успеем. (В ответ на комментарий №18) > Андрей, а можно хотя бы загрузить новый GUI для consolehelper? > Хоть что-то к релизу успеем. А он у кого-то есть? У меня только mockup, не натягиваемая на живой код. Если кто-то сделает получше, то пусть даст ссылку на git. > А он у кого-то есть? У меня только mockup, не натягиваемая на живой код
Понятно.
/me пошел рассматривать на замену gksu.
У меня появился готовый вариант consolehelper (позволяет 3 попытки ввода пароля). Кому интересно, лежит у меня в git (dkoryavov). Еще можно написать с использованием pinentry. Тогда UI не придется программировать вообще. (В ответ на комментарий №22) > Еще можно написать с использованием pinentry. Тогда UI не придется > программировать вообще. Лучше переходить на ConsoleKit и избавляться от велосипедов. (В ответ на комментарий №23) > Лучше переходить на ConsoleKit и избавляться от велосипедов. https://bugzilla.altlinux.org/show_bug.cgi?id=16698#c17 В 0.2.12-alt3-6-g27ef2e7 геометрия обоих диалогов улучшена, а диалог об ошибке по умолчанию ведёт обратно в диалог аутентификации. consolehelper-0.3.0-alt1 -> sisyphus: * Tue Jul 20 2010 Dmitry V. Levin <ldv@altlinux> 0.3.0-alt1 - consolehelper.8: described /etc/security/console.apps/ (closes: #10181). - Changed error notification dialog to return back to authentication dialog by default (closes: #16698). - Changed internal dialog layout to make dialogs look better. |