Бесплатно Экспресс-аудит сайта:

10.02.2025

Школьник запустил полноценный Linux внутри PDF-файла

В браузерах на основе Chromium теперь можно запустить версию операционной системы Linux прямо внутри PDF -файла. Этот удивительный проект под названием LinuxPDF разработан школьником под ником Ading2210, ранее создавшим DoomPDF — версию культовой игры Doom, работающую прямо из документа.

Linux внутри PDF-файла запускается благодаря модифицированной версии эмулятора TinyEMU RISC-V. По словам разработчика, LinuxPDF работает аналогично DoomPDF, но страдает от серьезных проблем с производительностью, так как в 100 раз медленнее ожидаемого.

Эмулятор встраивается в PDF благодаря использованию старой версии Emscripten, которая компилирует код в asm.js вместо WebAssembly. При открытии документа в браузере запускается минимальное ядро Linux, предназначенное для архитектуры RISC-V. После нажатия кнопки «Start Emulator» пользователь видит интерфейс LinuxPDF с приветственным сообщением в терминале.

Графический интерфейс LinuxPDF напоминает DoomPDF: низкоконтрастный серый экран и вывод ASCII-символами. Под терминалом располагается виртуальная клавиатура, состоящая из кнопок PDF, однако быстрее вводить команды через специальное поле справа.

Самая большая проблема проекта — скорость работы. Запуск ядра Linux занимает от 30 до 60 секунд, что в 100 раз дольше обычного. Разработчик отмечает, что из-за отключенного JIT-компилятора в PDF-движке Chrome ускорить процесс пока невозможно.

Попробовать LinuxPDF можно в любом браузере на основе Chromium, но в Firefox запуск не работает. Также можно просто посмотреть видео , где демонстрируется процесс загрузки и выполнения команд. Исходный код проекта доступен на GitHub.