Discord

From Gentoo Wiki
Jump to:navigation Jump to:search

Discord is a proprietary VoIP instant messaging and digital distribution platform. Discord allows for communication over voice, video, and text. It is written in JavaScript (with React), Elixir, Python, Rust and C++.

Installation

Emerge

Discord has a package in the official Gentoo repository and it is the recommended way of installing Discord:

root #emerge --ask net-im/discord

Flatpak

Install Flatpak:

root #emerge --ask sys-apps/flatpak

Install Discord via Flatpak:

root #flatpak install flathub com.discordapp.Discord

To open Discord via the command line:

root #flatpak run com.discordapp.Discord

snap

Install the snap daemon:

root #emerge --ask app-containers/snapd

Install Discord via snap:

root #snap connect discord:system-observe

appimage

Note
The package version might not be correct.

Most appimages, require sys-fs/fuse for them to work.

root #emerge --ask sys-fs/fuse

Download the latest Discord appimage here: https://github.com/srevinsaju/discord-appimage/releases

Make the downloaded file executable:

user $chmod +x Discord-0.0.40-x86_64.AppImage

And run the file:

user $./Discord-0.0.40-x86_64.AppImage

Troubleshooting

Discord shows the GTK file picker while using KDE or other QT environment

In order to display the correct file picker, Discord supports being launched parsing GTK_USE_PORTAL environment variable. To use the right file picker from KDE/QT, lauch Discord with the following command or edit the shortcut:

CODE
GTK_USE_PORTAL=1 discord
Screenshot from 2022-03-01 13-08-39.png

Discord doesn't start upon a launcher update

Note
This applies only for the official net-im/discord package. The other package managers should not be affected. If they are, update their repositories.

On GNU/Linux systems, Discord expects the launcher to be always up to date. When a launcher update is available, Discord prompts the user to download the latest .deb package from the official website, this of course works only on Debian-based distributions.

Method one: updating the package via portage

In Gentoo, solve this by syncing the repositories and updating the net-im/discord package.

root #emerge --sync
root #emerge --ask net-im/discord

Method two: downloading the latest .tar.gz file and manually replacing the binaries

There are reasons why the user might not want to use the first method. The most common reason is that the package is not yet updated in the Gentoo repository. The Discord binaries can be manually download and used to replace corresponding files on the system.

Note
The package version might differ.

Download the .tar.gz file: https://discord.com/api/download?platform=linux&format=tar.gz

Extract the .tar.gz archive:

root #tar -xpvf discord-0.0.17.tar.gz

Remove the old binaries:

root #rm -rf /opt/discord/Discord

Move in the new binaries:

root #mv -v Discord /opt/discord/

Remove the .tar.gz archive:

root #rm -rf discord-0.0.17.tar.gz

Now Discord shouldn't give any errors.

Method three: disabling the update check

To disable the update check during startup put "SKIP_HOST_UPDATE": true into ~/.config/discord/settings.json.

Discord doesn't show emojis or other glyphs correctly

In order to display some characters correctly media-fonts/noto-emoji can be merged, like this:

root #emerge --ask media-fonts/noto-emoji

Discord icon in Plasma systray is blurry

If using Plasma, dev-libs/libappindicator may be merged, to have a nice icon in the systray instead of a blurry one:

root #emerge --ask dev-libs/libappindicator

See Also

  • Telegram — a freeware, cross-platform, cloud-based instant messaging (IM) system.
  • Skype — a proprietary application owned by Microsoft for instant messaging, VoIP calls, and video conversations.
  • Recommended applications — applications recommended for use in a graphical environment (X11, Wayland)
  • flatpak — a package management framework aiming to provide support for sandboxed, distro-agnostic binary packages for Linux desktop applications.
  • appimage — portable software that do not require root permission to be run.