Private Conversations

Article from Issue 233/2020

The messenger app Jami offers clients for all popular operating systems and promises maximum anonymity for chats, as well as voice and video calls, by dispensing with central servers.

AOL, ICQ, MSN – the list of these once extremely popular messengers could be extended considerably. Today they are consigned to internet history, although some online providers still try to sell especially short or easy to remember ICQ numbers for thousands of US dollars.

But the world today uses WhatsApp. Over 1.5 billion users use this messenger, which Facebook acquired in 2014 for $19 billion [1]. Away from the mainstream, smaller messengers such as Wire, Signal, and Telegram have carved out a niche for themselves. At the top of the list of reasons why users choose one of these alternatives is the desire for more privacy.

Most messengers require central servers in the background, and this, in turn, means registering with your email address or phone number. This is not true for the open source Jami. In a similar approach to BitTorrent, the Jami messenger uses a distributed hash table to set up its own network and can therefore do without central registration [2]. You only need to register with the service if you want to have a unique username that can be found using the messenger's search function – but this does not mean supplying any personal data. Jami is available for Linux, Mac OS X and Windows, as well as for smartphones with Android [3] and iOS [4], and TV sets with Android TV.


The developers provide installation files and package sources for Fedora, Debian, and Ubuntu. Listing 1 shows you how to install Jami on Ubuntu 19.04; instructions for other distributions can be found on the project's website [5].

Listing 1

Install Jami on Ubuntu 19.04

$ echo 'deb https://dl.jami.net/ring-nightly/ubuntu_19.04/ ring main' | sudo tee -a /etc/apt/sources.list.d/ring-nightly-main.list
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A295D773307D25A33AE72F2F64CD5FA175348F84
$ sudo add-apt-repository universe
$ sudo apt update
$ sudo apt install ring

If you don't want to add a package source to your system right away, you can also pick up deb packages for Ubuntu (16.04 to 19.04) and Debian 9 and 10. However, at the time of writing, the links to the 32-bit version of the program pointed into a black hole. Users of Arch Linux will find the program, dubbed jami-gnome here, directly in the distribution's repositories.

After the install, you can load the program by selecting the Jami entry in the application menu. Jami will not work without a user account; you can create one by clicking on Create local account. You can also choose to restore an account that was saved previously (Figure 1). Click on Advanced… for the option to create a SIP account, (see the "Jami Today" box).

Figure 1: On the first launch, you will need to create a new Jami account, but you do not need to prove your identity to the service with an email address or a mobile phone number.

In the screen that then appears, Jami asks you to enter a profile name. You can enter an image that can also be captured directly via webcam (Figure 2). You can protect the account against unauthorized access with a password. Whether or not you register a username is up to you. With a Jami account, you can claim a unique and freely selectable username that gives other Jami users the ability to find you using the program's search function. However, the messenger does not store anything else in the account; the operator cannot log chats or your contact list. Communication is also encrypted end-to-end and therefore protected against sniffing by third parties.

Figure 2: Anyone who wants to can remain completely anonymous with Jami. The Register username option is only there to help other people find you through the search feature.

First Chats

At first, Jami shows you very little in the main window. The sidebar contains a search function and, later on, your saved contacts. In the middle, you will find your Jami username – if you use one – or your ID in the form of a cryptic combination of letters and numbers.

To contact friends or acquaintances, you need to get their IDs or just their usernames. If your contact uses Jami on a smartphone, you can alternatively set up the connection using a QR code, which you call up using the button next to the ID (or name) and then scan it using the Jami mobile app.

When the first message appears, you are asked if you want to accept the contact. From now on, the chat will appear in the sidebar. If your contact uses a Jami account, you will find the chat under that username. Otherwise Jami will only show the cryptic ID; the chat cannot be renamed as yet.

In addition to text-only messages, Jami supports sending files and audio and video conversations with two or more participants in resolutions up to 4K (Figure 3). In the latest version, Jami also gives users the ability to send audio and video messages, much like WhatsApp.

Figure 3: Jami supports audio and video chats, and video chats with multiple callers. The number of callers is only restricted by the bandwidth of the call initiator's Internet connection.

Another new feature of the revised version is support for transferring your own desktop. To do this, start a video call and then right-click on the image. In the context menu you can then choose between sharing a screen section and sharing the entire screen. On Linux, however, screen sharing only works in combination with the X server. Users with Wayland will first need to switch to the classic Linux desktop.

You also have the option to transfer a video file by selecting the Import file menu item. The More Information option provides statistics and details, such as the frame rate or the audio and video codecs used.


Jami hides all settings options behind the gear icon that you find next to the account name in the application's header bar. Go to General and you can then configure, say, whether Jami always starts automatically when you power on the system, and which events it should notify you about. In Media, you can define the audio and video devices to be used along with the webcam resolution for video chats. This is also where you enable hardware acceleration.

In everyday use, the last tab, Account, turns out to be the most important. This is where you register a Jami username, define an image for the account, and temporarily deactivate or reactivate the account (Figure 4). You will also want to export the account, because a backup of this type is the only way to restore an existing account when you install a new system.

Figure 4: A Jami account can be used on multiple devices. However, because the service does not store messages centrally, you will not see the same message history everywhere.

In the lower section of the dialog, Jami offers the option to use the active account on multiple devices, such as a smartphone or a second PC. To do this, select Link another Device and enter the password for the account in the following screen. Click on Export to network to initiate the connection. Jami will then generate a PIN in the form of an abbreviation like nix66ilp. Note that you need to complete the next step quickly, as the PIN code expires after a few minutes.

Now create a new account on the second device, but select the option Import from device. Then enter the Password and the previously created PIN. You will now see the previously created contacts on the second device, too, and will be able to start chats. Since Jami only stores the chat history locally, and not on a central server, you will only see the conversations that took place on the individual device. There is also no archive of the previous chats.

In practice, this means that you will automatically receive incoming messages on all connected devices. However, you will only ever see your replies on the device on which you wrote them. So you can't seamlessly switch between two devices with Jami. Data synchronization across multiple devices would require a central storage location, which Jami deliberately avoids in favor of privacy.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Tox

    The Tox protocol uses file-sharing techniques for messaging and audio-video chats, which gives users a greater degree of privacy and freedom.

  • MOFO Linux

    Controls, surveillance, and censorship are increasing rapidly on the Internet. MOFO Linux lets you anonymize your communication on the web with an easy-to-use live system.

  • Ring Secure Communication

    In the last few years, secure text, voice, and video transmission have become major areas of free software development. One of the leaders in this field is Ring.

  • Matrix

    One tool to rule all online communication: one tool to find them, one tool to bring them all in, and the Matrix to bind them. An open standard for decentralized communication enters the scene.

  • New Graphical Interface for Ubuntu on ARM

    Linux is the operating system of choice for devices with ARM processors. Unfortunately problems with graphics appear in most cases. Ubuntu wants to fix this with a new GUI.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More