User story: I am an everyday user. I want to use the Matrix chat protocol, so that my communication is secure and I can access it from multiple devices.
Problem: I’ve been using a browser-based website as a client, but I frequently lose keys even though I’m using the same browser on the same device. How can I set up a reliable chat client?
Options: This can be caused by losing browser session data. Also, don’t sign out of your Matrix session! It’s probably easiest to switch from your browser interface to a dedicated client. There is no perfect solution yet. Your options include:
- Riot Desktop. A Matrix client for the GNU/Linux desktop (see details in second post) with minimal GNOME Shell integration.
- Revolt. A Matrix client with better GNOME Shell integration. Doesn’t (yet) support WebRTC, which means no voice/video calls.
- Dedicated GNOME Web app. Visit the site and pick “Install site as a web application…” Doesn’t (yet) support WebRTC.
- Dedicated PureBrowser profile. Create a new browser profile, configure it to always keep history/cookies, and use it exclusively for Matrix chat. This will “feel” more like a browser than a dedicated client. (Apparently it might be possible to address this with a “kiosk mode”.)
- Dedicated Chromium app. Create a new browser profile, configure it to keep history/cookies, launch it as an app. Will “feel” more like an application, although it doesn’t have GNOME Shell integration.
In this how-to, we’ll step through the last option.
Steps
- Install Chromium through GNOME Software or with
apt install chromium
- Create an empty profile folder at
~/.config/chromium_matrix
- (Optional) Launch
chromium --user-data-dir="/home/username/.config/chromium_matrix"
and configure Chromium to your liking - Create a new desktop file at
~/.local/share/applications/matrix_chat.desktop
(details below) - (Optional) Create a new icon at
~/.local/share/applications/icons/matrix_chat.png
- In GNOME Shell, show applications
- Launch the new “Matrix Chat” application
matrix_chat.desktop
[Desktop Entry]
Type=Application
Name=Matrix Chat
StartupNotify=true
Icon=polari
Exec=chromium --user-data-dir="/home/username/.config/chromium_matrix" --app="https://riot.im/app/#/home" --class=matrix_chat
Comment=Dedicated client for Matrix chat
Categories=Network;
Terminal=false
StartupWMClass=matrix_chat
Keywords=matrix,riot,chat
Notes:
- You must give the full path to
/home/username/.config/chromium_matrix
- If you’re using a different homeserver, replace
https://riot.im/app/#/home
- If you make your own icon, change
Icon=polari
toIcon=matrix_chat
- The desktop filename, “class” and “StartupWMClass” must match, together these options tell GNOME to treat your application as a standalone window (for example, when alt-tabbing)
If you have any feedback on this how-to, please post comments below!