This guide has been tested with Tails OS versions 6.11 and will not work on Tails 5.xx, so please make sure you are using an up to date Tails OS.
This howto uses Flatpak to install Signal and keep it confined.
Notes:
- Many steps happen in the Terminal. To paste content in the terminal, either right-click in the terminal and choose Paste, or use CTRL-SHIFT-V (not CTRL-V).
- Do NOT use the Root Terminal or instructions won't work!
- A working internet connection is required at every step of the howto.
- The packages included in Tails are carefully tested for security. Installing additional packages might break the security built in Tails, so be careful with what you install.
Configure Persistent Storage
If you want to use Signal Desktop only once and lose everything after shutdown/reboot skip to section Install.
If you want to keep Signal Desktop persistent, we need to set up the persistent storage accordingly:
- Create Persistent Storage and keep the default features enabled. You may enable other options for your other needs
- Start Tails with an administration password
- Choose Applications ▸ Utilities ▸ Terminal
- Enter this line in the terminal and press Enter to setup persistent storage for Flatpak:
sudo sed -i '$ a /home/amnesia/.local/share/flatpak source=flatpak\n/home/amnesia/.var/app source=var_app\n/home/amnesia/.local/share/applications source=applications' /live/persistence/TailsData_unlocked/persistence.conf
- Restart Tails with an administration password set
Install Flatpak
- Start your Tails with persistent storage unlocked and an administration password set
- Choose Applications ▸ Utilities ▸ Terminal
- Enter this line in the terminal and press Enter to install Flatpak:
sudo apt update && sudo apt install -y flatpak
- When asked whether to add the packages to the persistent storage, choose Install every time as explained here
- Enter this line in the terminal and press Enter to add the Flathub repository to Flatpak:
torsocks flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install Signal Desktop
- If the Terminal is not open, choose Applications ▸ Utilities ▸ Terminal
- Enter this line in the terminal and press Enter to install Signal Desktop:
torsocks flatpak install -y flathub org.signal.Signal
- Enter this line in the terminal and press Enter to tell Signal Desktop to use Tor:
flatpak --user override --env=HTTP_PROXY=socks5://127.0.0.1:9050 org.signal.Signal && flatpak --user override --env=HTTPS_PROXY=socks5://127.0.0.1:9050 org.signal.Signal
- Enter this line in the terminal and press Enter to make the Desktop launcher available (it will not use the Signal Desktop icon but a generic one):
ln -s ~/.local/share/flatpak/exports/share/applications/org.signal.Signal.desktop ~/.local/share/applications/
- If you haven't done it already while installing another Flatpak from this HowTo, create a Desktop shortcut for conveniently updating and uninstalling unused Flatpak managed applications, executing the following in the terminal:
echo -e '[Desktop Entry]\nType=Application\nName=Flatpak-Update-Uninstall-unused\nExec=bash -c "/usr/bin/torsocks /usr/bin/flatpak update -y && /usr/bin/flatpak uninstall --unused -y"\nTerminal=true\nCategories=Network\nStartupWMClass=flatpak\nKeywords=flatpak;update;uninstall;unused' | tee ~/.local/share/applications/Flatpak-Update-Uninstall-Unused.desktop
- Close the terminal
Start Signal Desktop
- Start Tails with persistent storage unlocked
- Wait until additional software is installed successfully
- Go to Activities Overview, type
Signal
and press Enter to start Signal Desktop. The icon is a generic one, not Signal official icon. - Link to a device or with signal-cli (terminal) and enjoy :)
Enable Microphone and Camera
- Open menu Files ▸ Preferences
- Check Allow access to the microphone
- Check Allow access to the camera
- Close Signal Desktop Preferences window
Provisioning
- Starting signal-desktop for the first time or after it has been unlinked by master or after 1 month of inactivity, you need to link your Signal with the master device.
- If your master Signal device is running Android or iOS, follow the official guide: https://support.signal.org/hc/en-us/articles/360007320551-Linked-Devices if the master is signal-cli, follow the guide on linking signal-cli with signal-desktop on Tails
Captcha Verification when rate limited
Using Signal Desktop via tor increases the chance of getting rate limited when sending messages to new contacts.
- If you get asked for Verify to continue messaging, click on
Continue
and after a while Tor Browser comes up with a Captcha to solve - Solve the captcha. A link
Open Signal
appears. Right-click the link and choose "Copy Link" - Open a Terminal, paste the following, and don't press enter (note the trailing single-quote):
flatpak run org.signal.Signal '
'
, then press Enter. - The Signal Desktop window should show up and a small notification confirming the captcha should appear on the bottom left of the window.
- Pending messages should end up being sent. You may be asked to solve a Captcha again… Sometimes restarting Signal Desktop helps as well.