
Das Portable Document Format, besser bekannt in der Kurzform PDF, ist noch immer weitverbreitet. Obwohl aber täglich unzählige PDF-Dateien geöffnet und bearbeitet werden, dürften die wenigsten Nutzer:innen ahnen, was mit dem Dateiformat alles möglich ist.
Während PDF meist für statische Dokumente oder vielleicht für Formulare genutzt wird, unterstützt das Dateiformat Javascript inklusive einer umfangreichen Standardbibliothek. Theoretisch können PDF-Dokumente sogar HTTP-Anfragen senden oder alle angeschlossenen Monitore eines Computers erkennen.
Schon aus Sicherheitsgründen finden sich diese Funktionen aber in den wenigsten PDF-Viewern – auch beispielsweise nicht im Chrome-Browser. Davon abgesehen kann aber auch hier so ziemlich jedes Javascript direkt innerhalb eines PDF ausgeführt werden.

Weil es geht: Hier läuft Linux direkt in einem PDF. (Screenshot: linux-pdf / t3n)
Entwickler loten die Grenzen von PDF-Dateien aus
Was alles möglich ist, zeigte Anfang 2025 schon der Thomas Rinsma, als er eine spielbare Version Tetris in ein PDF-Dokument gepackt hat. Wenig später hat ein Entwickler dann sogar den klassischen Shooter Doom als PDF veröffentlicht.
Die:der Entwickler:in hinter dem Doom-Port tritt auf GitHub unter dem Pseudonym „ading2210“ auf und bezeichnet sich dort als Schüler:in mit Interesse an Programmierung. Das Interesse an PDF-Dateien war aber mit der Doom-Variante offenbar nicht gestillt, denn jetzt hat „ading2210“ auch gleich das ganze Linux-Betriebssystem in ein PDF gestopft.
So kommt Linux in die PDF-Datei
Um Linux innerhalb der PDF-Datei ausführen zu können, setzt der junge Entwickler auf TinyEMU. Dabei handelt es sich um einen Emulator für RISC-V-Prozessoren. Dazu musste er den in C geschriebenen Code aber erst mal fit für das Dokumentenformat machen. Dazu kompilierte er den C-Code mit einem Transcompiler für asm.js. Damit wiederum kann in anderen Sprachen verfasster Code innerhalb von Javascript-Anwendungen genutzt werden.
Schnell ist das Ergebnis natürlich nicht. Bei uns dauerte es gut eine Minute, bis der Linux-Kernel in der PDF-Datei geladen war. Anschließend könnt ihr aber tatsächlich über eine Bildschirm-Tastatur im Dokument Befehle eingeben und ausführen.
Wer das ausprobieren möchte, kann linux.pdf direkt im Browser ausführen. Zumindest, wenn ihr Chrome verwendet. In der PDF-Vorschau von Firefox und Safari scheint das Ganze nicht zu funktionieren.
Wer sich genauer mit den technischen Details beschäftigen möchte, der kann auf GitHub den Quellcode des Projekts einsehen.