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.

Note: Although the telegram client(s) are open source, the server side is proprietary and centralised, therefore having privacy issues. Use at your own risk as data is controlled by a centralised company.

Installation

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

Graphical clients

  • Telegram Desktop — The official application built by Arch Linux.
https://desktop.telegram.org || telegram-desktop
  • Kotatogram — Unofficial experimental Telegram Desktop fork.
https://kotatogram.github.io/ || kotatogram-desktopAUR
  • 64Gram — Unofficial feature-rich Telegram Desktop fork.
https://64gr.am || 64gram-desktopAUR
  • Materialgram — Telegram Desktop fork with material icons and some improvements.
https://github.com/kukuruzka165/materialgram || materialgram-binAUR

Web-based clients

Two official browser-agnostic clients exist: Telegram WebK and Telegram WebA, while the Telegram Chrome app for Chromium-based browser is also available. There are also third-party clients:

  • Franz — An open-source web-based application that can be used for various instant messaging software.
https://meetfranz.com/ || franzAUR
  • Hamsket — A GPL-licensed alternative to Franz, forked from the last open sources of Rambox.
https://github.com/TheGoddessInari/hamsket || hamsketAUR

Chat client plugins

Some multi-purpose chat clients provide a plugin for Telegram:

  • Pidginlibpurple Telegram plugin implemented using official tdlib client library. Needs TD_API_ID and TD_API_HASH env vars to be set for makepkg.
https://github.com/ars3niy/tdlib-purple || telegram-tdlib-purple-gitAUR

Command-line clients

  • Telegram messenger CLI — A command-line interface for Telegram which uses the readline interface.
https://github.com/kenorb-contrib/tg || telegram-cli-gitAUR
  • tg — Telegram terminal client.
https://github.com/paul-nameless/tg || telegram-tgAUR
  • nchat — A terminal-based chat client with support for Telegram.
https://github.com/d99kris/nchat || nchat-gitAUR
  • telega.el — GNU Emacs Telegram client.
https://github.com/zevlg/telega.el || Available through MELPA
  • telegram-send — A command-line tool to directly send messages or files via Telegram.
https://github.com/rahiel/telegram-send || python-telegram-sendAUR

Tips and tricks

File chooser style

See Qt#Configuration of Qt 5/6 applications under environments other than KDE Plasma

SVG icon theme in Telegram Desktop

This article or section is out of date.

Reason: telegram-desktop depends on qt6-svg (Discuss in Talk:Telegram)

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

See GNOME/Troubleshooting#Cursor size or theme issues on Wayland.

See Wayland#Qt for generic instructions.

xdg-open scheme handler

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

$ xdg-mime default org.telegram.desktop.desktop application/x-xdg-protocol-tg
$ xdg-mime default org.telegram.desktop.desktop x-scheme-handler/tg

Real-time priority

This article or section is out of date.

Reason: Latest openal supports rtkit that allows to set priority for unprivileged processes (Discuss in Talk:Telegram)

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

The factual accuracy of this article or section is disputed.

Reason: This may lead to problems when opening files from Telegram (e.g. opening pdf with Okular will inherit the variable). (Discuss in Talk:Telegram)

This article or section is out of date.

Reason: These instructions are likely not relevant to the modern Qt (Discuss in Talk:Telegram)

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.

Unset QT_SCREEN_SCALE_FACTORS environment variable as follows:

$HOME/.local/share/applications/org.telegram.desktop.desktop
...
Exec=env -u QT_SCREEN_SCALE_FACTORS telegram-desktop -- %u
...
DBusActivatable=false
...

You may need to perform Desktop entries#Update database of desktop entries afterwards.

Also consider disabling Default interface scale in Settings and enabling Enable precise High DPI scaling in Settings -> Advanced -> Experimental settings to avoid incorrect scaling when launch by xdg-open (e.g. opening tg:// link).

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.

Fcitx support for Qt 6 Telegram

Telegram-desktop is built against Qt 6 since 3.4.2-2. Users upgrading from an older version might notice Fcitx stop working for this application. To make it work again, install fcitx-qt6 or the fcitx-im group. If using Fcitx5, install fcitx5-im.

Changing the default file browser

Telegram Desktop uses the File Manager DBus Interface to open the file browser. The spec does not allow to choose the preferred one, ensure you have only one file browser installed.

Do not confuse file browsers with file dialogs which are parts of toolkits and is covered by #File chooser style.

See also