FS#50205 - [sddm] 5.7.2-1: Impossible change user account avatar in login manager (SDDM)

Attached to Project: Arch Linux
Opened by Strangiato (Strangiato) - Saturday, 30 July 2016, 17:37 GMT
Last edited by Doug Newgard (Scimmia) - Tuesday, 13 February 2018, 14:00 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Felix Yan (felixonmars)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: Change user account avatar in SDDM never worked on my system.
This bug affects Antergos and Manjaro too, two Arch-based distros.
I think this is not an upstream bug because change user account avatar works correctly on other linux distros (OpenSuse, Kubuntu and Sparky).

Additional info:
package version: 5.7.2-1
Someone from kde bug tracker said this can be an home permission issue
https://bugs.kde.org/show_bug.cgi?id=361460

Steps to reproduce:
Steps to reproduce:
1. open kde settings, open "Account details", select "User manager" on left side
2. select your user account, click on your avatar and select "load from file..."
3. choose any image file to use as your new avatar
4. apply the change and logout from your user session
Result: previous avatar is still active in SDDM login screen


This task depends upon

Closed by  Doug Newgard (Scimmia)
Tuesday, 13 February 2018, 14:00 GMT
Reason for closing:  Fixed
Additional comments about closing:  plasma 5.12
Comment by Antonio Rojas (arojas) - Saturday, 30 July 2016, 18:35 GMT
the problem is that sddm can't read the avatar from your home dir, not a user-manager problem
Comment by Strangiato (Strangiato) - Saturday, 30 July 2016, 18:38 GMT
How can I do sddm read the avatar from my home dir?
Comment by Antonio Rojas (arojas) - Saturday, 30 July 2016, 18:51 GMT
As mentioned in the upstream report: you need to give read permissions to the sddm user
Comment by Strangiato (Strangiato) - Saturday, 30 July 2016, 19:04 GMT
Why sddm user has no read permission by default? This is an usabality issue.
Comment by Martin Schnitkemper (Martin-MS) - Sunday, 06 November 2016, 16:01 GMT
Why has sddm no read permissions? The file has default permission of 0644/-rw-r--r-- and should be readable by all, including sddm.

I think there are currently some problems handling the avatars. First of all, if changing the avatar using the kde user_manager, it will place four files in the filesystem: ~/.face and a symbolic link .face.icon on this file. According to https://wiki.archlinux.org/index.php/SDDM#Changing_your_avatar that is the first fault since sddm cannot read avatars which are symlinks. Even if I place a real file .face.icon in $HOME with the above mentioned permission, it does not work.

Then two more files named <username> are placed into /var/lib/AccountsService/icons and /var/lib/AccountsService/users. The files in /var/lib/AccountsService/icons do not match the sddm rules since they are malformed names (<username> instead of <username>.face.pic). If you change the filename to that what sddm expects and set the right path for "FacesDir" in the "[Theme]"-section of the sddm configuration, then it works.

After all, if you delete an avatar using the kde user_manager, then only ~/.face will be deleted and a broken link ~/.face.icon will be left, and the files in /var/lib/AccountsService/ remains untouched. In result, in kde systemsettings/user_manager the last avatar ist still visible.

The only solution that works is in my exerperience to place a file <username>.face.pic in /usr/share/sddm/faces/. But for that you need root privileges and cannot be done by an ordinary user.

These maybe all upstream bugs, but in result, the whole concept lacks in many points.
Comment by Antonio Rojas (arojas) - Sunday, 06 November 2016, 18:13 GMT
The file permissions are irrelevant. If your home folder is not world-readable (as it should), then the files in it will be unaccesible to other users.
Anyway, this isn't something that can (or should) be fixed on the packaging side. Next SDDM release will have accountsservice support, so all these issues should be solved.
Comment by Shem Pakla (emol007) - Friday, 23 June 2017, 11:20 GMT
One way solution:
cd /usr/share/sddm/faces/
sudo ln -s /home/[user]/.face.icon [user].face.icon

And that works!!!

ps. i whose tried solution with read permissio - this dont work!
Comment by Strangiato (Strangiato) - Friday, 01 September 2017, 18:08 GMT
This bug affects SDDM 0.15 too.

Loading...