Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

How to change the default app for opening directories in Gnome?

+2
−0

I somehow managed to unknowingly change the default app for opening directories on my laptop. E.g. when I use the option open containing folder in a program like Evince, my editor (vscode) opens up instead of my file manager (Nautilus).

I have been experiencing this for some months now and it is not that much of a problem, but every time I stumble upon it I tend to start looking for solutions and every time I am unable to find a solution.

I am using Gnome and I know how to change the default apps for web, mail, calendar, music, video and photos in settings. I also checked Gnome tweaks and dconf editor, but searches for directory, folder and default do not seem to list any entries for default directory settings.

Does anybody know how to change the default app for opening directories in Gnome or where these settings could be stored?


Further Details

The answer of matthewsnyder seems to point in the right direction. When opening a directory with xdg-open, vscode is started instead of Nautilus. However, when running

xdg-mime query default inode/directory

the output indicates that Nautilus should be the default app for opening directories again. Even though xdg-open clearly does not use Nautilus.

I also tried running in debug mode using

XDG_UTILS_DEBUG_LEVEL=10 xdg-open ~

but this only provides the following additional information: Selected DE gnome3

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

https://askubuntu.com/a/172689 appears to contain some useful hints. (2 comments)

2 answers

You are accessing this answer with a direct link, so it's being shown above all other answers regardless of its score. You can return to the normal view.

+1
−0

I don't use Gnome, but I'm guessing it relies on xdg-open to figure out what program to use.

Your first step would be to do xdg-open ~ to see if it uses the same incorrect program. If so, great - you can troubleshoot xdg-open. If not, Gnome decided to write their own file association resolver to use on top of xdg-open, so it's a Gnome-specific thing. Based on comments, this does not appear to be the case here - you say that xdg-open behaves consistently with Gnome GUI.

When troubleshooting, you can use xdg-mime to check how the filetype is being resolved. You can also use it to set associations. The Arch wiki has some tips.

Something to keep in mind: There is a cache for the MIME types, so simply setting an association with xdg-mime may not be enough. You may also have to update the cache using the program update-mime-database (man page). I think the cache is supposed to be a file called mime.cache under XDG dirs (my Arch install doesn't have it). There is also a related ~/.config/mimeapps.list although I'm not sure if this is also generated by programs like xdg-mime.

You can also try handlr which is an alternative to xdg-utils. I think it edits the same MIME databases but has a "better" UI. I find xdg-utils to have atrocious usability, so perhaps handlr might be less unpleasant.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

1 comment thread

more digging required (4 comments)
+3
−0

By digging further into the details of xdg-open, I stumbled upon this page in the Arch wiki. There it states that xdg-open will delegate the task of opening a file to the handler of the Desktop Environment (DE). In the case of Gnome, this will be gio.

My Solution

The available applications for opening a directory can be listed using

gio mime inode/directory

This effectively listed vscode as the default app! I eventually managed to overwrite this default to use Nautilus as follows

gio mime inode/directory org.gnome.Nautilus.desktop

General Solution

I am not sure how xdg-mime and gio got disconnected. I verified that xdg-mime also correctly delegates to gio and there seem to be no problems there (at least after the fix). Therefore, a more general (DE-independent) fix would probably be to use

xdg-mime default org.gnome.Nautilus.desktop inode/directory

to set the default app, even if xdg-mime query default lists the correct result. After all, xdg-mime does seem to correctly delegate to the app used by the DE.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »