signalapp / Signal-Desktop

A private messenger for Windows, macOS, and Linux.
https://signal.org/download
GNU Affero General Public License v3.0
14.65k stars 2.67k forks source link

Multiple instances #1720

Closed Ganneff closed 3 years ago

Ganneff commented 7 years ago

Multiple instances of SignalDesktop needed

Basically, if you own multiple phone numbers, with different Signal Apps running for them (multiple phones, app cloner, doesn't matter, just multiple Signal Accounts for different purposes), it seems to be impossible to use the SignalDesktop app, as that only runs as one instance.

With the chromium app you can simply open another browser profile and voila, a second desktop instance of Signal with a different assigned phone number.

While one can consider running this in VMs or Containers, that seems overkill for such a basic feature, so it would be nice if SignalDesktop can support it directly.

Greetings, Ganneff

scottnonnenberg commented 7 years ago

If you're interested in running the development version, it has a NODE_APP_INSTANCE environment variable allowing you to run multiple instances.

Ganneff commented 7 years ago

On 14850 March 1977, Scott Nonnenberg wrote:

If you're interested in running the development version, it has a NODE_APP_INSTANCE environment variable allowing you to run multiple instances.

Not too much currently, but I hope it makes it into the next stable release, then it would be usable, thanks. Until then the chromium app works nicely.

-- bye, Joerg

conorsch commented 6 years ago

Super useful, thanks for the prompt feedback @scottnonnenberg. Will be watching for the env var support to land in stable.

rdump commented 6 years ago

On macOS, one attempted workaround was opening another instance (-n flag) of the standalone Signal Desktop, via: open -n -a ~/Applications/Signal.app

Unfortunately, this results in the originally running instance being brought to the front, and the use of the same settings as the original instance's signal account. Signal is not properly doing -n.

The next workaround might be to rename the app, but there's more to it than the container name nowadays.

Until NODE_APP_INSTANCE or a workalike lands on macOS, what else might we tweak in a copy of Signal Desktop so it doesn't inherit the settings from another signal account?

dontspammexyz commented 6 years ago

How to run multiple Signal Desktop instances on Windows 10 to use Signal for private phone and for work phone?

scottnonnenberg-signal commented 6 years ago

The easiest way to do it is with one production instance and one beta instance. Beta install instructions are here: https://github.com/signalapp/Signal-Desktop

Filbuntu commented 4 years ago

Any update on this? I would like to run two to three Signal accounts (private/work) at the same time in the Signal (Desktop) App. The option of the production & beta instance running at the same time is an option but not ideal. Wire supports to log in to Wire with up to 3 accounts and this feature has been there for years. Thanks for working on this!

nkr0 commented 3 years ago

There is a workaround I use for this. On Linux, Signal stores everything related to an account in $HOME/.config/Signal. Create multiple folders in there, named Signal-1, Signal-2, etc. Restore the name of whichever profile you want to use to Signal, and that will get activated. There should be similar folders on other OS.

Something along the same lines could be implemented in the app, by just listing a set of profiles and allowing to user to pick. Just have to change the associated folder. And perhaps password protect. But, better not. That might give users the wrong idea that it is OK to just login on public computers and leave it there. Stuff inside $HOME/.config/Signal is not encrypted.

Filbuntu commented 3 years ago

Thank you, @nkr0, for sharing your workaround. Can you access the different Signal accounts/profiles at the same time with this workaround? Or rather be able to switch from one to the other?

nkr0 commented 3 years ago

No, it's only one profile at a time. You are basically hiding profiles from the chrome-app by renaming the directories. To switch you'll have to close the app, set the folder name of the profile you want to use, and then reopen the app.

But the fact that this works means, this feature can be implemented. Even simultaneously for multiple profiles. Just need tabs in the desktop app.

Filbuntu commented 3 years ago

Thank you for the quick and helpful response. Indeed an encouraging step! Hopefully this feature can be implemented soon!

Ganneff commented 3 years ago

It is a disgrace on how much they don't care about feature requests, instead adding useless silly emoticon crap, but for those who need to cope without the developers help, the current best way (IMO) on linux is:

Voila, two seperate signal apps able to run at the same time without interfering, no rename orgy and no need to run a beta release.

(For a phone using android, there is AppCloner, clone it as Signal2 and have two instances (only one can do SMS)).

tsdmgz commented 3 years ago

I used to be able to run multiple instances by specifying a configdir, but I can't remember how I did it anymore. Another way is to specify HOME. Drawback there is any links you click will launch from a different profile. You'll probably have to copy and paste the link

HOME=~/signal-profiles/phone-number-1 ~/opt/Signal/Signal or something like that

nkr0 commented 3 years ago

@tsdmgz sweet!! this is the best method so far. I googled a bit and found the configdir method. signal-desktop --user-data-dir=$HOME/.config/Signal-1. Using ~ didn't work for me as an alias for $HOME.

Also, using this method you can run multiple instances simultaneously.

Note: if you are creating a .desktop shortcut, you've to enter the full path in the file. Neither $HOME nor ~ gets expanded in that.

rexkani commented 3 years ago

Definitely need multi account support!

nhebling commented 3 years ago

Yes, I don't want to share my private number with my business contacts and vice versa, so being able to switch/connect multiple numbers would be great.

zplan commented 3 years ago

+1 vote from me for multi user support!

louislam commented 3 years ago

Outdated comment: please see https://github.com/signalapp/Signal-Desktop/issues/1720#issuecomment-962968691

~It is very inconvenient without multiple instances. I just fork this project and add a new parameter "--profile", so that it supports multiple instances and portable.~

~This is my fork, if you are interested: https://github.com/louislam/Signal-Desktop-Multiple-Portable~

~Signal.exe --profile ~

zapy85 commented 3 years ago

@scottnonnenberg-signal anything that would interest you? I would love to see a profile selection or better a horizontal tab where you can switch between your different accounts, as i have signal both for work and private phone, this would make it much easier to use, atm i am running a beta and the stable app.

imonlygitting commented 3 years ago

It is very inconvenient without multiple instances. I just fork this project and add a new parameter "--profile", so that it supports multiple instances and portable.

This is my fork, if you are interested: https://github.com/louislam/Signal-Desktop-Multiple-Portable

Signal.exe --profile <Your Profile Name>

tested this, works great, thank you very much!

Tyr4El commented 3 years ago

@louislam Win't there be a problem about the updates of signal itself?

louislam commented 3 years ago

@louislam Win't there be a problem about the updates of signal itself?

Yes, so my portable version won't update itself.

mintalicious commented 3 years ago

+1 for this feature request. It is definitely needed!

gitterspec commented 3 years ago

It is very inconvenient without multiple instances. I just fork this project and add a new parameter "--profile", so that it supports multiple instances and portable.

This is my fork, if you are interested: https://github.com/louislam/Signal-Desktop-Multiple-Portable

Signal.exe --profile <Your Profile Name>

Great idea. I really want to use this, but your build does not render for me (the app starts but everything underneath the menu bar is blank). Same problem when using your 5.0.0-mp. No problems on official build.

[edit] I tried to test --disable-gpu and --disable-software-rasterizer but these options don't work in your build (will not launch). It seems like a graphics rendering problem, so I would want to disable gpu rendering.

pzdaniel commented 3 years ago

@tsdmgz sweet!! this is the best method so far. I googled a bit and found the configdir method. signal-desktop --user-data-dir=$HOME/.config/Signal-1. Using ~ didn't work for me as an alias for $HOME.

Also, using this method you can run multiple instances simultaneously.

Note: if you are creating a .desktop shortcut, you've to enter the full path in the file. Neither $HOME nor ~ gets expanded in that.

It also works that way on windows. Just make a new signal desktop shortcut, go to preferences, (empty "start in" - not sure if necessary) and change the target for example to: C:\Users\WhatSoEver\AppData\Local\Programs\signal-desktop\Signal.exe --user-data-dir=C:\Users\WhatSoEver\AppData\Roaming\Signal1

kmille commented 1 year ago

I created a small tool as workaround. If you need a native version for Windows, you can send people this tutorial. If you're using Firejail, you can use this:

alias signal2='firejail --private=/home/kmille/.config/Signal2 --profile=/etc/firejail/signal-desktop.profile /usr/bin/signal-desktop'
maxbader commented 1 year ago

Hi,

I am using on my Ubuntu flatpak with signal and created a second desktop icon with the following content.


#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=sh -c "HOME=~/signal-profiles/you_profile flatpak run org.signal.Signal"
Name=Signal MX
Comment=Skype
Icon=org.signal.Signal
Path=
StartupNotify=false
Lukom commented 1 year ago

The command to run any number of Signal instances on MacOs:

/Applications/Signal.app/Contents/MacOS/Signal --user-data-dir=$HOME/.config/Signal-2

Although I still prefer Signal Beta as second app just to have different app name

AJolly commented 8 months ago

I'd like to just be able to do multiple windows, even on the same account.

parasiteoflife commented 5 months ago

Why is this issue closed as completed? Has this been implemented? If so I can't find the setting.

rdump commented 5 months ago

It was closed deliberately as "refused" but mistagged as "complete" (corporate bs ;-) )

Unfortunately, the attempted redirect to "community forums" back in 2021 showed that the "community forums" are just where devs direct folks to waste time discussing things that they have no intention of implementing (time, wrong ideas, etc.). Yes, this practice is not unique to Signal. It's very common to sinkhole this kind of thing.

Best option I know of so far is upthread: https://github.com/signalapp/Signal-Desktop/issues/1720#issuecomment-962968691