Procedure for installing and running the Signal desktop application on a FreeBSD by using FreeBSD’s built-in Linux Binary Compatibility. This procedure has been tested with Signal 5.26 through 5.50 (2022) on FreeBSD 13.0.
Signal, which is also known as Signal Private Messenger in Play Store on Android, is an instant messaging application, that has focus on privacy, but still has the features, you would expect from other instant messaging applications. The Signal desktop application is not available for FreeBSD, but is available for Debian-based Linux systems, such as Ubuntu. However, by using FreeBSD’s built-in Linux Binary Compatibility, the Signal desktop application can run directly on FreeBSD.
Enable FreeBSD’s built-in Linux Binary Compatibility.
If you have not already done so, then enable FreeBSD’s built-in Linux Binary Compatibility and install Ubuntu base system. This makes it possible for you to run Ubuntu and Debian based applications and binaries directly on FreeBSD. You can follow my guide in Install Ubuntu base system into FreeBSD’s Linux Binary Compatibility.
Confirm, that hostname and DNS is configured.
During installation of Signal and installation of the public keys, the hostname and DNS server must be configured and working. The hostname should automatically match the hostname of the host machine. Test this by using the built-in hostname and the host utilities.
# hostname biiigdesktop.mynetwork # host signal.org signal.org has address 188.8.131.52 signal.org has IPv6 address 2600:9000:2021:c400:13:5d53:5740:93a1
Install the Signal desktop application.
If not already started, then start the Ubuntu base system with its command script.
# service ubuntu start
Enter the Ubuntu base system chroot jail. This will restrict the following processes to the Ubuntu base filesystem.
# chroot /compat/ubuntu /bin/bash
Install applications, that is required for installing Signal.
/# apt update /# apt install -y apt-transport-https curl fonts-symbola gnupg pulseaudio wget
Install Signal’s public signing keys.
/# wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg /# cat signal-desktop-keyring.gpg | tee -a /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
Add Signal’s repositories.
/# echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | tee -a /etc/apt/sources.list.d/signal-xenial.list
Install the Signal desktop application with Ubuntu’s package manager.
/# apt update Get:1 https://updates.signal.org/desktop/apt xenial InRelease [2316 B] Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease Get:3 https://updates.signal.org/desktop/apt xenial/main amd64 Packages [13.0 kB] /# apt install signal-desktop Need to get 303 MB of archives. After this operation, 1408 MB of additional disk space will be used.
If you see an error message about libfprint and libpam-fprintd, then remove those packages and install Signal again.
Errors were encountered while processing: libfprint-2-2:amd64 fprintd libpam-fprintd:amd64 /# apt remove libpam-fprintd:amd64 libfprint-2-2:amd64 /# apt autoremove /# apt install signal-desktop
The package, version and maintainer of Signal can be confirmed by using the apt utility.
/# apt show signal-desktop Package: signal-desktop Version: 5.48.0 Maintainer: Signal Messenger, LLC <>
Exit the chroot jail.
Run Signal in FreeBSD.
You can now open Terminal and start the Signal desktop application with the following command. When you have linked this device to Signal on your smartphone, than your messages will be synchronized from the time of linking.
$ /compat/ubuntu/opt/Signal/signal-desktop --no-sandbox
You might want to create a launcher icon for launching Signal. You can see how in Create launcher icon in GNOME on FreeBSD.
Update Signal desktop application in FreeBSD.
If the Signal desktop application becomes too old, you will get a notification within Signal. Enter the Ubuntu base system chroot jail. This will restrict the following processes to the Ubuntu base filesystem.
# chroot /compat/ubuntu /bin/bash
Update list of packages for the package manager.
/# apt update Get:1 https://updates.signal.org/desktop/apt xenial InRelease [2315 B] Get:2 https://updates.signal.org/desktop/apt xenial/main amd64 Packages [9792 B] 1 package can be upgraded. Run 'apt list --upgradable' to see it.
Confirm, that there is an update for Signal.
/# apt list --upgradable signal-desktop/xenial 5.38.0 amd64 [upgradable from: 5.26.1]
Update the Signal desktop application with Ubuntu’s package management tool apt.
/# apt upgrade The following packages will be upgraded: signal-desktop Do you want to continue? [Y/n] y Get:1 https://updates.signal.org/desktop/apt xenial/main amd64 signal-desktop amd64 5.38.0 [115 MB] Preparing to unpack .../signal-desktop_5.38.0_amd64.deb ... Unpacking signal-desktop (5.38.0) over (5.26.1) ... Setting up signal-desktop (5.38.0) ...
Exit the chroot jail.
You have now updated Signal.
More about installing the Signal desktop application in FreeBSD.
Install Ubuntu base system into FreeBSD’s Linux Binary Compatibility by me. Signal for Desktop by Signal. FreeBSD Desktop – Part 27 – Configuration – Netflix Signal Telegram by vermaden. How to upgrade to new minor and major releases of FreeBSD by me.
Would you like to treat me a cup of coffee?
If you would like to treat me a cup of coffee, then please consider making a small donation to My Bitcoin (BTC) Address. It would be greatly appreciated.
This page was last updated 2022-08-02.