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

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
  • Rambox — An alternative to Franz, no longer open source, that offers all features of its counterpart.
https://rambox.app/ || rambox-binAUR

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
https://telepathy.freedesktop.org || telepathy-hazeAUR

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
  • ncTelegram — A ncurses Telegram client developed in Python with the urwid library.
https://github.com/Nanoseb/ncTelegram || nctelegram-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 || not packaged? search in AUR
  • 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

The factual accuracy of this article or section is disputed.

Reason: The xdgdesktopportal QPT is for flatpak/snap and can lead to issues as it's not meant to be used outside of them. This QPT has nothing to do with KDE and the right way to get the KDE file chooser is to get the Qt 6 KDE QPT (e.g. by installing Plasma 6). (Discuss in Talk:Telegram)

By default, Telegram uses Qt file chooser. You can change it by setting QT_QPA_PLATFORMTHEME environment variable.

  • To use GTK file chooser, set it to gtk3.
  • To use KDE file chooser, set it to xdgdesktopportal.

SVG icon theme in Telegram Desktop

The factual accuracy of this article or section is disputed.

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

The factual accuracy of this article or section is disputed.

Reason: Latest openal supports rtkit (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)

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.

Choose correct web camera

The factual accuracy of this article or section is disputed.

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 [1].

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