Skip to content
TGWAY
Download & Install STEP 07 / 20

Installing Telegram on Linux: Flatpak, Snap or Tarball

On Linux the application is the same everywhere — Telegram Desktop, the cross-platform client from Step 003. What changes is the packaging, and Linux…

  • LevelL2
In this article
  1. terminal One application, three packages — and two different publishers
  2. public The two things that actually go wrong
  3. folder_open Where your session lives
  4. touch_app Try it now — five minutes
  5. help Common questions at this stage
  6. At a glance
school Telegram Masterclass • Step 005 / 100 Step 005: Installing Telegram on Linux — Flatpak, Snap or Tarball
Step 005 of 100

On Linux the application is the same everywhere — Telegram Desktop, the cross-platform client from Step 003. What changes is the packaging, and Linux offers three of them: a plain archive from Telegram, a Flatpak, and a Snap.

The choice is usually presented as a matter of taste. It is not quite: the three differ in who assembled the package, how confined it is, and consequently whether screen sharing and file dialogues behave as you expect.

What you will be able to do after this step

  • check_circle Pick a packaging format for reasons you can state out loud.
  • check_circle Say which builds come from Telegram and which are packaged by somebody else.
  • check_circle Fix screen sharing on Wayland instead of concluding it is broken.
  • check_circle Find your session folder, and treat it with the care it deserves.

terminal One application, three packages — and two different publishers

Telegram itself publishes one Linux build: a compressed archive from desktop.telegram.org. You unpack it, you run it, and it updates itself. That is the build that comes directly from the people who wrote the software, signed the way Step 002 described.

The Flatpak and the Snap are packaged from the same source by people in those ecosystems. This is entirely normal on Linux — it is how most software reaches most distributions — and the packagers in question are visible and accountable. But it is worth knowing, because it explains the two things people notice: the packaged builds sometimes trail the direct one by a few days, and they behave differently with files and screens because the packaging confines them.

Your distribution's own repository may also carry a Telegram package. Those vary enormously in how current they are, and a very old client is eventually refused by the servers. If your distribution ships a recent one, use it; if the version is a year behind, take the archive.

verified
"Packaged by someone else" is not the same as "untrusted" This is not the warning from Step 002. Flathub and the Snap Store build from published source in the open, and nobody is hiding who did it. The point is narrower: only one of the three is the binary Telegram itself produced, and if that distinction matters to you, it decides the question in one line.
touch_app Interactive

Three packages, three sets of consequences

Pick a format. The columns show what it gives you and what it asks for in return.

check_circle What it gives you

check_circle The build Telegram published, with no intermediary and no packaging delay.
check_circle No confinement, so file dialogues, screen sharing and notifications behave like any ordinary program.
check_circle Updates itself in place, in your home directory, without a package manager or root.

rule What it asks for

cancel You manage it: unpack it somewhere sensible, make your own desktop entry if you want one in the menu.
cancel It runs with your full user permissions, so it can read what you can read.
cancel Your system's updater will never tell you about it, because it is not a package.

The straightforward choice. Take it if you want the official binary and nothing between you and it.

public The two things that actually go wrong

Almost every Linux-specific complaint about Telegram is one of two problems, and both have short answers.

Screen sharing shows a black rectangle. On Wayland an application cannot simply grab the screen; it has to ask through a desktop portal, and the portal is a separate package matched to your desktop environment. Install the portal for GNOME, KDE or wlroots as appropriate, make sure PipeWire is running, and the monitor picker appears as it should. Nothing is wrong with the client — it is asking a component that is not installed.

The tray icon is missing. Several desktop environments no longer show legacy tray icons without an extension, which makes an app that minimises to the tray appear to vanish. Either add the extension your desktop uses, or stop treating the tray as the place the app lives. This is not a Telegram decision and no setting inside Telegram fixes it.

A third, smaller one: if you want the client to start quietly with your session rather than opening a window across your screen, it takes a start-minimised flag on the command line, or the equivalent switch in the application's own settings. Tiling window manager users generally want the flag in their session file.

bolt
Check the portal before you reinstall The instinct when screen sharing fails is to switch packaging format, and it occasionally appears to work — because the other format happened to pull in the portal as a dependency. Installing the portal directly is the actual fix and takes a fraction of the time.

folder_open Where your session lives

As on Windows, Telegram Desktop keeps its authorisation and its cache in a folder called tdata. Where that folder sits depends on the packaging: under your local share directory for the archive build, inside the Flatpak's own application data directory, and under the Snap's directory in your home folder for a Snap.

The warning from Step 003 applies identically here, and on a multi-user machine it deserves repeating. That folder is a signed-in session. Anyone who can read it — another account on the same machine with loose permissions, a backup you copied to a shared drive, a home directory on a network mount — can open your account elsewhere with no password and no code. Turning on the local passcode in Settings, under Privacy and Security, encrypts it and closes that door.

It also means there is nothing to back up. Copying tdata to preserve your chats is unnecessary, because the chats are not in it; signing in on a new machine produces the same history. The only thing that folder saves you is typing a code, which is a poor trade for leaving your account lying in a backup archive.

key
If a machine is out of your hands, end the session You do not need access to the computer, and you do not need to work out whether anything was copied. Open Settings and Devices on any signed-in client, and terminate that session. It stops working immediately. Step 028 covers auditing the list properly.

touch_app Try it now — five minutes

Four things worth settling on the day you install it. Each one prevents a problem that otherwise surfaces weeks later, when you have forgotten what you configured.

  1. Install the desktop portal for your environment now Not when a call starts. Screen sharing is the single most common Linux complaint about this client, the fix is a package rather than a setting, and testing it takes thirty seconds against your own second monitor.
  2. Cap the cache and restrict automatic downloads Settings, then Advanced, then Data and Storage. A desktop client left open in a busy channel will fetch a great deal of video nobody watches. Capping the cache controls the disk; restricting automatic downloads is what controls both disk and bandwidth.
  3. Turn on the local passcode Settings, then Privacy and Security. This is the setting that makes the session folder useless to anyone who copies it, and on a shared or networked home directory it is not optional.
  4. Decide how it starts with your session Either enable the option in the client's own settings, or add the start-minimised flag to your session file if you run a tiling window manager. A client that opens a full window on every login is a client you will disable and then miss messages from.

help Common questions at this stage

How does the archive build update itself without root?

Because it lives in your home directory, which you own. The client downloads the new version and replaces its own files on the next start — no package manager, no elevation, no prompt. The corollary is that you should unpack it somewhere you own rather than somewhere system-wide; putting it in a root-owned directory is how people end up with a client that cannot update itself and quietly falls behind.

Can I move from one packaging format to another?

Yes, and it is a fresh install rather than a migration: install the new one, sign in, remove the old one. Do not copy the session folder across — the paths differ and the exercise is pointless, since signing in gives you the identical history. Log out of the old installation before removing it, so the session ends rather than merely disappearing from your disk.

Is there a terminal client, or a way to use Telegram without a graphical desktop?

Third-party terminal clients exist and some are well regarded, but they are written by people other than Telegram and they hold your session, which puts them in the category Step 002 asked you to decline for now. Telegram's own answer for a machine without a desktop is the web client in a browser, or simply your phone. Automation is a different question entirely and belongs to bots rather than to clients — Step 086 starts that thread.

Telegram is using several gigabytes under my home directory. Can I delete that?

The cache, yes, and nothing is lost by it. Settings, then Advanced, then Data and Storage shows what is being kept and lets you cap both the size and the age. What you should not delete by hand is the tdata folder, since that is your session rather than cached media — removing it logs the client out. Clearing from inside the application removes the right things.

My distribution's package is old. Does that matter?

Up to a point it is only missing features. Past a certain age the servers stop accepting a client altogether, and the app tells you so and refuses to connect. If you like installing everything through your package manager but your distribution moves slowly, a Flatpak or the direct archive alongside it is the usual compromise — keep one, not both, so that you are not running two sessions without realising.

Does running Telegram on Linux change anything about my account?

Nothing at all. It is another session on the same account, seeing the same cloud history, with the same groups and settings. The differences in this step are entirely about the machine in front of you: how the software was packaged, what it is allowed to touch, and where it writes. That separation — account on the servers, client on the device — is the idea Step 001 introduced, and it is what makes every step in this section a local decision rather than an account one.

Summary

At a glance

Installing Telegram on Linux: Flatpak, Snap or Tarball — at a glance illustration
  1. 1Three packages

    The tarball comes from Telegram; Flatpak and Snap are packaged by their ecosystems.

  2. 2Screen sharing

    A black screen on Wayland usually means the desktop portal is missing.

  3. 3Session folder

    It holds your login, so protect it like a password.

Share this guide

Send it to a friend who has the same question.

Telegram WhatsApp
More

Open on your phonePoint your phone camera here to open this guide.

Updated

Related articles

View all ›