Because the topic comes up every now and then, I thought I’d write down how to install and run Signal on Tails. These instructions are based on the 2nd Beta of Tails 4.0 - the 4.0 release is scheduled for October 22nd. I’m not sure if these steps also work on Tails 3.x, I seem to remember having some problems with installing flatpaks on Debian Stretch.
The first thing to do is to enable the Additional Software feature of Tails persistence (the Personal Data feature is also required, but that one is enabled by default when configuring persistence). Don’t forget to reboot afterwards. When logging in after the reboot, please set an Administration Password.
The approach I use to run Signal on Tails is using flatpak, so install flatpak either via Synaptic or via commandline:
sudo apt install flatpak
Tails then asks if you want to add flatpak
to your additional software and I
recommend doing so. The list of additional software can be checked via
Applications → System Tools → Additional Software. The next thing you
need to do is set up the directories- flatpak
installs the software packages
either system-wide in $prefix/var/lib/flatpak/
[1] or per user in
$HOME/.local/share/flatpak/
(the latter lets you manage your flatpaks without
having to use elevated permissions). User specific data of the apps goes into
$HOME/.var/app
. This means we have to create directories on our Peristent
folder
for those two locations and then link them to their targets in /home/amnesia
.
I recommend putting these commands into a script (i.e.
/home/amnesia/Persistent/flatpak-setup.sh
) and making it executable (chmod +x /home/amnesia/Persistent/flatpak-setup.sh
):
#!/bin/sh
mkdir -p /home/amnesia/Persistent/flatpak
mkdir -p /home/amnesia/.local/share
if ! file /home/amnesia/.local/share/flatpak | grep -q 'symbolic link'; then
rm -rf --one-file-system /home/amnesia/.local/share/flatpak
ln -s /home/amnesia/Persistent/flatpak /home/amnesia/.local/share/flatpak
fi
mkdir -p /home/amnesia/Persistent/app
mkdir -p /home/amnesia/.var
ln -s /home/amnesia/Persistent/app /home/amnesia/.var/app
Now you need to add a flatpak remote and install signal:
amnesia@amnesia:~$ torify flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
amnesia@amnesia:~$ torify flatpak install flathub org.signal.Signal
This will take a couple of minutes.
To show Signal the way to the next whiskey bar through Tor the HTTP_PROXY
and HTTPS_PROXY environment variables have to be set. I recommend again to put
this into a script (i.e. /home/amnesia/Persistent/signal.sh
)
#!/bin/sh
export HTTP_PROXY=socks://127.0.0.1:9050
export HTTPS_PROXY=socks://127.0.0.1:9050
flatpak run org.signal.Signal
Yay it works!
To update signal you have to run
amnesia@amnesia:~$ torify flatpak update
To make the whole thing a bit more comfortably, the folder softlinks can be
automatically created on login using a Gnome autostart script. For that to work
you have to have the
Dotfiles
feature of Tails enabled. Then you can create a
/live/persistence/TailsData_unlocked/dotfiles/.config/autostart/FlatpakSetup.desktop
file:
[Desktop Entry]
Name=FlatpakSetup
GenericName=Setup Flatpak on Tails
Comment=This script runs the flatpak-setup.sh script on start of the user session
Exec=/live/persistence/TailsData_unlocked/Persistent/flatpak-setup.sh
Terminal=false
Type=Application
By adding
/live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/Signal.desktop
file to the dotfiles
folder, Signal also shows as part of the Gnome
applications with a nice Signal icon:
[Desktop Entry]
Name=Signal
GenericName=Signal Desktop Messenger
Exec=/home/amnesia/Persistent/signal.sh
Terminal=false
Type=Application
Icon=/home/amnesia/.local/share/flatpak/app/org.signal.Signal/current/active/files/share/icons/hicolor/128x128/apps/org.signal.Signal.png
-
It is also possible to configure additional system wide installation locations, details are documented in flatpak-installation(5) ↩︎
tails signal debian