最近,一个有趣的科技项目引起了广泛关注:一款Linux操作系统可以在PDF文件中运行,并且通过基于Chromium的浏览器打开。这个名为LinuxPDF的项目由高中生Ading2210开发,他此前还开发了另一个类似的项目DoomPDF(DoomPDF)。

KX7qKihUkfXpF7vQJighN-1200-80.jpg

LinuxPDF的核心技术是基于一个修改版的TinyEMU RISC-V模拟器(TinyEMU RISC-V)。Ading2210表示,LinuxPDF的运行原理与DoomPDF非常相似。简单来说,该项目通过在PDF中嵌入一个模拟器,运行一个最小化的Linux内核,从而实现操作系统在PDF中的启动和运行。不过,这个项目目前最大的问题是性能。据开发者介绍,Linux内核在PDF中启动需要30到60秒,比正常速度慢了100倍以上。

具体来说,TinyEMU RISC-V模拟器能够嵌入PDF文件,是因为其代码是通过一个旧版本的Emscripten编译而成,该版本针对的是asm.js而不是WebAssembly。这种技术使得模拟器能够嵌入PDF文件中,并在用户同意“启动模拟器”后自动运行Linux内核。启动后,用户会看到LinuxPDF的用户界面加载,并在Linux窗口中看到一条欢迎消息,随后系统开始启动。

iuWzvtQ8B6betYcCYZmeb-1200-80.jpg

对于用户来说,LinuxPDF的界面可能会让人联想到Ading2210之前开发的DoomPDF。它采用了低对比度的灰色显示,并且通过逐行ASCII输出将内容显示在屏幕上,这与DoomPDF的显示方式非常相似。此外,LinuxPDF在PDF界面下方还配备了一个软键盘,由PDF按钮组成。不过,对于大多数拥有物理键盘的用户来说,直接在界面右下角的“在此处输入键盘指令”字段中输入命令会更加方便。

尽管LinuxPDF的创意非常新颖,但性能问题仍然是一个亟待解决的挑战。由于目前Chrome浏览器的PDF引擎禁用了即时编译器(JIT),因此Ading2210表示暂时无法找到提升运行速度的方法。

f3zxBScPoCuSTfHUVagPY-1050-80.jpg

如果想亲自体验LinuxPDF,需要使用基于Chromium的浏览器,因为它在Firefox等其他浏览器上无法正常运行。当然,如果你不想亲自尝试,也可以观看Ading2210发布的视频,看看LinuxPDF是如何启动、运行并响应一些基本命令的。和他之前的项目一样,LinuxPDF的源代码已经全部公开,可以在GitHub上查看和修改。感兴趣的读者可以前往GitHub,深入了解这个项目的细节,甚至尝试自己动手改进。

Github地址:linuxpdf


文章标签: #Linux #PDF #浏览器 #模拟器 #开源

负责编辑

  菠萝老师先生 

  让你的每一个瞬间都充满意义地生活,因为在生命的尽头,衡量的不是你活了多少年,而是你如何度过这些年。