Que tal você ler /home/*/.mozilla/firefox/*/sessionstore.js
?
Atualmente, estou desenvolvendo um software cuja funcionalidade depende de saber o estado atual da sessão do Firefox em execução no computador Ubuntu do usuário. As informações necessárias para saber o seguinte:
Ao receber um comando explícito do usuário, o aplicativo procurará essas informações de onde elas residirem no sistema. O problema é que não tenho idéia de onde devo programar o aplicativo para procurar isso. Meu primeiro palpite foi que a inspeção dos processos do Firefox no kernel produziria as informações desejadas, mas usei o monitor do sistema para observar processos adicionais sendo iniciados quando mais janelas e guias são abertas, mas o único processo do Firefox mencionado é 'firefox-bin', levando-me a concluir que esta suposição é incorreta.
Estou preparado para fazer algumas leituras significativas, se alguém puder me apontar na direção certa, é que meu tempo é limitado e não posso me dar ao luxo de começar a bisbilhotar dentro do kernel na esperança de me deparar o que estou procurando.
Alguém sabe como posso encontrar as informações acima sem recorrer à instalação de um plugin no Firefox que o exporte?
Você não encontrará nenhuma informação no kernel, você deve perguntar ao processo do firefox. (Há apenas um. O Firefox usa vários encadeamentos, mas um único processo.) Guias, URLs e rolagem em uma página são conceitos puramente internos ao navegador.
O Firefox tem uma interface remota que permite executar alguns comandos a partir de um prompt do shell.
firefox -remote 'openurl(http://www.example.com/, new-tab)'
Eu não sei se existem outras funções não documentadas que você pode usar através da interface remota. Uma ideia completamente não testada é abrir um script Javascript ( file://
) local para reunir informações, mas o script pode não ter as permissões necessárias.
Você também pode carregar o chrome em um processo em execução: firefox -chrome file://…
. Novamente, não sei quais recursos isso oferece.
Uma coisa que você pode saber de fora do Firefox são as janelas e seus títulos:
wmctrl -xl |
awk '$3 == "Navigator.Firefox"
{sub(/^([^ ]+ +)([^ ]+ +)([^ ]+ +)([^ ]+ +)/,""); print}'
Tags firefox development