Skip to contentMinimalist version of this page

Install Signal on a RPI

How to install Signal (the messaging app) on a Raspberry PI running Raspbian.

Install SCli, signal-cli, Java 17, find a arm build of signal-libs and apply it to SCli.

Prerequisite

sudo apt install zip fonts-noto-color-emoji qrencode xclip
pip install urwid-readline
pip3 install urwid

Create a Signal folder

mkdir ~/signal
cd ~/signal/

Install SCLI

git clone https://github.com/isamert/scli

Install Signal-CLI

Find the number of the latest version here and replace it below :

export VERSION="0.11.5.1" # Replace the version number here
wget https://github.com/AsamK/signal-cli/releases/download/v"${VERSION}"/signal-cli-"${VERSION}"-Linux.tar.gz
sudo tar xf signal-cli-"${VERSION}"-Linux.tar.gz -C /opt
sudo ln -sf /opt/signal-cli-"${VERSION}"/bin/signal-cli /usr/local/bin/

Install JAVA 17

wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_arm_linux_hotspot_17.0.1_12.tar.gz
tar xzfv OpenJDK17U-jdk_arm_linux_hotspot_17.0.1_12.tar.gz
sudo nano ~/.bashrc

Add this at the end of the .bashrc file:

export PATH=$PWD/signal/jdk-17.0.1+12/bin:$PATH

Check the installation : The command below must display version 17 and the contents of Signal CLI

java -version
sudo ls /opt/signal-cli-"${VERSION}"/

Find the libsignal version number used by Signal-cli with this command :

sudo ls /opt/signal-cli-"${VERSION}"/lib/libsignal-client-*

This should return this kind of info :

> /opt/signal-cli-“${VERSION}”/lib/libsignal-client-0.21.1jar

You can then replace the version in the command below and run it.

export VERSION_LIB_SIGNAL="0.21.1" # Remplace the version number here

Go on signal-libs-builds to download the build libsignal-client for armv7 in the correct version (or take the last available one) with your web browser.

Extract the content of the archive (a file named libsignal_jni.so) and put it in the directory ~Downloads for example

cd ~/Downloads/
sudo zip -d /opt/signal-cli-"${VERSION}"/lib/libsignal-client-"${VERSION_LIB_SIGNAL}".jar libsignal_jni.so
sudo zip -uj /opt/signal-cli-"${VERSION}"/lib/libsignal-client-"${VERSION_LIB_SIGNAL}".jar libsignal_jni.so

At this point, the installation is over!

Linking an existing device

Replace nicopi in the command below with the name of your device. This will be visible on your Signal app on mobile.

signal-cli link -n "nicopi" | tee >(xargs -L 1 qrencode -t utf8)

Scan QRCODE on the phone.

Optional

Configure the terminal to use fonts-noto-color-emoji (to see the emojis). But it can work without.

Let’s go!

~/signal/scli/scli --save --color=high

Main keyboard shortcuts

  • y on a message to copy a message
  • D on a message to delete a message for everyone
  • e on a message to put a reaction on a message
  • Message :a /path/image.jpg My message to add an image
  • Message :c to paste the clipboard, even an image
Last update :
Did you know ? I have absolutly no mean to know if your read this blog post or not. I respect your privacy too much to install any kind of analytic tracker or some cookie sh*t. So.. if you want to let me know you read it and (dis)like it, you'll have to leave a comment below !
Would you like to comment ?
About yourself
You're not a naughty spammer bot, are you ?
Minimalist version of this pageGo to top