- Install Signal for Desktop.
- When you open Signal, you’ll be asked to Link your phone to Signal Desktop and there will be QR code. Take a screenshot of this QR code and save is as a file. Keep your Signal app open all the time.
- Decode QR code using some tool i.e. qreader.online. You should obtain tsdevice URI which looks like this:
tsdevice:/?uuid=1111111111111&pub_key=111111111111111111111. - If you have Docker installed on your machine you can execute below commands in the terminal on your local machine. Otherwise you can use some online tools like katacoda.com/courses/ubuntu/playground (without login) or labs.play-with-docker.com (Docker account required) or something else.
- Start Ubuntu instance.
Code language: Bash (bash)docker run --rm -it ubuntu:latest /bin/bash

- Below command will install Java and signal-cli.
apt update &&
apt install -y openjdk-14-jdk-headless &&
apt install -y wget &&
wget https://github.com/AsamK/signal-cli/releases/download/v0.7.2/signal-cli-0.7.2.tar.gz &&
tar -zxvf signal-cli-0.7.2.tar.gz &&
cd signal-cli-0.7.2/bin
Code language: Bash (bash)

- Don’t forget to replace +447777777777 with your number.
export NUMBER=+447777777777
./signal-cli -u $NUMBER register
Code language: Bash (bash)
- If it’s mobile number you should receive sms saying SIGNAL: Your code is 111-111. Otherwise you’ll get a call. Replace 111-111 with your code below.
./signal-cli -u $NUMBER verify 111-111
Code language: Bash (bash)
- Finally you’re ready to link your Desktop app. Don’t forget to replace tsdevice URI with the one you obtained from your QR code.
./signal-cli -u $NUMBER addDevice --uri "tsdevice:/?uuid=1111111111111&pub_key=111111111111111111111"
Code language: Bash (bash)
- Happy days! Your app should be linked!
Environmental cleanup
rm ~/.local/share/signal-cli/data/$NUMBER
exit
Code language: Bash (bash)
All done!