Como posso descobrir onde está o escaninho do firefox?

3

Estou tentando adicionar o Firefox ao meu PATH, como no tutorial . Eu tenho o Firefox na pasta Aplicativos da minha GUI no meu mac book air. Estou familiarizado com a adição de locais ao meu caminho. Mas eu não sei como encontrar o executável do firefox na minha máquina. Onde a pasta de aplicativos vai procurar o executável do Firefox?

    
por bernie2436 08.11.2013 / 19:25

4 respostas

7

O binário estaria dentro do pacote de aplicativos. Por exemplo,

$ file /Applications/Firefox.app/Contents/MacOS/firefox-bin 
/Applications/Firefox.app/Contents/MacOS/firefox-bin: Mach-O universal binary with 2 architectures
/Applications/Firefox.app/Contents/MacOS/firefox-bin (for architecture x86_64):Mach-O 64-bit executable x86_64
/Applications/Firefox.app/Contents/MacOS/firefox-bin (for architecture i386): Mach-O executable i386

Você poderia lançar o Firefox executando /Applications/Firefox.app/Contents/MacOS/firefox , e você poderia colocar /Applications/Firefox.app/Contents/MacOS no seu $PATH para ajudar você a economizar alguma digitação. No entanto, a maneira do Mac OS X de iniciar um aplicativo a partir da linha de comando seria

open -a Firefox

open (1) é um comando Ferramenta de linha para interagir com Iniciar serviços .

    
por 08.11.2013 / 21:42
3

Usando o tipo

Você pode usar o comando type para localizar de onde um executável está vindo no sistema de arquivos.

Exemplo

$ type -a firefox
firefox is /usr/bin/firefox

Usando o locate

Se firefox ainda não estiver no PATH, interrogar o banco de dados de localização usando o comando locate pode ser sua única outra opção. No entanto, os itens recentemente instalados podem não aparecer até que o comando updatedb tenha a chance de indexar esses arquivos recém-adicionados ao sistema de arquivos.

Exemplo

$ locate firefox | grep 'firefox$'
/home/saml/.cache/mozilla/firefox
/home/saml/.mozilla/firefox
/home/saml/.rvm/gems/ruby-1.9.2-p180/doc/selenium-webdriver-2.5.0/rdoc/lib/selenium/webdriver/firefox
/home/saml/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/firefox
/home/saml/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.5.0/lib/selenium/webdriver/firefox
/home/saml/Downloads/MISC/youtubexbmc/youtubexbmc-7c51c2b201a7/extensions/youtube-firefox
/home/saml/SparkleShare/personal_repo/APPS/installed/firefox
/usr/bin/firefox
/usr/lib64/firefox
/usr/lib64/firefox/firefox

mdfind

Se você não tiver acesso ao recurso locate no OSX, tente usar mdfind para localizar ocorrências de firefox .

    
por 08.11.2013 / 19:46
1

Você pode fazer assim:

$ readlink -f $(type -p firefox)

se firefox não estiver no caminho:

$ find / -name firefox 2>/dev/null
    
por 08.11.2013 / 21:33
1

Não é exatamente o mesmo problema, mas desde que encontrei essa resposta quando pesquisei, estou fornecendo minha solução aqui também.

Estou tentando encontrar o executável do firefox para executá-lo a partir de scripts como testes de pepino / selênio. Aqui está o que eu faço:

Encontre-o com o Spotlight

firefox_paths = %x[mdfind "kMDItemFSName = Firefox.app"]
firefox_path = firefox_paths.split('\n').first.chomp
firefox_executable_path = File.join(firefox_path, '/Contents/MacOS/firefox')

Selenium::WebDriver::Firefox::Binary.path=firefox_executable_path

Outra maneira seria descarregar o banco de dados de serviços de lançamento e encontrá-lo lá fora

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump \
  | grep -n7 org.mozilla.firefox \
  | grep path: \
  | awk '{ print($3) }'
    
por 27.03.2014 / 10:23