meta data for this page
Table of Contents
Fractal
Fractal is a Matrix messaging app for GNOME written in Rust. Its interface is optimized for collaboration in large groups, such as free software projects.
Scale to fit:
Phone Compatibility:
5 of 5 Points, fully optimized
How to install:
APT:
Fractal is not yet available at Debian repositories. It was wishlisted for Debian on 24 June 2020.
Flatpak:
Flathub: https://flathub.org/apps/details/org.gnome.Fractal
Command:
# You will need to trust and add the flathub repo in flatpak flatpak install flathub org.gnome.Fractal
Website:
Repo:
Matrix channel:
Known Issues:
Using the apt-version of Fractal doesn't remember login information. This is due to the way the Gnome Keyring works - will presumably be fixed in the future. As a workaround you can install Seahorse (Gnome Keyring UI)
sudo apt install seahorse
and create a new keyring named login. After that, Fractal will remember your login credentials.
Tips & Tricks
Fractal does currently not support E2E (see the issue in their bug tracker), so encrypted chatrooms are virtually inaccessible through this client. However, you can use Pantalaimon as a proxy-server to your Fractal client.
Pantalaimon works as the “good man in the middle”, between your client and the Matrix Server. It deals with de- & encryption and forwards the unencrypted messages to Fractal (or encrypted ones to the room). This also works with media.
Pantalaimon is a daemon, written in Python, that can directly run as a systemd process on Mobian.. The setup is a bit tricky however, and the Repository's notes do not go into great detail.
Setting up Pantalaimon
It's recommended to do this via SSH, as it involves a lot of copying and typing.
Install Pantalaimon
sudo apt install pantalaimon
Setting up Pantalaimon
Create a 'pantalaimon' folder in ~/.config
mkdir -p ~/.config/pantalaimon
and create a file pantalaimon.conf in that folder with the following content (make sure to exchange matrix.org with your actual homeserver:
[Default] # LogLevel = Debug SSL = True [local-matrix] Homeserver = https://matrix.org ListenAddress = localhost ListenPort = 8009 # UseKeyring = True # IgnoreVerification = True
Optional lines are commented out here (#).
Now you should be able to run pantalaimon by executing it pantalaimon
.
Optional: systemd service
Optional: In order to start pantalaimon automatically via systemd, copy the sample service file provided by the package (/usr/share/doc/pantalaimon/examples/pantalaimon.service
) into ~/.config/systemd/user/
.
Then execute the following commands to reload the systemd daemon and start the service:
systemctl --user daemon-reload systemctl --user enable --now pantalaimon.service
Log In
In Fractal, set your homeserver to http://localhost:8009
(if you set a different ListenPort, you need to adjust it here, too) and login with your username and password. To access encrypted messages from other devices/sessions, you will need to establish trust on your other logged in Matrix clients.
Troubleshooting: CPU spikes
When using Pantalaimon through the systemd service, it is always running in the background, even if you do not actively using Fractal (or any other Matrix client). This can become a CPU hog, if you receive a lot of encrypted messages or media and drain your battery. There is no concrete solution to this, but you can work around it by limiting the CPU power dedicated to the Pantalaimon process:
Install the cpulimit tool:
sudo apt install cpulimit
Edit your systemd service file, described above to:
[Unit] Description=Pantalaimon E2E Matrix reverse proxy [Service] ExecStart=/usr/bin/cpulimit --limit=25 --lazy --foreground -- /usr/bin/pantalaimon [Install] WantedBy=default.target
Then reload the systemd daemon and restart the service:
systemctl --user daemon-reload systemctl --user restart pantalaimon.service