How To Install Discord On Linux

How To Install Discord On Linux

Reading time1 min
#Technology#Software#Communication#Linux#Discord#Gaming

How To Install Discord on Linux: Practical Approaches

Discord remains essential for real-time communications in gaming, developer, and community environments. While native Linux support exists, install reliability depends heavily on your distribution, package ecosystem, and desktop environment. Results can vary.

Methods At a Glance

DistributionPackage TypeMaintainerUpdate Mechanism
Ubuntu, Debian.debDiscord (official)Manual, via apt/dpkg
Fedora, RHEL.rpmDiscord (official)Manual, via dnf/yum
AnySnapCanonical (community)Automatic
AnyFlatpakCommunity (Flathub)Automatic

--

Use Case: You’re on Ubuntu 22.04, you want the official build and system integration (audio, screen sharing), and you don’t want to rely on non-official repackaging.

Solution: Use the official .deb package.


Debian/Ubuntu: Official .deb Deployment

Retrieve Latest Stable

wget -O /tmp/discord-latest.deb "https://discord.com/api/download?platform=linux&format=deb"

Discord doesn’t support APT repositories—every update will require a manual download. Be aware: the above URL always gives the latest stable, not beta.

Install with apt for Dependency Resolution

sudo apt update
sudo apt install /tmp/discord-latest.deb

Note: apt will resolve dependencies automatically. If you use dpkg -i, you may need to run:

sudo apt-get install -f

to resolve missing dependencies, particularly on minimal or custom installs.

Start Discord

discord &

Or use the application menu. For logging/debug, launch from a terminal to view standard output.


Fedora/RHEL/AlmaLinux: Official .rpm Deployment

Download Latest .rpm

wget -O /tmp/discord-latest.rpm "https://discord.com/api/download?platform=linux&format=rpm"

Install

On Fedora 38+:

sudo dnf install /tmp/discord-latest.rpm

EL-based (CentOS Stream, RHEL 9+):

sudo yum localinstall /tmp/discord-latest.rpm

Gotcha: Discord's RPM ships with pre-bundled Electron. SELinux in a strict configuration may block screen sharing—audit logs will show denials. Use permissive mode or set suitable policies if needed.


Universal Method: Snap

Discord is available via Snap, maintained by the Snapcrafters community (not upstream). Pros: single command to install, auto-updates, isolation.
Trade-off: start-up times and sandboxing overhead.

Precondition

Ensure snapd is running:

systemctl status snapd

If not present:

sudo apt install snapd   # On Ubuntu/Debian

or consult your distribution documentation.

Install via Snap

sudo snap install discord

Snap applications update silently in the background. App icons may take several seconds to appear after the first install.


Universal Method: Flatpak

Flatpak offers a Flathub-hosted Discord package, often lagging official releases by a few days.

Precondition

Enable Flatpak and Flathub repository:

sudo apt install flatpak        # or equivalent on your distro
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install

flatpak install flathub com.discordapp.Discord

Run with:

flatpak run com.discordapp.Discord

Known issue: Flatpak sandbox may affect screen sharing and system tray integration, depending on your desktop environment.


Manual Install: Advanced/Isolated Case

Rarely used, but if needed (airgapped systems, custom locations):

  • Extract the Discord tar.gz from the .deb or .rpm package.
  • Run Discord binary directly.
  • Install dependencies:
    • Required: libappindicator3-1, libatomic1, others as shown by ldd ./Discord.

Troubleshooting

IssueSymptomCommand/Log ExampleResolution
Missing dependency“discord: error while loading shared libraries: …”ldd /usr/bin/discordInstall missing libs via apt/dnf
Audio not workingNo input/output devices in-apppactl info / pipewire --versionRestart PulseAudio/PipeWire
Fails to launchNo GUI, stderr logs crypticdiscord (from terminal)Check logs, purge config, relaunch
Stuck on Update Loop“Update Failed – Retrying in X seconds”--Delete ~/.config/discord, reinstall

Enable Autostart on Login

Most DEs (GNOME/KDE/XFCE) support autostart through .desktop files. Example for GNOME:

mkdir -p ~/.config/autostart
cp /usr/share/applications/discord.desktop ~/.config/autostart/

Verify the Exec path in the .desktop file matches your install method.


Non-Obvious Tip

Running multiple Discord instances (e.g., main + work) is possible via Flatpak/Snap in parallel with the .deb or .rpm version. Each uses separate config directories. Don’t mix account logins on the same instance—rate limits and device locks occasionally apply.


Summary

For production-like desktop use, official packages are preferred, but Snap/Flatpak provide convenience on rolling or less-common distributions. Always run Discord from the terminal at least once to catch missing dependencies or sandbox errors. Updates are manual with .deb/.rpm, automatic with Snap or Flatpak. Managing audio and screen sharing remains less predictable on some sandboxed deployments.

--
If a specific error or workflow arises (SELinux context issues, Snap confinement), consult distribution-specific documentation or Discord’s Linux support forums for edge-case workarounds.

--
Example error log:

(Discord:4891): libappindicator-WARNING **: 12:21:03.123: Unable to connect to dbus: Failed to connect to socket /tmp/dbus...

Usually resolved via package install:

sudo apt install libayatana-appindicator3-1

--
No method is perfect; pick the trade-offs best suited for your environment.