Can't change profile picture on KDE

I just got done installing CachyOS on a new PC after using it for a while on my old laptop, but on the fresh install I’m not being able to change my profile picture and save it. I’ve tried rebooting, updating the packages, and also reinstalled it again just in case but that didn’t help. I also tried seeing if it had something to do with file permisions/ownership but no luck either.

I’m still fairly new to using Linux so if this is a really easy to fix issue I apologize for making a topic on it.

Hi, did you search “Can’t change profile picture on KDE”? DuckDuckGo gives me lots of solutions. What have you tried sofar?

I tried looking at the accounts-daemon.service file to check if PrivateTmp was set to false but it already was. I managed to fix it by downgrading accountsserviceto an older version and rebooting, or at least i think that’s what did the trick.

Downgrading packages is never a solution to anything, but a workaround at best. I guess you got that idea from this 4 year old reddit post? If I were you, I’d abandon the downgrading idea and get to the real root cause of that.

I just realized that I have the same problem here (never changes my user picture so far)… and we are not alone in that. Over at Garuda, someone proposes to copy your avatar png to a file called ~/.face, but that didn’t work for me.

Interesting… :thinking:

Yeah i think it was that reddit post i saw. I did also try the ~/.face method but that only partially worked, the only place where the change was reflected was the KDE System Settings but not the rest of places where the profile picture is displayed.

With the downgrade method at least it allowed me to change it, but i updated it right after anyway and it still keeps the one i set. I don’t change my profile picture that often for it to continue bothering me at least

Okay, that is pretty mysterious :laughing: and feels even more like a bug.

It’s a KDE bug, just like the KDE 5.24 bug in February 2022.

The best solution seems to be patience.

I did some soul searching on this topic as I noticed this happened after I imported kde settings via konsave and thought it was konsave that messed things up. Doing the .face thing didn’t work but I found adding the picture into:

/var/lib/AccountsService/icons/

and renaming the picture to the user name worked for me.

Great first post!

Welcome to the Cachy Forum!

Hi everyone,

I encountered the exact same issue on a fresh CachyOS install with KDE Plasma. When trying to change the profile picture or user color in the KDE System Settings, the “Apply” action failed with an error.

The Root Cause

By debugging with journalctl -f, I found the following critical error from systemsettings in the logs:
"org.freedesktop.Accounts.Error.Failed" "creating temporary icon file failed: Das Dateisystem ist nur lesbar" (Read-only file system).

Checking the systemd unit with systemctl cat accounts-daemon.service revealed that the service has the following restriction enabled by default:
ProtectSystem=strict

This strict sandbox setting prevents the accounts-daemon from creating the necessary temporary icon files in the system directories, causing the KDE user module to fail silently or throw permission errors.

The Permanent Solution / Fix

The cleanest way to fix this without modifying upstream package files is to create a small systemd drop-in override that loosens this specific restriction for the accounts service.

Run the following commands in the terminal:

  1. Create the override directory:
sudo mkdir -p /etc/systemd/system/accounts-daemon.service.d
  1. Add the override rule to allow the daemon to write its temporary files:
echo -e "[Service]\nProtectSystem=false" | sudo tee /etc/systemd/system/accounts-daemon.service.d/override.conf
  1. Reload systemd and restart the service:
sudo systemctl daemon-reload
sudo systemctl restart accounts-daemon

After applying this fix, changing the profile picture and user settings via KDE Plasma works flawlessly and instantly.

Hopefully, the developers can adjust the default ProtectSystem settings for the accountsservice package in an upcoming CachyOS update so it works out of the box!

@TheYesMan Fucking THANK you, was JUST headed down this exact same road myself.

Dumb that it shipped like this in the first place.

Yes unfortunately, but maybe not in the future anymore :slight_smile:

thanks you, its works :smile:

Fixing AccountsService Permissions

This is the real problem: The accounts-daemon service has overly strict security restrictions that prevent it from generating temporary files.

sudo mkdir -p /etc/systemd/system/accounts-daemon.service.d

echo -e “[Service]\nProtectSystem=true” | sudo tee /etc/systemd/system/accounts-daemon.service.d/override.conf

This does not completely disable service security and it still functions. “nProtectSystem=true”. You maintain security: Critical system folders (like /usr, where your program binaries are located, and /boot, which boots your computer) are once again protected by a “read-only” shield. If the daemon tries to do anything unusual there, the system immediately blocks it.

The daemon is controlled: You grant it only the strictly necessary access to /etc so it can manage configurations and user files as needed, which was precisely what was causing problems.

sudo systemctl daemon-reload

sudo systemctl restart accounts-daemon

This is how I solved it without having to downgrade.

I hope it helps. Here are my PC specs; I’m using KDE 6.7.2:

Gracias, funciona a la perfeccion.

se que lo sabes, pero solo queria dejarlo saber

Thanks for the solution.

BTW: this is a nice example of what’s still totally wrong with Linux/Arch/KDE/Cachy today (whoever you wanna blame).

I mean, yeah, you have to buld a small systemd override to have a nice profile picture… :joy:

Mil gracias, una solucion muy acertada