I’ve noticed that Discord for Linux takes a very, very long time to start up – sometimes in the order of hours. During this time, my laptop gets very hot. I eventually decided to look into this and found that several instances of
xdg-mime were taking up 100% CPU. Killing them caused Discord to open instantly.
Apparently this issue is present with Spotify too. This fix will work for both of them.
You can fix this manually by killing the various
xdg-mime processes every time you open Discord, but that’s annoying. You can work around it permanently by creating a custom wrapper around
xdg-mime and placing it somewhere in your
$PATH with higher priority than
/usr/local/bin, or wherever
xdg-mime is on your system. In this guide, we’ll use
Create a file called
/usr/local/bin by running
sudo nano /usr/local/bin/xdg-mime. Paste this in the file:
#!/usr/bin/sh if [[ "$@" == *"x-scheme-handler/discord"* ]] || [[ "$@" == *"x-scheme-handler/spotify"* ]]; then /usr/bin/true else /usr/bin/xdg-mime $@ fi
xdg-mime isn’t in
/usr/bin on your machine (you can check where it is by running
which xdg-mime), you’ll need to edit that script to match its location.
Save it with ctrl-o, then exit with ctrl-x. This should fix the problem.
For whatever reason, Discord and Spotify have a lot of trouble registering themselves with
xdg-mime. This causes them to hang for minutes or hours on startup. The workaround outlined above simply checks for what you’re trying to do with xdg-mime, and if you’re trying to modify the scheme handlers for Discord or Spotify – the process that causes these apps to hang – it carries on without doing anything. If you’re doing anything else, it passes you through to the real