How to Install Jami on Ubuntu 26.04, 24.04 and 22.04

Install Jami on Ubuntu 26.04, 24.04, and 22.04 with Jami's official APT repository or Snap. Covers launch, updates, removal, and fixes.

PublishedAuthorJoshua JamesRead time8 minGuide typeUbuntu

Jami’s Ubuntu install path is a package-source decision before it is a chat-client decision. To install Jami on Ubuntu with current upstream packages, use Jami’s official APT repository for APT-managed updates, or use the Snap package when you prefer Snap Store refreshes and a shorter setup.

The Jami APT repository publishes separate Ubuntu 26.04, 24.04, and 22.04 builds for amd64. Jami separates stable from beta/testing channels: the beta APT path uses the nightly repository, while the Snap beta/testing path uses Snapcraft’s latest/edge channel.

Install Jami on Ubuntu

Choose a Jami Installation Method

Pick one method and one channel. Stable is the safer default for daily messaging, calls, and SIP use; beta or edge builds are better reserved for testing fixes or preview features, and older release feeds may not advance at the same pace as newer ones.

MethodChannelSupported Ubuntu ScopeUpdatesBest For
Jami APT repositoryStableUbuntu 26.04, 24.04, and 22.04 on amd64APT upgradesMost Ubuntu desktop users who want upstream packages and visible repository cleanup
Jami APT repositoryBeta/nightlyUbuntu 26.04, 24.04, and 22.04 on amd64APT upgrades from the nightly repositoryTesting preview APT builds when the nightly feed is ahead of stable
Snap packagelatest/stableUbuntu with Snap support; Jami documents the GNU/Linux Snap for amd64Automatic Snap refreshesQuick installs that avoid adding an APT repository
Snap packagelatest/edgeUbuntu with Snap support; Jami documents the GNU/Linux Snap for amd64Automatic Snap refreshes from edgeTesting preview Snap builds

Use only one Jami package source at a time. The stable and nightly APT repositories both install the same jami package names, so switching channels means replacing the source file, refreshing APT, and reinstalling or upgrading from the selected channel.

Jami’s Ubuntu page can also offer direct DEB downloads. Treat those as one-off installer artifacts; the repository method is the repeatable path when you want APT-managed upgrades and visible source cleanup.

A bare sudo apt install jami is not consistent across supported Ubuntu LTS releases. Ubuntu 24.04 currently has an older Universe package, while Ubuntu 26.04 and 22.04 do not currently expose the same default Ubuntu archive candidate. Use Jami’s official repository when you want the current upstream APT package family.

Prepare Ubuntu for Jami

Refresh package metadata and install the small tools used by the repository setup. The gnupg package lets you inspect the signing key if you want an extra local check, while the curl command in Linux downloads the key file over HTTPS.

sudo apt update
sudo apt install ca-certificates curl gnupg --no-install-recommends

These commands use sudo for package installation and root-owned repository files. If your account does not have administrator access yet, add a new user to sudoers on Ubuntu before continuing.

Check the Ubuntu Release and Architecture

Jami’s APT package stanzas are currently present for Ubuntu 26.04, 24.04, and 22.04 on amd64. Confirm your system before adding the repository:

. /etc/os-release
printf 'Ubuntu %s (%s), %s\n' "$VERSION_ID" "${VERSION_CODENAME:-unknown}" "$(dpkg --print-architecture)"
Ubuntu 26.04 (resolute), amd64

Ubuntu 24.04 prints noble, and Ubuntu 22.04 prints jammy. If your system prints another release or architecture, use the Snap method or check Jami’s current Ubuntu documentation before adapting the APT source manually.

Install Jami from the Official APT Repository

This source file uses the same repository and signing key as Jami’s official Ubuntu instructions, but stores the repository in DEB822 format so the fields are easier to audit and remove later. Before adding the repository, choose one channel by setting the jami_channel shell variable in your current terminal.

Most users should select the stable channel for normal desktop use:

jami_channel=stable

Select the beta/nightly channel instead only when you deliberately want preview builds:

jami_channel=nightly

Do not run both channel commands. If you change your mind before adding the repository, rerun the one you want so jami_channel contains the final channel. Nightly is a separate package source, but it is not a guarantee that every supported Ubuntu release has a newer build on the same day.

After choosing one channel, keep using the same terminal session for the repository setup. The guard checks the channel, release, and architecture before writing a source file, and the source is created only after the signing key downloads and installs successfully. After refreshing APT, use the policy check to confirm which repository and package version your system will install.

. /etc/os-release
ubuntu_version="${VERSION_ID:-}"
arch="$(dpkg --print-architecture)"

case "${jami_channel:-}" in
stable | nightly)
  case "${ubuntu_version}:${arch}" in
  26.04:amd64 | 24.04:amd64 | 22.04:amd64)
    if curl -fsSLo jami-archive-keyring.gpg https://dl.jami.net/public-key.gpg && sudo install -m 0644 jami-archive-keyring.gpg /usr/share/keyrings/jami-archive-keyring.gpg; then
      rm -f jami-archive-keyring.gpg

      printf '%s\n' \
        'Types: deb' \
        "URIs: https://dl.jami.net/${jami_channel}/ubuntu_${ubuntu_version}" \
        'Suites: jami' \
        'Components: main' \
        "Architectures: ${arch}" \
        'Signed-By: /usr/share/keyrings/jami-archive-keyring.gpg' | sudo tee /etc/apt/sources.list.d/jami.sources >/dev/null
    else
      rm -f jami-archive-keyring.gpg
      printf 'Failed to download or install the Jami signing key.\n' >&2
      false
    fi
    ;;
  *)
    printf 'The Jami APT repository method currently supports Ubuntu 26.04, 24.04, or 22.04 on amd64.\n' >&2
    false
    ;;
  esac
  ;;
*)
  printf 'Set jami_channel to stable or nightly before adding the Jami repository.\n' >&2
  false
  ;;
esac

Print the source file before refreshing APT so you can confirm the channel and Ubuntu-specific path:

cat /etc/apt/sources.list.d/jami.sources
Types: deb
URIs: https://dl.jami.net/stable/ubuntu_26.04
Suites: jami
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/jami-archive-keyring.gpg

Inspect the saved signing key before refreshing APT if you want to confirm the local trust file:

gpg --quiet --show-keys --with-fingerprint /usr/share/keyrings/jami-archive-keyring.gpg
pub   rsa2048 2015-05-12 [SC]
      A295 D773 307D 25A3 3AE7  2F2F 64CD 5FA1 7534 8F84
uid                      Ring - Savoir-Faire Linux, Inc <ring@lists.savoirfairelinux.net>
sub   rsa2048 2015-05-12 [E]

Refresh package metadata and confirm that APT sees Jami from dl.jami.net:

sudo apt update
apt-cache policy jami | sed -n '/dl\.jami\.net/p'
        500 https://dl.jami.net/stable/ubuntu_26.04 jami/main amd64 Packages

Install Jami after the repository candidate appears. Review the package transaction before confirming, especially on reused desktop systems where APT may also install video, database, or Qt-related dependencies needed by the Jami desktop package.

sudo apt install jami

Verify the package set and terminal launcher:

dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package}\n' jami jami-daemon libqt-jami
command -v jami
ii  jami
ii  jami-daemon
ii  libqt-jami
/usr/bin/jami

The APT package also installs the desktop entry used by Ubuntu’s application menu:

grep -E '^(Name|Exec|Icon)=' /usr/share/applications/net.jami.Jami.desktop
Name=Jami
Exec=jami %u
Icon=net.jami.Jami

Install Jami with Snap

The Snap method is shorter because it does not add an APT source. Jami’s Snap Store setup note states that the GNU/Linux Snap is intended for 64-bit amd64 systems, and the Jami Snapcraft listing currently exposes stable and edge channels.

Ubuntu usually includes Snap support, but minimal or customized installs can be missing the command. Install snapd only when snap is unavailable:

command -v snap >/dev/null || sudo apt install snapd
sudo snap wait system seed.loaded

Install the stable Jami Snap for regular use:

sudo snap install jami

Install the edge channel instead when you want the Snap preview build:

sudo snap install jami --channel=latest/edge

If Jami is already installed as a Snap and you want to switch channels, refresh it onto the target channel:

sudo snap refresh jami --channel=latest/stable
sudo snap refresh jami --channel=latest/edge

Verify the installed Snap and its tracked channel without depending on a fast-moving version number:

snap list jami | awk 'NR == 1 {print $1, $4, $5} NR == 2 {print $1, $4, $5}'
Name Tracking Publisher
jami latest/stable sfljami

Launch Jami on Ubuntu

Launch Jami from the Ubuntu Desktop

Jami is a desktop application, so launch it from a logged-in graphical Ubuntu session. Open the Activities overview or application menu, search for Jami, and start the app from the launcher.

Start Jami from the Terminal

For an APT installation, you can also start Jami from a terminal emulator inside the desktop session:

jami

For a Snap installation, use the Snap runtime launcher when a fresh shell does not yet have Snap’s desktop path state:

snap run jami

Complete the First Jami Launch

On first launch, create a Jami account, import an existing account archive, or link another device. Ubuntu may also prompt for microphone, camera, notification, or keyring access depending on your desktop session and chosen package method.

After an account is active, the main window shows contact search, your Jami ID, tips, and account settings. That screen confirms the desktop client is ready for normal use.

Once this window appears, the install and launch path is complete. Keep the package source or Snap channel you chose in mind when you update or remove Jami later.

Update or Remove Jami on Ubuntu

Update Jami Installed with APT

APT manages updates for the stable or nightly repository you configured. Refresh metadata, then upgrade only Jami when you do not want a broader system upgrade:

sudo apt update
sudo apt install --only-upgrade jami

To switch between stable and nightly APT builds, set jami_channel to the channel you want, recreate /etc/apt/sources.list.d/jami.sources with the repository setup commands, refresh APT, and reinstall or upgrade jami. The package names remain the same; the source URI decides which channel APT follows.

Update Jami Installed with Snap

Snap refreshes Jami automatically, but you can request a manual refresh from the current channel:

sudo snap refresh jami

Use a channel flag when you want to move between stable and edge:

sudo snap refresh jami --channel=latest/stable
sudo snap refresh jami --channel=latest/edge

Remove Jami Installed with APT

Remove the Jami packages first, then remove the repository source and signing key:

sudo apt purge jami jami-daemon libqt-jami
sudo rm -f /etc/apt/sources.list.d/jami.sources /etc/apt/sources.list.d/jami.list /usr/share/keyrings/jami-archive-keyring.gpg
sudo apt update

Preview dependency cleanup before removing any automatically installed libraries. Reused desktops can have unrelated autoremovable packages, so review the list before confirming a real cleanup:

sudo apt autoremove --dry-run

If the preview lists only packages you no longer need, run the cleanup interactively:

sudo apt autoremove

Confirm that the Jami APT packages, source files, and signing key are gone:

dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package}\n' jami jami-daemon libqt-jami 2>/dev/null | grep '^ii' || echo "jami apt packages not installed"
for path in /etc/apt/sources.list.d/jami.sources /etc/apt/sources.list.d/jami.list /usr/share/keyrings/jami-archive-keyring.gpg; do
  if test -e "$path"; then
    printf '%s still exists\n' "$path"
  else
    printf '%s removed\n' "$path"
  fi
done
jami apt packages not installed
/etc/apt/sources.list.d/jami.sources removed
/etc/apt/sources.list.d/jami.list removed
/usr/share/keyrings/jami-archive-keyring.gpg removed

Remove Jami Installed with Snap

Remove the Jami Snap and its Snap-managed app data when you do not want a recovery snapshot:

sudo snap remove --purge jami

Verify that the Snap is gone:

snap list jami 2>/dev/null || echo "jami snap not installed"
jami snap not installed

Remove Local Jami Account Data

Package removal does not automatically erase local account data, received files, or profile state. Export or back up any Jami account and media you still need before deleting these paths. Preview matching paths first:

for path in "$HOME/.config/jami" "$HOME/.config/jami.net" "$HOME/.cache/Jami" "$HOME/.local/share/Jami" "$HOME/.local/share/jami" "$HOME/Videos/Jami" "$HOME/snap/jami"; do
  test -e "$path" && printf '%s\n' "$path"
done

If the preview lists only Jami data you no longer need, remove those paths for your current user account:

This cleanup deletes local Jami profiles, account configuration, cached data, and the default Jami videos directory for your user account. Do not run it unless you want a clean local profile.

rm -rf "$HOME/.config/jami" "$HOME/.config/jami.net" "$HOME/.cache/Jami" "$HOME/.local/share/Jami" "$HOME/.local/share/jami" "$HOME/Videos/Jami" "$HOME/snap/jami"

Troubleshoot Jami on Ubuntu

Fix APT Installing an Old Jami Package or Finding No Candidate

If APT offers an old Ubuntu archive package or no package at all, the official Jami source is missing, disabled, or pointing at the wrong channel. Check the candidate source first:

apt-cache policy jami

A working official source includes a dl.jami.net row similar to this:

        500 https://dl.jami.net/stable/ubuntu_26.04 jami/main amd64 Packages

If the row is missing, first confirm whether the source file exists. When it does, check the URIs:, Suites:, Architectures:, and Signed-By: fields before refreshing APT again:

if test -r /etc/apt/sources.list.d/jami.sources; then
  cat /etc/apt/sources.list.d/jami.sources
else
  echo "jami.sources is missing"
fi
sudo apt update

Fix Conflicting Stable and Nightly APT Sources

APT can complain about duplicate or conflicting Jami sources if older one-line source files remain beside the DEB822 source. Remove the Jami source files, refresh APT, then recreate only the channel you want:

sudo rm -f /etc/apt/sources.list.d/jami.sources /etc/apt/sources.list.d/jami.list
sudo apt update

After cleanup, add either stable or nightly, not both.

Fix Snap Command Not Found or Snapd Not Ready

If snap is missing on a minimal Ubuntu system, install snapd and wait for initial seeding before installing Jami:

sudo apt update
sudo apt install snapd
sudo snap wait system seed.loaded
snap version

If the desktop launcher is not immediately visible after a Snap install, log out and back in, or launch Jami directly with snap run jami from a terminal inside your desktop session.

Fix Jami Not Opening from SSH or a Text Console

Jami needs a graphical desktop session. A shell reached through SSH, a TTY, or a headless server often has no display variables, so the app cannot open a window.

printf 'DISPLAY=%s\nWAYLAND_DISPLAY=%s\n' "${DISPLAY:-unset}" "${WAYLAND_DISPLAY:-unset}"
DISPLAY=unset
WAYLAND_DISPLAY=unset

If both values are unset, return to a local Ubuntu desktop login and launch Jami from the application menu or a terminal emulator inside that session.

Conclusion

Jami is ready on Ubuntu with either APT-managed upstream packages or Snap Store refreshes. Keep the stable APT repository for the most predictable desktop setup, switch to nightly or edge only for testing, and remove the package source or Snap cleanly when you no longer need the client.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: