<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>38544</bug_id>
          
          <creation_ts>2020-05-27 11:11:33 +0300</creation_ts>
          <short_desc>Показывать последнего пользователя при greeter-hide-users=true</short_desc>
          <delta_ts>2021-03-02 13:51:51 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>lightdm-gtk-greeter</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Cherepanov">cas</reporter>
          <assigned_to name="manowar@altlinux.org">manowar</assigned_to>
          <cc>ekorneechev</cc>
    
    <cc>igorgof</cc>
    
    <cc>manowar</cc>
    
    <cc>valentina</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>190338</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2020-05-27 11:11:33 +0300</bug_when>
    <thetext>Просят автоматически заполнять имя последнего залогиненного пользователя в поле ввода и при greeter-hide-users=true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196302</commentid>
    <comment_count>1</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2021-02-17 14:49:45 +0300</bug_when>
    <thetext>Последний пользователь сохраняется в параметре last-user в файле /var/lib/ldm/.cache/lightdm-gtk-greeter/state

# cat /var/lib/ldm/.cache/lightdm-gtk-greeter/state 
[greeter]
last-user=ho
last-session=mate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196334</commentid>
    <comment_count>2</comment_count>
    <who name="manowar@altlinux.org">manowar</who>
    <bug_when>2021-02-18 16:37:17 +0300</bug_when>
    <thetext>Хорошо. Там ещё по-моему такая проблема, что при самом первом входе и выборе списком выбор по умолчанию пуст. Я думаю стоит сразу выбирать первого пользователя из списка.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196340</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2021-02-18 17:19:56 +0300</bug_when>
    <thetext>(Ответ для manowar@altlinux.org на комментарий #2)
&gt; Хорошо. Там ещё по-моему такая проблема, что при самом первом входе и выборе
&gt; списком выбор по умолчанию пуст. Я думаю стоит сразу выбирать первого
&gt; пользователя из списка.

Да, хорошая идея.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196358</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2021-02-20 08:05:18 +0300</bug_when>
    <thetext>(Ответ для manowar@altlinux.org на комментарий #2)
&gt; Хорошо. Там ещё по-моему такая проблема, что при самом первом входе и выборе
&gt; списком выбор по умолчанию пуст. Я думаю стоит сразу выбирать первого
&gt; пользователя из списка.

Когда потестить можно будет?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196381</commentid>
    <comment_count>5</comment_count>
    <who name="manowar@altlinux.org">manowar</who>
    <bug_when>2021-02-20 16:24:33 +0300</bug_when>
    <thetext>Завтра, наверное. Я тут ещё вот эту изучаю: https://bugzilla.altlinux.org/show_bug.cgi?id=38363 . Я про неё забыл, а вчера сам натолкнулся.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196466</commentid>
    <comment_count>6</comment_count>
    <who name="manowar@altlinux.org">manowar</who>
    <bug_when>2021-02-24 14:15:46 +0300</bug_when>
    <thetext>Требование получается несколько противоречивым. Поясняю. lightdm-gtk-greeter переписывался для того, чтобы поддерживать любые схемы аутентификации, а не только типичную пару логин/пароль. Например, при использовании смарт-карт карта опознаётся автоматически и необходимость запрашивать имя пользователя отпадает. Гипотетически могут быть иные схемы, в которых первым делом у пользователя запрашивается не имя пользователя, а что-то иное. Хотя ясно, что это экзотика. Так вот, для обработки всех таких случаев сеанс аутентификации начинается без указания имени пользователя — start_authentication(NULL) и дальше всё решает PAM: если ему требуется Username, то пользователю будет отправлен соответствующий запрос на ввод. На мой взгляд, такое поведение нужно сохранить — по крайней мере в виде опции.

Теперь о том, как всё-таки можно реализовать требование. Самый простой способ, это предварительно вставить в поле ввода имя пользователя. И надеяться на то, что первое, о чём спросит PAM, будет &quot;Enter username:&quot; или что-то в этом роде. Ясно, что в 99% случаев это будет выглядеть адекватно.

Второй вариант — не начинать с start_authentication(NULL), а честно выводить поле ввода имени пользователя перед началом процедуры аутентификации и после ввода вызывать уже start_authentication(username). Это несколько сложнее по реализации, но органичнее вписывается в устройство lightdm-gtk-greeter и не противоречит логике PAM (который предусматривает начало сеанса для конкретного пользователя).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196473</commentid>
    <comment_count>7</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2021-02-24 17:03:06 +0300</bug_when>
    <thetext>(Ответ для manowar@altlinux.org на комментарий #6)
&gt; Требование получается несколько противоречивым. Поясняю. lightdm-gtk-greeter
&gt; переписывался для того, чтобы поддерживать любые схемы аутентификации, а не
&gt; только типичную пару логин/пароль. Например, при использовании смарт-карт
&gt; карта опознаётся автоматически и необходимость запрашивать имя пользователя
&gt; отпадает. Гипотетически могут быть иные схемы, в которых первым делом у
&gt; пользователя запрашивается не имя пользователя, а что-то иное. Хотя ясно,
&gt; что это экзотика. Так вот, для обработки всех таких случаев сеанс
&gt; аутентификации начинается без указания имени пользователя —
&gt; start_authentication(NULL) и дальше всё решает PAM: если ему требуется
&gt; Username, то пользователю будет отправлен соответствующий запрос на ввод. На
&gt; мой взгляд, такое поведение нужно сохранить — по крайней мере в виде опции.
&gt; 
&gt; Теперь о том, как всё-таки можно реализовать требование. Самый простой
&gt; способ, это предварительно вставить в поле ввода имя пользователя. И
&gt; надеяться на то, что первое, о чём спросит PAM, будет &quot;Enter username:&quot; или
&gt; что-то в этом роде. Ясно, что в 99% случаев это будет выглядеть адекватно.
&gt; 
&gt; Второй вариант — не начинать с start_authentication(NULL), а честно выводить
&gt; поле ввода имени пользователя перед началом процедуры аутентификации и после
&gt; ввода вызывать уже start_authentication(username). Это несколько сложнее по
&gt; реализации, но органичнее вписывается в устройство lightdm-gtk-greeter и не
&gt; противоречит логике PAM (который предусматривает начало сеанса для
&gt; конкретного пользователя).

Если запросили имя пользователя (и под полем показывается локализованное название поля - &quot;Имя пользователя&quot;), то именно при известной подписи поля и надо вставлять. Так что второй вариант - заполнять при триггере username.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196518</commentid>
    <comment_count>8</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2021-02-25 17:51:05 +0300</bug_when>
    <thetext>lightdm-gtk-greeter-2.0.7-alt2 -&gt; sisyphus:

 Thu Feb 25 2021 Paul Wolneykien &lt;manowar@altlinux&gt; 2.0.7-alt2
 - Added &quot;enter-username&quot; config param to explicitly ask for a
   username before authentication starts (closes: 38544).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196522</commentid>
    <comment_count>9</comment_count>
    <who name="manowar@altlinux.org">manowar</who>
    <bug_when>2021-02-25 19:01:13 +0300</bug_when>
    <thetext>Если будете тестировать: там новый параметр добавился &quot;enter-password&quot; в /etc/lightdm/lightdm-gtk-greeter.conf. И там же есть ещё один &quot;restart-on-cancel&quot;. Он старый, но имеет смысл с ним тоже проверить, что всё адекватно.

Напоминаю, что &quot;greeter-hide-users&quot; находится в другом конфиге — /etc/lightdm/lightdm.conf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196638</commentid>
    <comment_count>10</comment_count>
    <who name="Валентина">valentina</who>
    <bug_when>2021-03-02 13:15:00 +0300</bug_when>
    <thetext>Проверяю пакет в р9, обновленный до таска #267018 (lightdm-gtk-greeter.git=v2.0.7-alt2), выполняю следующие шаги:
1. Ставлю в /etc/lightdm/lightdm.conf greeter-hide-users=true
2. # lightdm-gtk-greeter
3. # reboot
4. Начинаю сессию под пользователем test, завершаю сеанс.
5. Попадаю на поле &quot;Учетная запись&quot;.
Но в результате поле &quot;Учетная запись&quot; пустое. Аналогичное поведение и в предыдущей версии пакета. Просьба уточнить, какое ожидаемое поведение.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196640</commentid>
    <comment_count>11</comment_count>
    <who name="manowar@altlinux.org">manowar</who>
    <bug_when>2021-03-02 13:47:07 +0300</bug_when>
    <thetext>/etc/lightdm/lightdm-gtk-greeter.conf: enter-username=true ?

Если не включить этот режим, то разницы не будет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196641</commentid>
    <comment_count>12</comment_count>
    <who name="Валентина">valentina</who>
    <bug_when>2021-03-02 13:51:51 +0300</bug_when>
    <thetext>(Ответ для manowar@altlinux.org на комментарий #11)
&gt; /etc/lightdm/lightdm-gtk-greeter.conf: enter-username=true ?
&gt; 
&gt; Если не включить этот режим, то разницы не будет.

С этим параметром выводит имя последнего пользователя корректно. Поняла свой промах. Спасибо.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>