2.3 KiB
Discord Automatic Updater
This is a small shell script and systemd service that automatically check for discord updates in the background. It updates Discord by editing /usr/share/discord/resources/build_info.json to the most recent version number - the content of the updates are installed by Discord itself when launched.
Currently, this has only been tested with the debian-based Discord package. It may work with the .rpm installer as well - let me know if you try it. Update the appropriate environment variables in update-discord.sh.
Setup
Run this from inside the Git repo:
# move the script to a system location and make it executable
sudo mkdir -p /usr/local/bin
sudo cp ./update-discord.sh /usr/local/bin/update-discord
sudo chmod 755 /usr/local/bin/update-discord
# create the systemd service
sudo cp ./update-discord.service /etc/systemd/system/update-discord.service
# create the systemd timer
sudo cp ./update-discord.timer /etc/systemd/system/update-discord.timer
sudo systemctl daemon-reload
sudo systemctl enable --now update-discord.timer
You can manually test it too:
# check schedule
systemctl list-timers | grep discord
# manually trigger and check logs
sudo systemctl start update-discord.service
journalctl -u update-discord.service
Stopping automatic updates
Discord's stock client prompts you to manually update whenever they release a new version. I originally created this script so that I didn't have to interact with that prompt and download a .deb every week.
However, Discord recently botched one of their linux updates (somewhere around version 0.0.133, I think) and have yet to publish a fix. While searching for a workaround to that, I learned that you can disable Discord's forced updates entirely. Yippee!
Edit ~/.config/discord/settings.json to include the following JSON field:
{
"SKIP_HOST_UPDATE": true
}
Then, edit /usr/share/discord/resources/build_info.json and change the version field to some older version (I used 0.0.131). You may need to run killall Discord and restart the app for changes to take place.
You can turn off the auto-update script by running sudo systemctl disable update-discord.timer. You can also re-enable it by running sudo systemctl enable update-discord.timer.