Comece com o Firefox versão 13, o --new-instance
switch é adicionado. É melhor fazer assim, com a ajuda de um script bash:
firefox -P <profile_name> -remote "ping()" || firefox --new-instance -P <profile_name> <url> && firefox -P <profile_name> -remote "openurl(<url>,new-window)"
Mudando de new-window
para new-tab
fará com que o URL seja aberto em uma nova guia no perfil.
Divida:
firefox -P <profile_name> -remote "ping()"
verifica a instância em execução.
|| firefox --new-instance -P <profile_name> <url>
cano duplo ||
significa que, se a verificação falhar, iniciará uma nova instância com determinado perfil.
&& firefox -P <profile_name> -remote "openurl(<url>,new-window)"
e claro, &&
significa que, se a verificação for bem-sucedida, ela reutilizará a instância existente para abrir a URL em uma nova janela.