1

I'm on Ubuntu 22.04.1 LTS.

When I reboot/start the system it works perfectly fine, but then after some time the computer has been running if I try to open the file manager it doesn't open anymore.

Trying to opening it via UI just loads for a while and then nothing happens. Running it via command line makes it load a while again and then this message appears (translated from Italian, the message may not be exactly this in English):

Failed to register: Timeout reached

(org.gnome.Nautilus:47297): Tracker-WARNING **: 08:26:44.192: Could not delete '.meta.isrunning': File or directory doesn't exist

Finally, if I run it with sudo nautilus it works. but of course this means that to open the file manager I have to write that and insert my password.

Now, googling a bit got me to this, and I tried all the things the OP tried and the commented solutions as well. The thing is: I had never run nautilus as root before, so it's not what the first commenter said. No file I could find is owned by someone else than me (the only user on the PC), so it's not that either. Also, the weird thing is that as I said it works for a bit after I first open the PC (sleep mode doesn't count, only starting/restarting the system) but then out of seemingly nowhere it stops.

What can I do?

AGL
  • 121
  • "sudo nautilus" will break your system. Your issue may be a consequence of such actions . Never run any graphical applications as root with "sudo". This looks like your case: https://gitlab.com/rastersoft/desktop-icons-ng/-/issues/187 – vanadium Oct 09 '22 at 11:06

1 Answers1

0

Starting nautilus as root is at the root of your problems.

When nautilus starts, it creates (as root in your case) configuration files, cache directories, etc., suitably protected against access by other users.

Subsequently, when you run nautilus as $USER, you have access problems.

This is a Well Known Problem with running graphical programs (or any program that saves context) as root. Don't do it.

To find the files not owned by $USER:

sudo find $HOME \! -user $USER -ls

To blindly 'fix' all the ownerships,

sudo find $HOME \! -user $USER -print0 | \
  xargs -0 -r sudo chown $(id -u):$(id -g)

Read man find xargs chown id.

waltinator
  • 36,399