Owner of applications changes after updating the system

This is the second time this has happened to me:
Yesterday I updated the system and shut down my pc in the evening. Now after I started it all my application ownerships have changed to root as new owner and new group. The icons of the applications have also been reset.

How can I undo this so that my local user is the owner and I can change the icons of my applications again? If I just add the user to the ‘root’ group, I still cannot change the icon with him and I don’t know exactly which files I have to change the permissions for.

And why does this happen? Last time I just reinstalled the os.

image

Because you are doing it wrong :wink:

The files in /usr/share/applications are system files. They aren’t intended to be modified by the end user. pacman will overwrite those files with new files whenever the package updates and set the proper permissions.

If you want to modify those files, you copy them to ~/.local/share/applications/ and then modify them there. Those files will override the system provided files in /usr/share/applications and will not be overwritten.

3 Likes

so if I want to change the icons, permissions, etc. of my applications I have to copy them into ~/.local/share/applications/? But why has it worked for me in the past?
Can I just copy my entire /usr/share/applications folder to ~/.local/share/applications/ or could that be problematic in some way?
And what happens after I update my system? Will I have to do the same again?

Keep in mind, those aren’t the actual applications, they are just .desktop files which the DEs/launchers read to know about the applications.

Changing them will work, but your changes will get overwritten whenever that package updates.

You could, but I wouldn’t recommend it. If you did, when there are updates to those files, your copies will override them. Also, when you remove the packages, you would have to manually remove the files you copied. It is better to only copy the files you want to modify.

No, the packages won’t touch the files in ~/.local/share/applications/. Those are user files.

1 Like

I’m a little bit confused: If I look into my ~/.local/share/applications folder there is a brave-browser.desktop file. But if I go in my application menu, right click on the application and edit application, I still cannot change the Icons/permissions?

There should be no need to change permissions since it is in your home directory. Which DE are you using and when did you put the file there?

I’m using KDE Plasma. I didn’t put the file in local/share/applications, I just installed the application and changed the icon some days ago.
But it’s kinda weird. In my local/share/applications folder I have a brave-browser.desktop and a Teamspeak.desktop file. If I open “Edit application” in my application menu, it looks like this:


Brave uses the wrong path, but teamspeak uses the correct path

If you are using kde/plasma, that isn’t the way to do it.

Right click on the launcher and select “Edit applications”. That will bring up the KDE Menu Editor.

The KDE menu editor will automatically handle creating the copies for you. It “just works”

But it doesn’t work for me. If I go the KDE Menu Editor and change the icon of brave, click save, it doesn’t change anything. It still shows under location: /usr/share/applications and not ~/.local/share/applications

You may have to logout and log back in

Restarted my computer and still no change.

It changes the icon in .local/share/applications but it doesn’t appear in my application menu/ KDE Menu Editor. It always uses the file in /usr/share/applications instead of the .local one

That may be something hard-coded into Brave (it shouldn’t be). I have the same happening with Brave on my XFCE system - and I wrote a little script to replace the .desktop file in /usr/share/applications with one that selects the correct icon (and starts in the mode I prefer which includes a command line extra:

--force-device-scale-factor=1.5

that I need with my monitor, for example. Perhaps for this one app you will need to do the same? Fix the one you have in local, and copy it over (with sudo) after each update…

Shouldn’t be - but could be :grin:

1 Like

It’s not just Brave, it applies to all applications I updated yesterday. I did the same with the script, which replaces the icon line in the .desktop file for some of my applications. That works quite well, but there must be a better solution for this ^^

How fancy do you want your workarounds to be? How about a pacman hook that runs your script automatically on finding any of them updated? :grin: Think of it as extending your knowledge base…

not just being lazy like me
1 Like

I don’t want a workaround, I want to know why kde isn’t using my .desktop files in the .local directory :grin:
But the pacman hook is smart, didn’t think about this

Probably because you made changes to KDE that messed it up? :man_shrugging: I run KDE and have no issues.

On the other hand, you probably don’t have the problem specified as you don’t change icons on the fly…I suspect. :grin: I doubt it is KDE anyway - because I’m on XFCE and have the same thing. Somewhere deep in the bowels of X I suppose - and I haven’t found it yet either! It SHOULD respect the per user settings, and doesn’t. More DDG in my future I guess - I’ve been ignoring it as minor (and worked around) while coding away…

I only change things that i know work. :wink: Most of the time. :crossed_fingers:

1 Like

I change icons using the kde menu editor. It works fine here. Creates a copy of the .desktop and provides the new icon.

I didn’t make any changes to KDE that should lead to this problem. Mostly I changed themes, colors and stuff like that. Same settings worked for me for a long time, so this shouldn’t be the reason.
Found similar threads with the same problem online, but nobody described a fix.