De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Flexibilidade na execução do Firefox na linha de comando

Colaboração: André Pinto

Data de Publicação: 08 de Janeiro de 2005

Esse roteiro (script) permite uma maior flexibilidade na execução de navegadores da família Mozilla.

Suas principais funções:

  • Abrir páginas locais especificando apenas o nome de um arquivo:

      firefox pagina.html
    

  • Abrir várias páginas simultaneamente

      firefox www.dicas-l.com.br .bash_history
    

  • Utilizar um navegador que já está rodando, evitando as janelas de escolha de perfil.

Segue abaixo o roteiro:

  #!/bin/sh
  #
  # Esse roteiro permite uma maior flexibilidade na execução de navegadores
  # da família Mozilla.
  #
  # Suas principais funções:
  # - Abrir páginas locais especificando apenas o nome de um arquivo:
  #   firefox pagina.html
  # - Abrir várias páginas simultaneamente
  #   firefox www.dicas-l.com.br .bash_history
  # - Utilizar um navegador que já está rodando, evitando as janelas de escolha de perfil
  #
  # 01/12/2004 André Pinto (andre.pinto@poli.usp.br)
  
  # O nome desse roteiro (script) deve ser igual ao nome do arquivo
  # executável do navegador
  #
  # firefox   testado
  # mozilla   possivelmente (não testado)
  #
  nome=$(basename $0)
  
  # Pasta onde está instalado o navegador
  #
  pasta=/usr/local/lib/$nome
  
  # Onde será aberta a página, caso o navegador já esteja rodando?
  #
  # new-tab       Na mesma janela, numa nova aba
  # new-window    Numa nova janela
  # <vazio>       Usa configuração atual do navegador
  #
  onde=new-tab
  
  ########################################
  # Daqui em diante nada deve ser mexido #
  ########################################
  
  roda ()
  {
     eval "$@" &
  }
  
  executa ()
  {
     exec "$@"
  }
  
  rodando ()
  {
     $MOZ_CLIENT_PROGRAM -a $nome 'ping()' 2>/dev/null >/dev/null
     return $?
  }
  
  MOZ_CLIENT_PROGRAM=$pasta/mozilla-xremote-client
  MOZ_PROGRAM=$pasta/$nome
  
  [ -z "$1" ] && executa $MOZ_PROGRAM
  
  rodando && abre_novo=0
  
  interpreta=0
  case "$1" in
   -*) executa $MOZ_PROGRAM ${1:+"$@"} ;;
   *) interpreta=1 ;;
  esac
  
  if [ "$interpreta" -eq "1" ]
  then
   while [ $# -gt 0 ]
   do
     opt="$1"
  
     if [ -z "$(echo $opt | grep -e ':/')" ]
     then
       if [ -z "$(echo $opt | grep -e '^/')" ]
       then
         if [ -f "$opt" ]; then
           opt="file://$PWD/$opt"
         else
           opt="http://$opt"
         fi
       else
         opt="file://$opt"
       fi
     fi
  
     if [ "$abre_novo" == 0 ]
     then
       roda "$MOZ_CLIENT_PROGRAM -a $nome \"openURL($opt${onde:+,$onde})\""
     else
       roda "$MOZ_PROGRAM \"$opt\""
       while ! rodando
       do
         sleep 5
       done
     fi
  
     shift
     abre_novo=0
   done
  fi
Error: No site found with the domain 's2.dicas-l.com.br' (Learn more)