Comience con Firefox versión 13, --new-instancese agrega el interruptor. Es mejor hacerlo de esta manera, con la ayuda de un script bash:
firefox -P <profile_name> -remote "ping()" || firefox --new-instance -P <profile_name> <url> && firefox -P <profile_name> -remote "openurl(<url>,new-window)"
Cambiar de new-windowa new-tabhará que la URL se abra en una nueva pestaña en el perfil.
Descomponerlo:
firefox -P <profile_name> -remote "ping()"
hace la comprobación de instancia en ejecución.
|| firefox --new-instance -P <profile_name> <url>
doble canalización ||significa que si la verificación falla, comenzará una nueva instancia con el perfil dado.
&& firefox -P <profile_name> -remote "openurl(<url>,new-window)"
y, por supuesto, &&significa que, si la verificación tiene éxito, reutilizará la instancia existente para abrir la URL en una nueva ventana.