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 version **5.14**_
## Persistent Storage
If you want to keep Element Desktop persistent, we need to set up the Persistent storage accordingly: (if you want to use Element Desktop only once and lose everything after shutdown/reboot skip to section [Install](#Install))
0. Make sure you are using an up to date Tails OS, check out https://tails.boum.org/doc/upgrade/.
1. Create persistent storage, follow the steps on https://tails.boum.org/doc/persistent_storage/create/, skip to step 2 if you already have a persistent storage
2. Configure persistent storage with _[Additonal software](https://tails.boum.org/doc/persistent_storage/configure/#index12h2)_ enabled and features according to your other needs (mail, pgp, additional software) follow the steps on https://tails.boum.org/doc/persistent_storage/configure/, skip to step 3 if you already have configured your persistent storage with _additional software_ enabled.
3. (Re)start your Tails and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
4. Choose Applications ▸ System Tools ▸ Root Terminal and use the password set in step 3.
6. In order to create persistent storage for [Flatpak](https://flatpak.org), a package manager we're going to use for installing Element Desktop and keeping the software, settings, keys, messages etc. persistent, execute
~~~
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
~~~
7. Shutdown Tails.
## Install
### Flatpak
0. If you already have Flatpak installed with Flathub repo configured, skip to [Element Desktop](#element-desktop)
1. Start your Tails with persistent storage unlocked and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
2. Choose Applications ▸ System Tools ▸ Terminal
3. Install the package manager Flatpak with executing
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
5. No we add the Flathub repository to Flatpak, executing
Ignore _WARNING torsocks[33952]: [syscall] Unsupported syscall number 315._
### Element-Desktop
1. Using the Terminal install element-desktop, executing
~~~
torify flatpak install flathub im.riot.Riot
~~~
and confirm with
~~~
Y
~~~
2. For running element-desktop on Tails via Tor and access to audio devices, we need to set parameters running element-desktop. <details><summary>Further details</summary> Outside the unsafe browser, Tails is configured to limit network use to the Tor network only. Therefore we need to tell element-desktop using Tor's SOCKS proxy by exporting `export HTTP_PROXY=socks://127.0.0.1:9050` and `export HTTPS_PROXY=socks://127.0.0.1:9050`.</details> This can be achieved using an executable shell script + creating a desktop file for a more convenient launch of Element, executing:
~~~
echo -e '#!/bin/sh\nflatpak run im.riot.Riot --proxy-server=socks5://127.0.0.1:9050' | tee -a /home/amnesia/Persistent/element-desktop.sh && chmod +x /home/amnesia/Persistent/element-desktop.sh && echo -e '[Desktop Entry]\nType=Application\nName=Element\nIcon=/home/amnesia/.local/share/flatpak/app/im.riot.Riot/current/active/files/share/icons/hicolor/128x128/apps/im.riot.Riot.png\nExec=bash -c '\''/home/amnesia/Persistent/element-desktop.sh'\''\nTerminal=true\nCategories=Network\nMimeType=x-scheme-handler/element;\nStartupWMClass=element\nKeywords=Matrix;Element;' | tee -a ~/.local/share/applications/Element.desktop
~~~
4. If you haven't done it already while installing another Flatpak from this HowTo, create an update script and Desktop shortcut for conveniently updating Flatpak managed applications, executing:
~~~
echo -e '#!/bin/sh\n torify flatpak update' | tee -a /home/amnesia/Persistent/flatpak-update.sh && chmod a+x /home/amnesia/Persistent/flatpak-update.sh && echo -e '[Desktop Entry]\nType=Application\nName=Flatpak-Update\nExec=bash -c '\''/home/amnesia/Persistent/flatpak-update.sh'\''\nTerminal=true\nCategories=Network\nMimeType=x-scheme-handler/element;\nStartupWMClass=flatpak\nKeywords=flatpak;update;' | tee -a ~/.local/share/applications/Flatpak-Update.desktop
~~~
### Start
1. Start Tails with persistent storage unlocked.
2. Wait until additional software is installed successfully.
3. Go to [Activities Overview](https://tails.boum.org/doc/first_steps/desktop/index.en.html#activities), type `Element` and click the icon to start.
<details><summary>Alternatively via commandline:</summary>
1. Start Tails with persistent storage unlocked.
2. Wait until additional software is installed successfully.
3. Choose Applications ▸ System Tools ▸ Terminal
4. Execute:
~~~
Persistent/element-desktop.sh
~~~
</details>
### Update applications installed via Flatpak
Regularly you should update your applications installed via Flatpak
1. Start Tails with persistent storage unlocked.
2. Wait until additional software is installed successfully.
3. Go to [Activities Overview](https://tails.boum.org/doc/first_steps/desktop/index.en.html#activities), type `Flatpak` and click on `Flatpak-Update` to start.
4. When queried for in the terminal, confirm updates with
~~~
Y
~~~
<details><summary>Alternatively via commandline:</summary>
1. Start Tails with persistent storage unlocked.
2. Wait until additional software is installed successfully.
3. Choose Applications ▸ System Tools ▸ Terminal
4. Execute:
~~~
Persistent/flatpak-update.sh
~~~
5. When queried for in the terminal, confirm updates with
~~~
Y
~~~
_This guide has been tested with Tails OS version **6.6**_
## Persistent Storage
If you want to keep Element Desktop persistent, we need to set up the Persistent storage accordingly: (if you want to use Element Desktop only once and lose everything after shutdown/reboot skip to section [Install](#Install))
0. Make sure you are using an up to date Tails OS, check out https://tails.boum.org/doc/upgrade/.
1. Create persistent storage, follow the steps on https://tails.boum.org/doc/persistent_storage/create/, skip to step 2 if you already have a persistent storage
2. Configure persistent storage with _[Additonal software](https://tails.boum.org/doc/persistent_storage/configure/#index12h2)_ enabled and features according to your other needs (mail, pgp, additional software) follow the steps on https://tails.boum.org/doc/persistent_storage/configure/, skip to step 3 if you already have configured your persistent storage with _additional software_ enabled.
3. (Re)start your Tails and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
4. Choose Applications ▸ System Tools ▸ Root Terminal and use the password set in step 3.
6. In order to create persistent storage for [Flatpak](https://flatpak.org), a package manager we're going to use for installing Element Desktop and keeping the software, settings, keys, messages etc. persistent, execute
~~~
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
~~~
7. Shutdown Tails.
## Install
### Flatpak
0. If you already have Flatpak installed with Flathub repo configured, skip to [Element Desktop](#element-desktop)
1. Start your Tails with persistent storage unlocked and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
2. Choose Applications ▸ System Tools ▸ Terminal
3. Install the package manager Flatpak with executing
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
5. No we add the Flathub repository to Flatpak, executing
Ignore _WARNING torsocks[33952]: [syscall] Unsupported syscall number 315._
### Element-Desktop
1. Using the Terminal install element-desktop, executing
~~~
torify flatpak install -y flathub im.riot.Riot
~~~
2. For running element-desktop on Tails via Tor and access to audio devices, we need to set parameters running element-desktop. <details><summary>Further details</summary> Outside the unsafe browser, Tails is configured to limit network use to the Tor network only. Therefore we need to tell element-desktop using Tor's SOCKS proxy by exporting `export HTTP_PROXY=socks://127.0.0.1:9050` and `export HTTPS_PROXY=socks://127.0.0.1:9050`.</details> This can be achieved using an executable shell script + creating a desktop file for a more convenient launch of Element, executing:
~~~
echo -e '#!/bin/sh\nenv /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/element --file-forwarding im.riot.Riot --proxy-server=socks5://127.0.0.1:9050 @@u %U @@' | tee -a /home/amnesia/Persistent/element-desktop.sh && chmod +x /home/amnesia/Persistent/element-desktop.sh && echo -e '[Desktop Entry]\nType=Application\nName=Element\nIcon=/home/amnesia/.local/share/flatpak/app/im.riot.Riot/current/active/files/share/icons/hicolor/256x256/apps/im.riot.Riot.png\nExec=bash -c '\''/home/amnesia/Persistent/element-desktop.sh'\''\nTerminal=true\nCategories=Network\nMimeType=x-scheme-handler/element;\nStartupWMClass=element\nKeywords=Matrix;Element;' | tee -a ~/.local/share/applications/Element.desktop
~~~
4. If you haven't done it already while installing another Flatpak from this HowTo, create an update script and Desktop shortcut for conveniently updating Flatpak managed applications, executing:
~~~
echo -e '#!/bin/sh\n torify flatpak update -y' | tee -a /home/amnesia/Persistent/flatpak-update.sh && chmod a+x /home/amnesia/Persistent/flatpak-update.sh && echo -e '[Desktop Entry]\nType=Application\nName=Flatpak-Update\nExec=bash -c '\''/home/amnesia/Persistent/flatpak-update.sh'\''\nTerminal=true\nCategories=Network\nStartupWMClass=flatpak\nKeywords=flatpak;update;' | tee -a ~/.local/share/applications/Flatpak-Update.desktop
~~~
### Start
1. Start Tails with persistent storage unlocked.
2. Wait until additional software is installed successfully.
3. Go to [Activities Overview](https://tails.boum.org/doc/first_steps/desktop/index.en.html#activities), type `Element` and click the icon to start.
<details><summary>Alternatively via commandline:</summary>
1. Start Tails with persistent storage unlocked.
2. Wait until additional software is installed successfully.
3. Choose Applications ▸ System Tools ▸ Terminal
4. Execute:
~~~
Persistent/element-desktop.sh
~~~
</details>
### Update applications installed via Flatpak
Regularly you should update your applications installed via Flatpak
1. Start Tails with persistent storage unlocked.
2. Wait until additional software is installed successfully.
3. Go to [Activities Overview](https://tails.boum.org/doc/first_steps/desktop/index.en.html#activities), type `Flatpak` and click on `Flatpak-Update` to start.
4. When queried for in the terminal, confirm updates with
~~~
Y
~~~
<details><summary>Alternatively via commandline:</summary>
1. Start Tails with persistent storage unlocked.
2. Wait until additional software is installed successfully.