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.
- Install Chromium through GNOME Software or with
apt install chromium
- Create an empty profile folder at
- (Optional) Launch
chromium --user-data-dir="/home/username/.config/chromium_matrix"and configure Chromium to your liking
- Create a new desktop file at
- (Optional) Create a new icon at
- In GNOME Shell, show applications
- Launch the new “Matrix Chat” application
[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
- You must give the full path to
- If you’re using a different homeserver, replace
- If you make your own icon, change
- 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!