Теперь в браузерах на основе Chromium можно запустить Linux прямо из PDF-файла. Этот проект называется LinuxPDF и был создан школьником под ником Ading2210, который ранее создал DoomPDF — версию игры Doom, работающую из документа.
Linux внутри PDF-файла запускается с помощью модифицированной версии эмулятора TinyEMU RISC-V. Однако LinuxPDF работает медленнее, чем ожидалось, из-за проблем с производительностью.
Эмулятор встраивается в PDF благодаря старой версии Emscripten, которая компилирует код в asm.js. После открытия документа в браузере запускается минимальное ядро Linux для архитектуры RISC-V. Пользователь видит интерфейс LinuxPDF с приветственным сообщением в терминале после нажатия кнопки «Start Emulator».
Графический интерфейс LinuxPDF напоминает DoomPDF: серый экран с ASCII-символами и виртуальная клавиатура. Однако процесс работы очень медленный: запуск ядра Linux занимает от 30 до 60 секунд из-за отключенного JIT-компилятора в PDF-движке Chrome.
LinuxPDF можно попробовать в браузерах на основе Chromium, но не в Firefox. Также доступно видео, демонстрирующее процесс загрузки и выполнения команд. Исходный код проекта можно найти на GitHub.