Introduction to the Content-Type header:
Every HTTP response contains a header named Content-Type, it contains the MIME type of the returned data stream. For example, the MIME type could be text/plain or text/html.
Servers are usually configured to set the Content-Type header to application/octet-stream when it can't determine itself what the file type of the download is. This is why you annoyingly don't get the correct suggestion on downloading new or non-universal file types, like .deb files.
Changing the default action for new and unrecognised MIME types:
For new and unrecognised MIME types, you can simply set the default action by ticking the "Do this automatically for files like this from now on" checkbox in the download prompt. The checkbox is disabled initially, but you can enable it by clicking the radio button next to "Open with" or changing the default application.
You'll be able to review your choices by opening the Applications tabs under Edit, Preferences.
Changing the default action for application/octet-stream:
For some reason, Firefox won't let you change the default action for application/octet-stream files. You will have to change the user's default handler for that MIME type, like this:
- Open
~/.local/share/applications/mimeapps.list.
- Find the line beginning with
application/octet-stream= under [Added Associations]. If it's not there, create it.
- On the right hand side of the equals sign, put:
gedit.desktop;, or whichever .desktop you want to use.
Changing the default action for application/octet-stream to gnome-open:
In my case, I want to default to gnome-open, but it doesn't have a pre-existing .desktop file, so I created one under ~/.local/share/applications/ with these contents:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=gnome-open %f
Name=gnome-open
Comment=Custom definition for gnome-open
NoDisplay=true