[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Plasma 5.20.4: System Preferences -> User Management: User image does not change.



Il 25/12/20 22:00, Norbert Preining ha scritto:
Hi

On Fri, 25 Dec 2020, luca.pedrielli wrote:
It seems that sddm looks for avatar in ~/.face.icon or in
/usr/share/sddm/faces (you can change it
Hmm, according to https://github.com/sddm/sddm/issues/683 this icons of
AccountsService should be available since sometime in 2018 ...
And sddm hasn't changed in this respect I think, and the former
user-manager also used AccountsService. 

Checking the source of sddm:
                const QString userFace = QStringLiteral("%1/.face.icon").arg(user->homeDir);
                const QString systemFace = QStringLiteral("%1/%2.face.icon").arg(facesDir).arg(user->name);
                QString accountsServiceFace = QStringLiteral("/var/lib/AccountsService/icons/%1").arg(user->name);

                if (QFile::exists(userFace))
                    user->icon = QStringLiteral("file://%1").arg(userFace);
                else if (QFile::exists(accountsServiceFace))
                    user->icon = accountsServiceFace;
                else if (QFile::exists(systemFace))
                    user->icon = QStringLiteral("file://%1").arg(systemFace);

so it checks
- ~/.face.icon
- sddm face dir/$USER.face.icon
- /var/lib/AccountsService/icons/$USER

So changes *should* show up ...

I am a bit puzzled.

Norbert

Hi Norbert,

I've tested with new users and sddm works as you say:

----------------------------------------------------------------------------------------------------------------------------

$ LC_ALL=C strace -f sddm-greeter --test-mode --theme /usr/share/sddm/themes/breeze 2>&1 | grep 'Accounts\|face.icon'
[pid 11780] access("/usr/share/sddm/themes/debian-theme/faces/.face.icon", F_OK) = -1 ENOENT (No such file or directory)
[pid 11780] access("/home/ilprof/.face.icon", F_OK) = -1 ENOENT (No such file or directory)
[pid 11780] access("/var/lib/AccountsService/icons/ilprof", F_OK) = 0
[pid 11780] access("/home/mario/.face.icon", F_OK) = -1 ENOENT (No such file or directory)
[pid 11780] access("/var/lib/AccountsService/icons/mario", F_OK) = -1 ENOENT (No such file or directory)
[pid 11780] access("/usr/share/sddm/faces/mario.face.icon", F_OK) = -1 ENOENT (No such file or directory)
[pid 11780] access("/var/lib/AccountsService/icons/ilprof", F_OK) = 0
[pid 11780] openat(AT_FDCWD, "/var/lib/AccountsService/icons/ilprof", O_RDONLY|O_CLOEXEC) = 19
[pid 11780] openat(AT_FDCWD, "/usr/share/sddm/faces/.face.icon", O_RDONLY|O_CLOEXEC) = 19

----------------------------------------------------------------------------------------------------------------------------

but the strange behaviour of kcm_users remains:

If you choose a default image /var/lib/AccountsService/icons/$USER is not updated

Best, Luca



--
PREINING Norbert                              https://www.preining.info
Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13


-- 
Saluti, Luca Pedrielli 

Reply to: