====== Run Signal Desktop instances in parallel ====== In order to run several Signal desktop instances in parallel, you can pass a ''--user-data-dir='' commandline option to signal-desktop. First find out in which way your existing Signal instance was installed: For Flatpak, run flatpak list | grep signal-desktop For Snap, run snap list signal-desktop For distribution package run dpkg -l signal-desktop ===== Linx Flatpak ===== When Signal Desktop is installed via flatpak, do the following: - Copy ''/var/lib/flatpak/app/org.signal.Signal/current/active/files/share/applications/org.signal.Signal.desktop'' to ''~/.local/share/applications/Signal2.desktop'' - Then edit ''~/.local/share/applications/Signal2.desktop'' and change lines 2-3 as follows (replace '''' with your username): Name=Signal 2 Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=signal-desktop --file-forwarding org.signal.Signal --user-data-dir=/home//.var/app/org.signal.Signal/config/Signal2 @@u %U @@ Afterwards, you should find the second instance of Signal Desktop as "Signal 2" in your application launcher. ==== Captcha Verifications ==== Sometimes Signal asks you to verify that you're a human by solving a captcha. The link after the captcha is always opened by the default Signal client profile. You can change this temporarily by setting the ''Exec'' value of the ''.desktop'' file of the default Signal client: In ''/var/lib/flatpak/app/org.signal.Signal/x86_64/stable/active/files/share/applications/org.signal.Signal.desktop'': Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=signal-desktop --file-forwarding org.signal.Signal --user-data-dir=/home//.var/app/org.signal.Signal/config/Signal2 @@u %U @@ ===== Linx Snap (Ubuntu) ===== When Signal Desktop is installed via snap, do the following: - Copy ''/var/lib/snapd/desktop/applications/signal-desktop_signal-desktop.desktop'' to ''~/.local/share/applications/Signal2.desktop'' - Then edit ''~/.local/share/applications/Signal2.desktop'' and change lines 2-3 as follows (replace '''' with your username): Name=Signal 2 Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/signal-desktop_signal-desktop.desktop /snap/bin/signal-desktop --no-sandbox --user-data-dir=/home//snap/signal-desktop/current/.config/Signal2 %U Afterwards, you should find the second instance of Signal Desktop as "Signal 2" in your application launcher. ===== Distribution package ===== Display all files of signal-desktop package: dpkg -l signal-desktop Find the file ending with ''.desktop'' This file describes how Signal Desktop is started via the launcher of your GUI. You can customize the file for a second Signal instance. Copy the ''.desktop'' file into your local directory: cp /usr/share/applications/signal-desktop.desktop ~/.local/share/applications/signal-desktop-ap.desktop Find out the location of your Signal Desktop standard config directory. Possibly it is ''.config/Signal'' in your home directory (press Ctrl + h in order to see system folders in your home directory). When you found the location, create a new directory in the .config directory named like you want to name your new Signal instance, e.g. ''Signal2'' mkdir ~/.config/Signal2 Find the ''.desktop'' file in your local directory and open it with a text editor. Change the ''Name'' and ''Exec'' lines: ''Name'' is the name you assign to your new Signal instance, in this example ''Signal2''. ''Exec'' describes the path to your newly created config directory: Exec=/opt/Signal/signal-desktop -user-data-dir=path/to/folder %U Your ''.desktop'' file should now look something like this: [Desktop Entry] Name=Signal2 Exec=/opt/Signal/signal-desktop -user-data-dir=/home/user/.config/Signal2 %U Terminal=false Type=Application Icon=signal-desktop StartupWMClass=Signal Comment=Private messaging from your desktop MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha; Categories=Network;InstantMessaging;Chat; Save the file. You should now find your new instance ''Signal2'' in your application launcher.