Bug 46612

Summary: Не отображается установленный аватар пользователя
Product: Sisyphus Reporter: Alexander Makeenkov <amakeenk>
Component: alterator-usersAssignee: Andrey Cherepanov <cas>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: boot.efi, cas, manowar, panik666, vercha
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Workstation K 10.1 (sddm)
none
Workstation 10.1 (lightdm-gtk-greeter) none

Description Alexander Makeenkov 2023-06-21 15:47:59 MSK
- Версия пакета -
lightdm-gtk-greeter-2.0.7-alt10.x86_64

- Системы -
ALT Workstation 10.1 x86_64
ALT Education 10.1 x86_64

- Шаги воспроизведения -
Открыть ЦУС - Локальные учётные записи - Choose avatar - выбрать любой аватар и применить.
Завершить сеанс пользователя или перезагрузить систему.

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

- Получаемый результат -
Отображается дефолтное изображение вместо выбранного аватара.

- Примечание -
Если переключиться на lightdm-kde-greeter (# apt-get install lightdm-kde-greeter && reboot), то там выбранный аватар отображается.
Comment 1 Vera Blagoveschenskaya 2023-08-30 16:10:07 MSK
Created attachment 14274 [details]
Workstation K 10.1 (sddm)

Также НЕ воспроизводится для sddm-0.19.0-alt2

Прикладываю скриншоты для сравнения.
Comment 2 Vera Blagoveschenskaya 2023-08-30 16:10:36 MSK
Created attachment 14275 [details]
Workstation 10.1 (lightdm-gtk-greeter)
Comment 3 panik666 2023-10-02 16:58:56 MSK
Добрый день,

Поправьте пожалуйста эту глупую ошибку, все таки лицо системы при входе!
Comment 4 manowar@altlinux.org 2023-10-02 17:12:51 MSK
Хорошо.
Comment 5 manowar@altlinux.org 2023-10-02 21:17:50 MSK
Дело в том, что LightDM получает информацию об аватарке пользователя по стандарту freedesktop.org, из службы AccountsService через D-Bus. Посмотреть информацию о текущей аватарке можно вот такой командой (свойство "IconFile"):

dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User500 org.freedesktop.DBus.Properties.GetAll string:org.freedesktop.Accounts.User

По умолчанию в системе так:

$ dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User500 org.freedesktop.DBus.Properties.GetAll string:org.freedesktop.Accounts.User | grep -A1 Icon
         string "IconFile"
         variant             string "/home/testuser/.face"

А модуль alterator-users копирует картинку по совершенно другому пути: в /var/lib/AccountsService/icons/.
Кроме копирования файла с картинкой, нужно сделать так, чтобы путь к этому файлу обновился в AccountsService.
Подозреваю, что делать это следует также через D-Bus.