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**_
_This guide has been tested with Tails OS version **6.6**_
## Persistent Storage
## 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))
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))
1. Using the Terminal install element-desktop, executing
1. Using the Terminal install element-desktop, executing
~~~
~~~
torify flatpak install flathub im.riot.Riot
torify flatpak install -y 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:
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
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:
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
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
### Start
...
@@ -83,8 +80,4 @@ Y
...
@@ -83,8 +80,4 @@ Y
~~~
~~~
Persistent/flatpak-update.sh
Persistent/flatpak-update.sh
~~~
~~~
5. When queried for in the terminal, confirm updates with