When you switch to Linux, you make your digital life significantly more private. The vast majority of Linux distributions do not track or record what you do on your computer. But if you install one of the regular chat apps on your Linux machine, you’re still giving a company a record of your face-to-face conversations.
To keep your communication similar to what you do on your PC, you need an encrypted chat app. Fortunately, there are many options to choose from with Linux support, all of which also have a compatible mobile app.
Signal is arguably the most popular and accessible encrypted messaging app. With Signal, you can send instant messages, images, files, recorded audio clips and videos. You can also participate in video calls. Its feature set and ease of use make it arguably the best secure messaging app for most people.
Signal is primarily a mobile app, but the desktop client retains most of the functionality. The catch is that you need to have Signal installed on a mobile device first. Then activate Signal on your Linux desktop by linking it to your mobile app. Once activated, you don’t need to touch Signal on your phone unless it’s time to reinstall Signal or move it to another PC.
The Signal desktop app, like many other communication platforms, is an Electron app, so it’s not the lightest on system resources. Signal also requires a phone number for registration, a step some privacy-conscious users are uncomfortable with.
to download: Signal
If you described Session as Signal without the downsides, you wouldn’t be far off. Session offers a similar experience and functionality to Signal, but you don’t need to register a phone number to use the software. This means even less metadata is available for anyone to access.
The lack of a phone number requirement also makes Session easier to use as a desktop Linux app. You do not need to install the mobile version first. You can download Session, create a username and start chatting.
So, what’s the downside? Registering with a phone number is part of what makes Signal so accessible, making it easier to convince friends and family to use it. There are simply more people using Signal than Session. You may want to use Session, but are sitting at your computer with no one to talk to. Unfortunately, this is hardly a problem limited to Session.
to download: Session
When you use a centralized communication platform, you put your eggs in one basket. If the service drops, you’re out of luck and have to look for an alternative.
XMPP provides protection against this fate. XMPP is a protocol rather than a platform. In other words, it builds an instant messaging infrastructure similar to the way email works. With email, you can create an account with one provider and still send an email to anyone registered with another provider.
As great as Gmail is, if Gmail disappeared, email would still exist. With XMPP, if a provider leaves, you can create an account with a new provider and continue sending messages to all your previous contacts. Likewise, you are not dependent on one particular app. You can use any XMPP client to log in to your account, just like you can use any email client to check your email.
XMPP is not encrypted by default, but you can choose to add encryption using OMEMO or PGP. At that point, XMPP becomes a very personal way to chat with others from your Linux PC. The XMPP protocol has gained many features over the years, meaning you can now make audio or video calls or send files. Chances are you’ve used XMPP in the past without realizing it. Google Talk and Facebook Messenger both used XMPP initially.
There are several XMPP clients available for Linux, so links to a few are listed below.
to download: dinosaur
to download: Gajim
The previous chat clients are primarily for one-on-one chats, but all support group chats as well. Wire is different. The target group is not individuals, but teams. Think of Wire as an alternative to Slack and Zoom. It’s an open-source, end-to-end encrypted way to handle the communication and collaboration your team may need to work across locations.
Part of Wire’s appeal isn’t just its private messaging and video conferencing. It is also the ability to manage team members, with all the tools for registering and onboarding new accounts. You have control over who sees your team’s communications and who doesn’t.
Wire, the organization, targets the app for corporate, government, and other business uses. But the code is all available for free on GitHub. You can download the free version of Wire and host it on your own hardware or virtual private server. Or you can stick to Wire’s servers if that all sounds too complicated.
to download: Wire
Like XMPP, Matrix is not one platform or service. It is a federated approach to messaging that allows anyone on one server to message and communicate with anyone on another, as long as they use the Matrix protocol.
Matrix is a newer standard than XMPP and comes with a set of features that are more in line with what newer chat apps offer. Think Signal mixed with Discord or Slack.
The Matrix standard makes apps feel more modern. It was designed as a replacement for XMPP and built from the ground up to better support the way many of us have become accustomed to interacting on the web. On the other hand, Matrix is not that mature. That doesn’t mean it isn’t stable and reliable, but it isn’t as battle-tested or battle-hardened.
As a protocol, there is no app called “Matrix” that you can download. Instead, you can choose which customer appeals to you the most. The Element app is widely used and is available as an Electron app for Linux. But if you want a more native app for your desktop environment, some of them are also available.
to download: Element
to download: fluffy chat
to download: nheko
to download: fractal
Be it centralized or federated, all the apps mentioned above need servers. Jamie is the exception. Jami is a peer-to-peer approach to messaging. This is the same technology behind torrent sharing. Your message goes from your device to the recipients, without a server in the middle keeping a copy.
Jami does not need a phone number or other personal information to create an account. An advantage of the approach is that it does not even require an internet connection. If people are on the same local network, they don’t need to be connected to the Internet to send messages to each other. This allows you to use your computer for messaging while still keeping your communications within the walls of the building you are in.
As part of the GNU project, with support from the Free Software Foundation, Jami has some of the highest credentials for free software.
to download: jami
Keep your words to yourself
Many apps today advertise encryption or even end-to-end encryption, but their implementation means there are security gaps. And if a platform is owned, there is ultimately no way to verify that it is as secure as it promises. You can connect to Discord, WhatsApp, Facebook Messenger and the like on your Linux PC, just don’t think your messages are private or secure.
But there are many ways to chat without turning those conversations over to companies. And you can extend that same privacy to email too.