Telegram

From ArchWiki

Telegram is a cloud-based cross-platform instant messaging service with optional end-to-end encryption. Account creation requires a phone number.

The official clients are open-source but the code for recent versions is not always immediately published. The server-side code is proprietary.

Installation

You can use one of following methods in order to use Telegram:

Chat client plugins

Graphical clients

The official application built by Arch Linux: telegram-desktop.

Third-party clients:

Command-line clients

  • telegram-cli-gitAUR provides command-line interface to connect and use Telegram. For more information about the program, visit the program page on Github.
  • nctelegram-gitAUR is a command-line interface for Telegram based on Ncurses and needs telegram-cli-gitAUR to run. For more information about the program, visit the program page on Github.
  • telegram-tgAUR Telegram terminal client. For more information about the program, visit the program page on Github.
  • python-telegram-sendAUR, not a full client but a command-line tool to directly send messages or files via Telegram.
  • telega.el - GNU Emacs Telegram client.
  • TelegramTUI - terminal Telegam client with a pseudo-graphic GUI

Web-based clients

Tips and tricks

GTK dialogs in Telegram Desktop

If you want to use GTK file dialogs instead of Qt ones, set QT_QPA_PLATFORMTHEME environment variable to gtk3.

KDE dialogs in Telegram Desktop

If you want to use KDE file dialogs instead of Qt ones, set QT_QPA_PLATFORMTHEME environment variable to flatpak.

SVG icon theme in Telegram Desktop

If you want to use an icon theme based on svg image (e.g. papirus-icon-theme) install qt5-svg. See Qt#Icon theme is not applied for details.

Wayland support

GNOME Wayland may not set cursor settings for Telegram[1][2]. This may result in cursors being of the wrong theme, size and not being able to resize the window.

Set XCURSOR_THEME and XCURSOR_SIZE environment variables manually (e.g., XCURSOR_THEME=Adwaita and XCURSOR_SIZE=24)

See Wayland#Qt for further instructions.

xdg-open in Telegram Desktop

If you want to use xdg-open on t.me links and receive an error not finding a handler for tg:

xdg-mime default telegramdesktop.desktop application/x-xdg-protocol-tg
xdg-mime default telegramdesktop.desktop x-scheme-handler/tg

Failed to set real-time priority for thread: Operation not permitted

If you get the following error

$ telegram-desktop
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)

Install realtime-privileges, add yourself to the realtime group and reboot. See Realtime process management#Configuring PAM for details.

HiDPI scaling

If you have Qt scaling enabled on your system, and the scaling factor is not an integer, you may encounter problems like pixelated images and icons. you may need to disable high-DPI scaling for Telegram separately.

Copy /usr/share/applications/telegramdesktop.desktop to your user-specific applications and edit it as follows:

$HOME/.local/share/applications/telegramdesktop-no-scaling.desktop
...
Exec=env -u QT_SCREEN_SCALE_FACTORS telegram-desktop -- %u
...

You may need to update the database of desktop entries.

Audio backend

As Telegram makes use of OpenAL, it is possible to configure the audio settings by editing its config files, i.e. ~/.config/alsoft.conf, or the environment variables listed here.

In case sound is not working due to an invalid audio backend being used, it can be overwritten by setting the environment variable ALSOFT_DRIVERS or the drivers property in the [general] section of the OpenAL config. The drivers value "pulse," for example would try pulseaudio first and then fallback to the default driver list.

Choose correct web camera

Telegram version 3.7.1 does not allow to select the web camera to use in video conference. If you want to force telegram to use a different camera, as a workaround you can disable the unwanted camera device as described in [3].

See also