Aqui está algo que funciona:
#!/usr/bin/env python
import sys, commands
browsers = [
"firefox",
"google-chrome",
"chromium-browser",
"epiphany-browser",
]
done = False
ps = list(i.split()[10] for i in commands.getoutput("ps aux").split("\n")[1:])
for i in browsers:
if any(j.endswith(i) or j.endswith(i+"-bin") for j in ps) and not done:
commands.getoutput(i + " " + (" ".join(sys.argv[1:]
if len(sys.argv) - 1 else "")))
done = True
if not done:
commands.getoutput(browsers[0]["cmd"] + " " + " ".join(sys.argv[1:]))
-
Basta reordenar a lista na parte superior do arquivo da maneira que desejar, adicionar e remover navegadores. O comando que você digitar será o que você digitar na linha de comando para iniciar este navegador.
-
salve este script em algum lugar, clique com o botão direito nele, vá para propriedades → permissões e defina executável . Eu recomendo salvá-lo em
/home/<username>/.browser
. -
Encontre o arquivo (pressione Ctrl + H para mostrar os arquivos ocultos), clique com o botão direito e selecione Propriedades e vá para Permissões e defina Permitir a execução do arquivo como programa .
-
Vá para Sistema → Preferências → Aplicativos preferidos , selecione Personalizado e digite
/home/<username>/.browser
no campo Comando .
O primeiro navegador que aparece na lista e está em execução será escolhido para abrir o site. Se nenhum deles estiver em execução, o primeiro será aberto.
Eu testei isso e parece funcionar muito bem, no entanto, deixe-me saber se há algum erro nele. E seria legal se houvesse um método para fazer isso que não envolvesse programação, essa é apenas minha solução peculiar.