Como fazer o Firefox 9 ler stdin?

2

Uma pergunta anterior recebeu várias respostas agradáveis envolvendo stdin, nenhuma dos quais trabalho no Firefox 9.0.1 ( Editar : porque eu não li que você tinha que iniciar um novo processo do Firefox para fazê-los funcionar (obrigado @manatwork):

  • echo '<h1>hello, world</h1>' | firefox /dev/fd/0 resulta em uma nova guia com o URL file:///dev/null e sem texto.
  • cat | firefox /dev/fd/0 resulta em uma nova guia com o URL file:///dev/null e sem texto. Depois de digitar uma única linha de texto e pressionar Enter , ela termina e ainda não mostra nada na nova guia.
  • firefox <( echo '<h1>hello, world</h1>' ) abre uma nova guia com minha pasta de perfil, de todas as coisas.

Existe alguma maneira de fazer isso funcionar no Firefox 9.0.1 ou mais recente?

Quanto ao motivo por trás, seria bom poder gerar marcações que só são armazenadas na memória (bloqueando a troca), e garantir que não haja sobras mesmo no caso de um corte de energia.

    
por l0b0 02.02.2012 / 11:47

4 respostas

3

Eu encontrei um programa chamado bcat escrito em ruby. Alguns exemplos podem ser acessados pelo link .

    
por 02.02.2012 / 13:59
2

Seguindo a sugestão de @userunknown, caso seu /tmp não seja um sistema de arquivos tmpfs , você pode usar /dev/shm ou criar seu próprio sistema de arquivos tmpfs (ambos são mantidos na memória):

/mnt/tmp && mount -t tmpfs none /mnt/tmp
    
por 02.02.2012 / 15:44
1

As to the reason behind, it would be nice to be able to generate markup which is only stored in memory (barring swapping), and guarantee that there is no left-overs even in case of a power cut.

Eu não sei para outros Unixes, mas no Linux, /tmp é deletado em cada inicialização / desligamento. Então

echo "<html><head><title> FooTemp </title></head></html>" \ 
    > /tmp/foo.html && firefox /tmp/foo.html && rm /tmp/foo.html

funciona bem para mim.

Mais conveniente talvez: exclua o arquivo imediatamente após abri-lo no Firefox, eu testei:

echo "<html><head><title> FooTemp </title></head></html>" > \
 /tmp/f3.html && (firefox /tmp/f3.html & sleep 3 ; rm /tmp/f3.html)

Dê alguns segundos para processá-lo e exclua-o. Funciona como um encanto para mim. Não /tmp/f3.html para ser visto com ls /tmp/*html após 3 segundos, mas visível no navegador.

    
por 02.02.2012 / 14:24
0

O Firefox 9, e maior, suporta o esquema URI de dados . Qualquer HTML precisará de um prefixo data:text/html, .

shell ~> firefox -new-tab 'data:text/html,<html><body><h1>Hello World</h1></body></html>'

Não é bem stdin, mas deve funcionar

shell ~> firefox -new-tab "data:text/html,"'cat myfile.txt'
    
por 03.08.2012 / 17:29

Tags