Objective

Install the Riot desktop Matrix client on Debian/Ubuntu.

Distributions

Recent versions of Debian or Ubuntu

Requirements

A working install of Debian or Ubuntu

Difficulty

Easy

Conventions

  • # - requires given command to be executed with root privileges either directly as a root user or by use of sudo command
  • $ - given command to be executed as a regular non-privileged user

Introduction

Matrix is an up-and-coming chat protocol that provides a real alternative to proprietary solutions like Slack. Unlike Slack, Matrix is free, open source, and completely decentralized. With Matrix, you own your chat.

Because Matrix is just a protocol, there are a variety of client implementations. The most widely used and well-polished is Riot.

Riot is usable as a web app, but it's much more convenient to use chat applications from the desktop. Recognizing that, the Riot devs provide a Debian package repository for easy download and maintenance on your Debian-based Linux desktop.

Add The Repository

Like any Debian repository, you need to add it to your /etc/apt/sources.list file. Open it with your favorite text editor, and add in the line below.
deb https://riot.im/packages/debian/ stretch main
That example is for Debian Stretch. Replace "stretch" with the name of your distribution. For example, if you're using Ubuntu 17.04, you'd write "zesty."

Get The Key

Like with any other Debian repository, you need to add the associated GPG key to Apt. You can grab it directly with wget.
$ cd Downloads
$ wget https://riot.im/packages/debian/repo-key.asc
Then, import it into Apt.
$ sudo apt-key add repo-key.asc

Update And Install Riot

With the key and repository in place, you can update Apt and install Riot.
$ sudo apt update
$ sudo apt install riot-web

Using Riot

Riot home screen

When you open up Riot for the first time, you'll be greeted with a screen that lists some of the basic rooms that are available on the main Matrix server to join. There is a slide-out menu on the side with additional navigation options.

Riot room listing

When you pull out the menu, at the top there are a couple of login buttons. At the bottom are buttons that allow you to navigate to different rooms. In order to interact with the rooms, you need to register an account.

Riot registration

There are different accounts for different servers. By default, when you click on the registration button, it will set you up for the default server. If you want to join a different server or you made your own, you can click on the radio buttons at the bottom of the form to set that up instead.

After you're registered, you can return to the room directory and join whichever room you choose. The interface is very similar to previous chat clients going back decades, so nothing should be too difficult to pick up.

Closing Thoughts

Riot is an excellent way to get started with Matrix, and Matrix is an even better way to get away from proprietary chat systems like Slack. While the Matrix ecosystem is still very young, it is growing, so you can expect continued development.

If you're looking for something more private, you can always set up your own Matrix server and use Riot as a client for that. Clients are interchangeable thanks to Matrix being a unified set of protocols.