← Back to context

Comment by sourcegrift

13 hours ago

No one on earth has so far managed to get xdg default apps work on Linux. I've been failing since 19 years personally. If you've really succeded then congratulations!

> No one on earth has so far managed to get xdg default apps work on Linux.

I've only been using Linux for a few weeks but what am I missing here?

I set a bunch of mime types in `~/.config/mimeapps.list` which are assigned to desktop apps and they all open perfectly with `xdg-open` or when I launch them through a file manager.

It is documented in the XDG specification https://specifications.freedesktop.org/mime-apps/latest/file....

  • For me currently, when trying to open a `text/markdown` file, there's a disassociation between what my file manager (Caja) runs (own bin/emacs script; was under the impression it was auto-creating a .desktop file), what mimeapps.list have (emacs.desktop), and what `xdg-open` runs (Firefox for some reason).

    • Older desktops don’t follow the specs and xdg-open does different things based on the desktop, so they indeed can get out of sync.

      I’d have to look into your specific case but `gio mime` and `gio open` do the right things.

  • > what am I missing here?

    There are gotchas, for instance Chrom,{e,ium} insists on XDG_DESKTOP_DIR != XDG_DOWNLOAD_DIR.

    See this bug report from a confused user: https://issues.chromium.org/issues/41076564

    • > also of note, we (mostly) don't allow ~/Desktop as the download dir for security reasons

      This isn't an XDG issue. It's a chromium engineers being silly pricks that think they know better than the power users who obviously went out of their way to create such a configuration. Also I bet it would work if you set your XDG_DESKTOP_DIR to ~/Download/

Great. I must be living on the moon then. I guess gnome work great there since it manages this part

  • Gnome has done an amazing job at this, I agree. You don't even notice this issue.

    • It's when I want to use a non-systemd, no-DE environment that xdg-stuff becomes very annoying, but that's usually because applications assume a certain setup rather than any fault of xdg. eg. Wayland is very stupid about requiring a certain xdg setup to run at all.