Installing Signal Desktop on Fedora 37

The team at Signal supports Linux! Yay!

Unfortunately they only support debian-based distributions, so for those of us who need to install it on Fedora, we are usually told that we must find the appropriate RPM package or else we’re out of luck. That just doesn’t seem very Linuxy to me, so I figured it out for myself.

First. Where to find the latest deb package for Signal? The only instructions for installing Signal onto a Linux desktop come from here (https://signal.org/en/download/linux/). There is no download link for the deb package, just apt-get instructions. What to do?

First, run this command in your terminal to get a listing of all of the packages in the Signal repository…

curl https://updates.signal.org/desktop/apt/dists/xenial/main/binary-amd64/Packages.gz | zcat | grep Filename | sed 's_Filename: _https://updates.signal.org/desktop/apt/_'

This will return a list of all of the Signal deb packages that are available. At the top of the list is the most current. At the time I am writing this, it is version 6.1.0 for AMD_64. The link is (https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_6.1.0_amd64.deb). If you are wanting that version then just use the link above. If this article is getting old then run the curl command above to get the latest list and find the url you need.

Once you have downloaded the deb package, run this command in your terminal to install an application called “Alien”.

$ sudo dnf install alien

Alien is a tool that converts deb packages into rpm packages. More information is here (https://joeyh.name/code/alien/)

Once alien is installed navigate to the directory where you downloaded the Signal deb package and run this command…

sudo alien -rgv ./signal-desktop_6.1.0_amd64.deb

If alien runs, there will be a new directory called signal-desktop-6.1.0 created. CD into that directory…

cd signal-desktop-6.1.0

And run …

sudo sed -i 's/Summary:/Summary: signal-desktop/' signal-desktop-6.1.0-2.spec

This will add some metadata to the unpackaged signal app. Then run rpmbuild in order to build the new RPM file…

sudo rpmbuild --target=x86_64 --buildroot $PWD -bb signal-desktop-6.1.0-2.spec

When it’s finished you should have a newly packaged RPM file ready to install. To check it, CD back up one level, $ cd ../ and see if its there. If it is, then you can install it like this…

sudo dnf install ./signal-desktop-6.1.0-2.x86_64.rpm

Note: The installed Signal app has a dependency conflict with Slack, so if you need to have Slack and Signal installed at the same time, then you’ll have to compile Signal from source in order to use it. The directions fo that are here: https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md


Leave a Reply

Your email address will not be published.