Dois perfis totalmente funcionais em execução simultaneamente

2

Pergunta:

É possível abrir duas instâncias diferentes do Firefox, cada uma executando um perfil separado, e fazer com que, sempre que firefox -P <profile name> for executado, ele se conecte à instância já em execução que executa o mesmo perfil (em vez de criar outra instância )?

Meu objetivo final é ter dois ícones diferentes para o Firefox (um para o primeiro perfil e um para o segundo) e fazer com que cada perfil se comporte como um programa completamente separado. Em outras palavras, quando clico em qualquer ícone, quero que ele se comporte como normalmente (usando esse perfil, é claro) e nem mesmo reconheça a existência de outra instância / perfil. Quando clico no outro ícone, quero que aconteça o mesmo: quero que ele se comporte como se a outra instância / perfil não existisse.

Pesquisa:

Eu tentei fazer algo chique com um script de shell para fazer isso funcionar. Ele verifica um processo em execução com o perfil especificado. Se encontrar um, será executado /usr/bin/firefox-bin -P $profile . Caso contrário, criará uma nova instância executando /usr/bin/firefox -new-instance -P $profile .

$ cat /usr/local/bin/firefox

#!/bin/bash

firefox=/usr/bin/firefox-bin

profile_running() {
    ps -Af | grep -v grep | grep firefox | grep -q -- "-P $1"
}

profile=$1
shift

if profile_running $profile; then
    $firefox $*
else
    $firefox -new-instance -P $profile $*
fi

Em teoria, se eu rodasse isso, eu deveria ter uma instância do Firefox rodando usando -P first_profile e uma instância do Firefox rodando usando -P second_profile . O primeiro deve ter três janelas abertas e o último deve ter duas janelas abertas:

/usr/local/bin/firefox first_profile &
/usr/local/bin/firefox second_profile &
/usr/local/bin/firefox first_profile &
/usr/local/bin/firefox second_profile &
/usr/local/bin/firefox first_profile

No entanto, o que eu encontrei realmente acontece não é o que eu quero. A boa notícia é que cada perfil tem exatamente uma instância em execução. No entanto, a instância "first_profile" terá quatro janelas abertas, enquanto a instância "second_profile" terá apenas uma.

Sempre que eu tento abrir uma nova janela "second_profile" após a inicial, eu obtenho uma nova janela "first_profile". Parece que o Firefox não se preocupou em verificar o parâmetro -P se estiver anexando a uma instância já em execução.

Conclusão:

Como parece não haver nenhuma maneira de coagir o Firefox a se comportar da maneira que eu quero usando apenas argumentos de linha de comando, eu preciso encontrar um curso de ação diferente.

Estou executando o Firefox 33.0 (pacote binário) no Gentoo Linux (amd64) .

    
por hololeap 12.12.2014 / 03:55

1 resposta

2

Isso deve responder às suas perguntas sobre a execução de vários perfis, eu faço isso o tempo todo. Até mesmo mostra informações sobre ter um perfil "padrão" para que links externos (como cliques duplos ou de outros aplicativos) sejam abertos apenas no perfil padrão.

link

É curto, então só vou colá-lo:

When Firefox is running and you try to open another Firefox process, a new window is opened instead, in the already running process. You can use the -no-remote command line option to start a new Firefox process that is invisible to the first process. [1] By using -no-remote along with the -P option to select a different profile, you can open multiple instances of Firefox at the same time, using separate profiles. [2] Selecting a different profile from the one used in the first process is necessary because profiles are "locked" when in use.

Important: Never use -no-remote to start the "default" profile (the one that is set to open without asking when you launch Firefox). That's because when you launch Firefox, for example, by clicking a link in your mail program, you will get a Firefox is already running but is not responding message if the default profile is already in use. The solution is to always start the default profile normally and launch all others with -no-remote. Then it will work. [3]

You can use a shortcut to a specific profile to open Firefox using -no-remote. For example, to open a profile named "My Profile" using -no-remote, enter the following in the Target field of a Windows desktop shortcut (adjust the path, if different):

"C:\Program Files\Mozilla Firefox\firefox.exe" -P "My Profile" -no-remote

Note: You can also open the Profile Manager with Firefox already running, by using -P -no-remote without including a profile name.

    
por 12.12.2014 / 05:23