有没有不使用 X11 的 Linux 图形用户界面?

Lan*_*nes 15 linux security x11

有没有不使用 X11 的 Linux 图形用户界面?

由于 X 的安全性很差 :O

例如:Ubuntu、Fedora - 还有什么?

目标:拥有一个没有 X 的桌面环境。 - 解决方案是什么?(例如:使用 Google Chrome 观看 Flash,使用 LibreOffice 编辑文档等,不使用基于文本的网络浏览器)

也许与帧缓冲区?但是如何?:O

Gil*_*il' 31

不,X 是 Linux 上唯一可用的 GUI。

过去曾有过竞争项目,但没有一个获得任何牵引力。编写像 X 之类的东西很难,需要做很多额外的工作才能在实践中得到一些可用的东西:你需要硬件驱动程序,你需要应用程序。由于现有应用程序使用 X11,您需要一个转换层(所以……您是否编写了新的东西,或者只是一个新的 X 服务器?)或者从头开始编写新的应用程序。

有一个正在进行的项目旨在取代 X:Mir。它得到了 Canonical 的支持,他们希望在Ubuntu上对其进行标准化——但它在 Ubuntu 之外并没有获得很大的吸引力,所以它可能不会比Wayland(它是为 3D 性能而设计的,而不是为了安全)取得的成功。Mir 确实旨在通过允许应用程序有限的权限来改进 X 安全模型(例如,应用程序必须具有某种权限才能干扰其他应用程序的输入和输出);当人们想要截取屏幕截图并定义输入法时,这是否会扩展还有待观察。

您可以使用SVGAlib在没有 X 的情况下在 Linux 上运行一些图形应用程序。然而,这也不会带来任何额外的安全性(除了许多其他问题,例如硬件支持差、可用性差和应用程序数量少)。SVGAlib 有已知的安全漏洞,并没有引起太多关注,因此它可能还有更多。X 实现得到更多关注,因此您至少可以预期该实现与安全模型相匹配。

X 有一个非常容易理解的安全模型:任何连接到 X 服务器的应用程序都可以做任何事情。(这是一个安全的近似值,但相当现实。)您可以在此基础上构建一个更安全的系统,只需隔离不受信任的应用程序:将它们放在自己的虚拟环境中,在自己的 X 服务器上显示,并显示 X服务器在窗口中的显示。您将失去这些应用程序的功能,例如您必须在主机环境中运行窗口管理器和剪贴板管理器之类的东西。至少有一个基于这种方法的可用项目:Qubes


jas*_*yan 10

您提到的应用程序(Chrome、Flash、LibreOffice)都是为在 X11 或类似的显示服务器(如Wayland)中运行而构建的。

可以在控制台中运行各种应用程序[1],例如:

结合终端多路复用器,如tmux,您可以管理应用程序运行的各种“窗口”。

所有这些应用程序都可以在大多数发行版的存储库中找到。

[1] 对于我提供的每个示例,每个类别中可能至少有两到三个更多的应用程序可以做同样的事情……您需要一个帧缓冲区来使这项工作顺利进行。


rjm*_*nro 7

DirectFB在嵌入式应用程序中被大量使用。它提供了一个仅限本地的窗口和具有硬件加速等的图形环境。您可以使用XDirectFB在其下运行 X11 应用程序