Hello! We are running our annual fundraising. Please consider making a donation if you value this freely available service or want to support people around the world working towards liberatory social change - https://riseup.net/donate
_This guide has been tested with Tails OS versions **6.0** and will not work on Tails 5.xx, so please make sure you are using an [**up to date Tails** OS](https://tails.net/doc/upgrade/)_.
_This guide has been tested with Tails OS versions **6.6** and will not work on Tails 5.xx, so please make sure you are using an [**up to date Tails** OS](https://tails.net/doc/upgrade/)_.
*This howto uses [Flatpak](https://flatpak.org) to install Signal and keep it confined.*
*This howto uses [Flatpak](https://flatpak.org) to install Signal and keep it confined.*
**Notes**:
**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).
* 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!
***Do NOT use the _Root Terminal_** or instructions won't work!
* A working **internet connection is required** at every step of the howto.
* A working **internet connection is required** at every step of the howto.
## Configure Persistent Storage
## Configure Persistent Storage
_If you want to use Signal Desktop only once and lose everything after shutdown/reboot skip to section [Install](#install-flatpak)._
_If you want to use Signal Desktop only once and lose everything after shutdown/reboot skip to section [Install](#install-flatpak)._
If you want to keep Signal Desktop persistent, we need to set up the persistent storage accordingly:
If you want to keep Signal Desktop persistent, we need to set up the persistent storage accordingly:
1.**Create**[**Persistent Storage**](https://tails.net/doc/persistent_storage/create/) and keep the default features enabled. You may enable other options for your other needs
1.**Create**[**Persistent Storage**](https://tails.net/doc/persistent_storage/create/) and keep the default features enabled. You may enable other options for your other needs
2.**Start Tails** with an [administration password](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
2.**Start Tails** with an [administration password](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
5. Enter this line in the terminal and press Enter to **setup persistent storage for Flatpak**:
5. 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
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
~~~
~~~
When asked, enter the Administration password set before.
When asked, enter the Administration password set before.
6.**Restart** Tails with an [administration password set](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
6.**Restart** Tails with an [administration password set](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
## Install Flatpak
## Install Flatpak
1. Start your Tails with persistent storage unlocked and an [administration password set](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
1. Start your Tails with persistent storage unlocked and an [administration password set](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
3. Enter this line in the terminal and press Enter to **install Flatpak**:
3. Enter this line in the terminal and press Enter to **install Flatpak**:
~~~
~~~
sudo apt update && sudo apt install -y flatpak
sudo apt update && sudo apt install -y flatpak
~~~
~~~
When asked, enter the administration password set before (it will be asked twice).
When asked, enter the administration password set before (it will be asked twice).
4. When asked whether to add the packages to the persistent storage, choose **Install every time**[as explained here](https://tails.net/doc/persistent_storage/additional_software/#index3h2)
4. When asked whether to add the packages to the persistent storage, choose **Install every time**[as explained here](https://tails.net/doc/persistent_storage/additional_software/#index3h2)
5. Enter this line in the terminal and press Enter to **add the Flathub repository to Flatpak**:
5. Enter this line in the terminal and press Enter to **add the Flathub repository to Flatpak**:
3. 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):
3. 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):
4. If you haven't done it already while installing another Flatpak from this HowTo, create a Desktop shortcut for conveniently updating Flatpak managed applications, executing the following in the terminal:
4. If you haven't done it already while installing another Flatpak from this HowTo, create a Desktop shortcut for conveniently updating Flatpak managed applications, executing the following in the terminal:
A new application called **"Flatpak-Update"** is now visible in the [Activities Overview](https://tails.net/doc/first_steps/desktop/index.en.html#activities). You should run it regarly to update your Flatpak applications.
A new application called **"Flatpak-Update"** is now visible in the [Activities Overview](https://tails.net/doc/first_steps/desktop/index.en.html#activities). You should run it regarly to update your Flatpak applications.
5. Close the terminal
5. Close the terminal
## Start Signal Desktop
## Start Signal Desktop
1. Start Tails with persistent storage unlocked
1. Start Tails with persistent storage unlocked
2.**Wait until additional software is installed** successfully
2.**Wait until additional software is installed** successfully
3. Go to [Activities Overview](https://tails.net/doc/first_steps/desktop/index.en.html#activities), type `Signal` and press Enter to start Signal Desktop. The icon is a generic one, not Signal official icon.
3. Go to [Activities Overview](https://tails.net/doc/first_steps/desktop/index.en.html#activities), type `Signal` and press Enter to start Signal Desktop. The icon is a generic one, not Signal official icon.
4. Link to a device or with [signal-cli](../messengers-on-tails-os/-/wikis/Signal/Registration-and-Provisioning-via-signal-cli)(terminal) and enjoy :)
4. Link to a device or with [signal-cli](../messengers-on-tails-os/-/wikis/Signal/Registration-and-Provisioning-via-signal-cli)(terminal) and enjoy :)
### Enable Microphone and Camera
### Enable Microphone and Camera
1. Open menu _Files ▸ Preferences_
1. Open menu _Files ▸ Preferences_
2. Check _Allow access to the microphone_
2. Check _Allow access to the microphone_
3. Check _Allow access to the camera_
3. Check _Allow access to the camera_
4. Close Signal Desktop Preferences window
4. Close Signal Desktop Preferences window
### Provisioning
### Provisioning
1. 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.
1. 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.
2. 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](../Signal/Registration-and-Provisioning-via-signal-cli)
2. 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](../Signal/Registration-and-Provisioning-via-signal-cli)
### Captcha Verification when rate limited
### Captcha Verification when rate limited
Using Signal Desktop via tor increases the chance of getting rate limited when sending messages to new contacts.
Using Signal Desktop via tor increases the chance of getting rate limited when sending messages to new contacts.
1. 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
1. 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
2. Solve the captcha. A link `Open Signal` appears. Right-click the link and choose "Copy Link"
2. Solve the captcha. A link `Open Signal` appears. Right-click the link and choose "Copy Link"
3. Open a Terminal, paste the following, and **don't press enter** (note the trailing single-quote):
3. Open a Terminal, paste the following, and **don't press enter** (note the trailing single-quote):
~~~
~~~
flatpak run org.signal.Signal '
flatpak run org.signal.Signal '
~~~
~~~
Paste the previously copied link, and add a single-quote `'`, then press Enter.
Paste the previously copied link, and add a single-quote `'`, then press Enter.
4. The Signal Desktop window should show up and a message confirming the captcha should appear
4. The Signal Desktop window should show up and a small notification confirming the captcha should appear on the bottom left of the window.
5. Pending messages should end up being sent. You may be asked to solve a Captcha again… Sometimes restarting Signal Desktop helps as well.
5. Pending messages should end up being sent. You may be asked to solve a Captcha again… Sometimes restarting Signal Desktop helps as well.