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

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

    <bug>
          <bug_id>38229</bug_id>
          
          <creation_ts>2020-03-17 14:55:04 +0300</creation_ts>
          <short_desc>Невозможно сменить пользователя, если у пользователя настроен автоматический вход и пустой пароль</short_desc>
          <delta_ts>2020-03-31 18:29:20 +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>plymouth</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>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>33000</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Антон Мидюков">antohami</reporter>
          <assigned_to name="Антон Мидюков">antohami</assigned_to>
          <cc>antohami</cc>
    
    <cc>manowar</cc>
    
    <cc>mike</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>188582</commentid>
    <comment_count>0</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-17 14:55:04 +0300</bug_when>
    <thetext>Невозможно сменить пользователя, если у пользователя настроен автоматический вход и пустой пароль. Это актуально для live, где пользователь altlinux имеет пустой пароль и настроен автовход. Проявляется как у lightdm-gtk-greeter, так и у slick-greeter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188583</commentid>
    <comment_count>1</comment_count>
    <who name="manowar@altlinux.org">manowar</who>
    <bug_when>2020-03-17 15:04:16 +0300</bug_when>
    <thetext>А что проявляется-то? Прошу по-порядку...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188584</commentid>
    <comment_count>2</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-17 15:19:20 +0300</bug_when>
    <thetext>(Ответ для manowar@altlinux.org на комментарий #1)
&gt; А что проявляется-то? Прошу по-порядку...

Загружаемся в live. Нажимаем завершить сеанс или сменить пользователя, сеанс завершается и тут же происходит автовход.
Создаём ещё одного пользователя. Завершаем сеанс, происходит автовход в сеанс пользователя altlinux.
Задаём пароль пользователю altlinux, и только тогда можно завершить сеанс и авторизоваться под другим пользователем.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188585</commentid>
    <comment_count>3</comment_count>
    <who name="manowar@altlinux.org">manowar</who>
    <bug_when>2020-03-17 15:29:57 +0300</bug_when>
    <thetext>Т.е. принудительное завершение сеанса не должно приводить к автоматическому воходу в систему? Вероятно вы правы. Вопрос в том, можно ли это как-то отследить...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188588</commentid>
    <comment_count>4</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-17 15:51:41 +0300</bug_when>
    <thetext>(Ответ для manowar@altlinux.org на комментарий #3)
&gt; Т.е. принудительное завершение сеанса не должно приводить к автоматическому
&gt; воходу в систему? Вероятно вы правы. Вопрос в том, можно ли это как-то
&gt; отследить...

В предыдущем релизе lightdm такой проблемы не было. Как понять принудительное? Самое обычное завершение сеанса пользователем, после которого не дожен происходить автоматический вход в этот сеанс. Во всяком случае без временной выдержки, которая должна включаться отдельно, опционально.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188607</commentid>
    <comment_count>5</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-18 13:55:30 +0300</bug_when>
    <thetext>Дело не в lightdm. Висит в запущенном состоянии plymouth-start.service, чего быть не должно. Если его остановить, то выход из сессии происходит успешно.

Перевешиваю на plymouth. Со вчерашнего дня пытаюсь понять странности с запуском lightdm, gdm, sddm. Похоже, после обновления systemd до 245 plymouth-start.service перестал завершаться после выполнения plymouth-quit.service
Т.е. plymouth таки завершается, но начинается тут же заново.
Наверное, теперь для systemd завершение программы (не аварийное) есть повод для запуска её вновь. И нужно как-то по-другому останавливать plymouth. Или в plymouth-start.service нужно что-то менять. Может сделать его:
Type=oneshot
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188610</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2020-03-18 14:59:00 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #5)
&gt; Дело не в lightdm. Висит в запущенном состоянии plymouth-start.service, чего
&gt; быть не должно. Если его остановить, то выход из сессии происходит успешно.



&gt; 
&gt; Перевешиваю на plymouth. Со вчерашнего дня пытаюсь понять странности с
&gt; запуском lightdm, gdm, sddm. Похоже, после обновления systemd до 245
&gt; plymouth-start.service перестал завершаться после выполнения
&gt; plymouth-quit.service
&gt; Т.е. plymouth таки завершается, но начинается тут же заново.
&gt; Наверное, теперь для systemd завершение программы (не аварийное) есть повод
&gt; для запуска её вновь. И нужно как-то по-другому останавливать plymouth. Или
&gt; в plymouth-start.service нужно что-то менять. Может сделать его:
&gt; Type=oneshot
&gt; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188611</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2020-03-18 15:02:59 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #5)
&gt; Дело не в lightdm. Висит в запущенном состоянии plymouth-start.service, чего
&gt; быть не должно. Если его остановить, то выход из сессии происходит успешно.

У нас plymouth стартует из initrd, поэтому plymouth-start.service вообще не должен стартовать. Должен только plymouth-quit.service отработать.
plymouth-start.service - это сервис для initrd, если бы в initrd был systemd.

&gt; 
&gt; Перевешиваю на plymouth. Со вчерашнего дня пытаюсь понять странности с
&gt; запуском lightdm, gdm, sddm. Похоже, после обновления systemd до 245
&gt; plymouth-start.service перестал завершаться после выполнения
&gt; plymouth-quit.service
&gt; Т.е. plymouth таки завершается, но начинается тут же заново.
&gt; Наверное, теперь для systemd завершение программы (не аварийное) есть повод
&gt; для запуска её вновь. И нужно как-то по-другому останавливать plymouth. Или
&gt; в plymouth-start.service нужно что-то менять. Может сделать его:
&gt; Type=oneshot
&gt; ?

oneshot нельзя, потому что там демон остается работать. oneshot только для одноразовых скриптов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188613</commentid>
    <comment_count>8</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-18 16:38:13 +0300</bug_when>
    <thetext>(Ответ для Alexey Shabalin на комментарий #7)
&gt; oneshot нельзя, потому что там демон остается работать. oneshot только для
&gt; одноразовых скриптов.

Его plymouth-quit.service завершает в таком случае.

&gt;У нас plymouth стартует из initrd, поэтому plymouth-start.service вообще не &gt;должен стартовать. Должен только plymouth-quit.service отработать.
&gt;plymouth-start.service - это сервис для initrd, если бы в initrd был systemd.

Посмотрел сборку от 27.02.2020. Запускался таки plymouth-start.service, на 15 мс.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188772</commentid>
    <comment_count>9</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-24 19:22:40 +0300</bug_when>
    <thetext>(Ответ для Alexey Shabalin на комментарий #7)
&gt; (Ответ для Антон Мидюков на комментарий #5)
&gt; &gt; Дело не в lightdm. Висит в запущенном состоянии plymouth-start.service, чего
&gt; &gt; быть не должно. Если его остановить, то выход из сессии происходит успешно.
&gt; 
&gt; У нас plymouth стартует из initrd, поэтому plymouth-start.service вообще не
&gt; должен стартовать. Должен только plymouth-quit.service отработать.
&gt; plymouth-start.service - это сервис для initrd, если бы в initrd был systemd.


Я удалил plymouth-start.service со всеми ссылками на него, собралось:
[#248433] TESTED plymouth.git=0.9.4-alt3

Помогло. Как такой вариант?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188803</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2020-03-25 20:03:56 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #9)
&gt; (Ответ для Alexey Shabalin на комментарий #7)
&gt; &gt; (Ответ для Антон Мидюков на комментарий #5)
&gt; &gt; &gt; Дело не в lightdm. Висит в запущенном состоянии plymouth-start.service, чего
&gt; &gt; &gt; быть не должно. Если его остановить, то выход из сессии происходит успешно.
&gt; &gt; 
&gt; &gt; У нас plymouth стартует из initrd, поэтому plymouth-start.service вообще не
&gt; &gt; должен стартовать. Должен только plymouth-quit.service отработать.
&gt; &gt; plymouth-start.service - это сервис для initrd, если бы в initrd был systemd.
&gt; 
&gt; 
&gt; Я удалил plymouth-start.service со всеми ссылками на него, собралось:
&gt; [#248433] TESTED plymouth.git=0.9.4-alt3
&gt; 
&gt; Помогло. Как такой вариант?

Мне не очень нравится такое решение.
на plymouth-start.service есть зависимости не только в пакете plymouth, но и в systemd, gdm.

Надо попробовать 3 таких варианта:
- просто замаскировать systemctl mask plymouth-start.service
- добавить в plymouth-start.service ConditionPathExists=/etc/initrd-release, тогда вне initrd он стартовать не должен. Но как к этому отнесутся другие зависимые сервисы непонятно.
- заменить в plymouth-start.service ExecStart=/bin/true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188848</commentid>
    <comment_count>11</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-26 19:03:35 +0300</bug_when>
    <thetext>(Ответ для Alexey Shabalin на комментарий #10)
&gt; 
&gt; Мне не очень нравится такое решение.
&gt; на plymouth-start.service есть зависимости не только в пакете plymouth, но и
&gt; в systemd, gdm.

А почему сборочница это пропустила?

&gt; 
&gt; Надо попробовать 3 таких варианта:
&gt; - просто замаскировать systemctl mask plymouth-start.service

Этот вариант проверил. Работает. Проблем не заметил. Может на этом варианте и остановимся?

&gt; - добавить в plymouth-start.service ConditionPathExists=/etc/initrd-release,
&gt; тогда вне initrd он стартовать не должен. Но как к этому отнесутся другие
&gt; зависимые сервисы непонятно.
&gt; - заменить в plymouth-start.service ExecStart=/bin/true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188907</commentid>
    <comment_count>12</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-28 05:40:11 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #11)
&gt; (Ответ для Alexey Shabalin на комментарий #10)
&gt; &gt; 
&gt; &gt; Мне не очень нравится такое решение.
&gt; &gt; на plymouth-start.service есть зависимости не только в пакете plymouth, но и
&gt; &gt; в systemd, gdm.
&gt; 
&gt; А почему сборочница это пропустила?
&gt; 
&gt; &gt; 
&gt; &gt; Надо попробовать 3 таких варианта:
&gt; &gt; - просто замаскировать systemctl mask plymouth-start.service
&gt; 
&gt; Этот вариант проверил. Работает. Проблем не заметил. Может на этом варианте
&gt; и остановимся?

При использовании шифрованного раздела не получается загрузиться:
https://lists.altlinux.org/pipermail/sisyphus/2020-March/368499.html

Ситуацию воспроизвёл. Так что не подходит этот вариант. splash не получается прервать, запускается снова.

&gt; &gt; - добавить в plymouth-start.service ConditionPathExists=/etc/initrd-release,
&gt; &gt; тогда вне initrd он стартовать не должен. Но как к этому отнесутся другие
&gt; &gt; зависимые сервисы непонятно.
&gt; &gt; - заменить в plymouth-start.service ExecStart=/bin/true

В обоих вариантах при использовании шифрованного раздела splash не прерывается на ввод пароля. Приходится нажимать ESC, чтобы ввести пароль. Затем, если нажать ESC, splash показывается снова и работает до своего завершения. Является ли это регрессом, напишу позже, не проверил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188912</commentid>
    <comment_count>13</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-03-28 14:17:16 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #12)
&gt; (Ответ для Антон Мидюков на комментарий #11)
&gt; &gt; (Ответ для Alexey Shabalin на комментарий #10)
&gt; &gt; &gt; - добавить в plymouth-start.service ConditionPathExists=/etc/initrd-release,
&gt; &gt; &gt; тогда вне initrd он стартовать не должен. Но как к этому отнесутся другие
&gt; &gt; &gt; зависимые сервисы непонятно.
&gt; &gt; &gt; - заменить в plymouth-start.service ExecStart=/bin/true
&gt; 
&gt; В обоих вариантах при использовании шифрованного раздела splash не
&gt; прерывается на ввод пароля. Приходится нажимать ESC, чтобы ввести пароль.
&gt; Затем, если нажать ESC, splash показывается снова и работает до своего
&gt; завершения. Является ли это регрессом, напишу позже, не проверил.

Проверил, не регресс.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189013</commentid>
    <comment_count>14</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2020-03-31 18:29:20 +0300</bug_when>
    <thetext>plymouth-1:0.9.4-alt3 -&gt; sisyphus:

 Tue Mar 31 2020 Anton Midyukov &lt;antohami@altlinux&gt; 1:0.9.4-alt3
 - plymouth-start.service: ExecStart=/bin/true (Closes: 38229)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>