Como abro links externos em diferentes perfis com o Firefox?

7

Eu tenho duas instâncias do firefox sendo executadas em perfis separados:

$ firefox -P default &
...
$ firefox -no-remote -P second &

Agora posso abrir uma nova guia na linha de comando com:

$ firefox -new-tab http://unix.stackexchange.com

Mas como abro uma nova guia no segundo perfil?

Isto:

$ firefox -P second -new-tab http://unix.stackexchange.com

abre uma guia no perfil padrão, enquanto:

$ firefox -no-remote -P second -new-tab http://unix.stackexchange.com

reclama que já existe uma instância sob esse perfil.

    
por chris 09.05.2014 / 08:29

2 respostas

3

Funciona agora com firefox 29.0 no Linux:

Para abrir uma segunda instância firefox com um perfil diferente:

firefox -P second -new-instance

Para abrir uma nova guia na segunda instância de firefox , que já está em execução:

firefox -P second -remote "openurl(http://example.com,new-tab)"


Consulte o Bug 716110 - sinalizador split -new-instance do sinalizador -no-remote existente para dicas adicionais ( por exemplo: post de Hayo).

Como explicado nos comentários deste relatório de bug, o que está faltando é um comando que pode ser usado para abrir a primeira janela e a segunda guia da mesma maneira:

Isso pode ser feito com um script nos mesmos termos ( firefox-profile-instance ):

#!/bin/bash

PROFILE="$1"
URL="$2"

if firefox -P "$PROFILE" -remote "ping()" >/dev/null 2>&1 ; then
    firefox -P "$PROFILE" -remote "openurl($URL,new-tab)"
else
    firefox -P "$PROFILE" -new-instance "$URL" &
fi

Agora, enquanto um firefox com o perfil padrão já está em execução,
a primeira execução disso inicia um novo navegador com o perfil "second":

firefox-profile-instance second "http://example.com"

e a execução do mesmo novamente abre uma segunda guia no mesmo navegador:

firefox-profile-instance second "http://example.com"

    
por 10.08.2014 / 21:06
0

Esta resposta é muito mais uma extensão da resposta de Volker Siegel acima e eu estou feliz que os dois sejam mesclados. Só estou escrevendo isso para formatar um novo script, já que o firefox não suporta mais -remote .

Novas versões do Firefox (testadas com a versão 52) suportam uma opção -new-instance para gerar uma nova instância que suporte chamadas remotas. Chamadas subseqüentes ao firefox, se receberem um argumento -P , executarão ações em um perfil do firefox em execução com o nome do perfil fornecido.

Se você deseja combinar a desova e a abertura do link em um script, isso pode ser feito usando pgrep como mostrado abaixo:

#!/bin/bash
profile=profile-name
if pgrep --full "^firefox-esr\b.*$profile" > /dev/null; then
    firejail --profile=$HOME/.firejail/firefox.jail.profile firefox -P "$profile" "$@" > /dev/null
else
    firejail --profile=$HOME/.firejail/firefox.jail.profile firefox -new-instance -P "$profile" "$@"
    disown $!
fi

(Aviso este script não foi testado, mas é adaptado de um que eu uso)

    
por 26.11.2017 / 21:28

Tags