LOADING...
Faça login e
comente
Usuário ou Email
Senha
Esqueceu sua senha?
Ou
Registrar e
publicar
Você está quase pronto! Agora definir o seu nome de usuário e senha.
Usuário
Email
Senha
Senha
» Anuncie » Envie uma dica Ei, você é um redator, programador ou web designer? Estamos contratando!

Linux é colocado para rodar em um PDF em projeto engenhoso de desenvolvedor

07 de fevereiro de 2025 5

Cada vez mais popular graças a projetos como o Steam Deck e a futura distribuição do SteamOS para o público, o Linux é um sistema muito versátil por ser completamente aberto e permitir experimentos bem peculiares. Mais um desses experimentos chamou atenção nesta semana: um jovem desenvolvedor conseguiu fazer com que uma distribuição Linux rodasse em um arquivo PDF, usando métodos bastante engenhosos.

O estudante do ensino médio e desenvolvedor Allen, também conhecido como Ading2210, já havia atraído os holofotes ao lançar o projeto DoomPDF que, como o nome indica, fazia com que o game original de DOOM fosse reproduzido em PDF. Baseado nesse trabalho, foi criado então o LinuxPDF, no qual uma distribuição Linux compacta é reproduzida nesse tipo de arquivo — o projeto possui apenas 6 MB, atestado do tamanho muito reduzido do sistema.

É provável que, ao ouvir falar de arquivos PDF, venha à mente que esse formato serve exclusivamente para documentos. No entanto, conforme explica Allen, trata-se de uma solução bem mais abrangente. "A especificação completa do Javascript nos PDFs foi implementada apenas pelo Adobe Acrobat, e contém algumas coisas ridículas como a habilidade de renderizar [objetos] 3D, realizar solicitações HTTP, e detectar todos os monitores conectados ao sistema do usuário", afirma o desenvolvedor.

No entanto, por questões de segurança, o Google Chrome, o Microsoft Edge e todos os navegadores baseados no motor Chromium desabilitam quase todas essas capacidades. Ainda assim, há algumas formas de contornar esse bloqueio, caminho usado pelo estudante para conseguir fazer com que uma distro Linux pudesse ser reproduzida.

A explicação demanda um conhecimento mais técnico, mas basicamente envolve usar uma versão diferente do Emscripten (compilador de código na linguagem C) para reproduzir um set de instruções de Javascript diferente. A partir daí, é implementado o TinyEMU, emulador de instruções em RISC-V que é empregado então para rodar o sistema dentro do arquivo.

Apesar de ser funcional, o projeto tem algumas limitações resultantes dos bloqueios do Chromium: os comandos precisam ser dados em um teclado virtual dentro do arquivo, e o desempenho do Linux acaba sendo "mais de 100 vezes mais lento" que o normal, já que o compilador Just-in-Time (JIT), que envia comandos diretamente ao processador para agilizar a execução de códigos, está desabilitado por medidas de segurança.

Allen já havia feito um port de DOOM (1993) no formato de PDF, trabalho que serviu de base para o desenvolvimento do LinuxPDF (Imagem: Renan da Silva Dores/TudoCelular)

De toda forma, conseguir rodar um sistema operacional, mesmo que em uma versão simplificada, em um arquivo PDF é uma conquista e tanto. O projeto completo está disponível no GitHub de Ading2210 e pode tanto ser testado, desde que seja executado em um navegador baseado em Chromium, quanto modificado a partir dos códigos disponibilizados de forma aberta pelo desenvolvedor.


5

Comentários

Linux é colocado para rodar em um PDF em projeto engenhoso de desenvolvedor
Android

Celular mais rápido! Ranking TudoCelular com gráficos de todos os testes de desempenho

Android

Celular com a melhor bateria! Ranking TudoCelular com todos os testes de autonomia

Especiais

Nada de Black Fraude! Ferramenta do TudoCelular desvenda ofertas falsas

Software

Microsoft destaca novos recursos na build 26100.1876 do Windows 11 24H2