如何在没有新 TTY 的情况下为每个程序创建单独的 XWayland 服务器?

如何在没有新 TTY 的情况下为每个程序创建单独的 XWayland 服务器?

Wayland 是流行的 X 显示协议的更简单、现代、更安全的替代方案;然而,有些程序在 Wayland 下会崩溃,因为它们是为 X 设计的。XWayland 的存在将 X 服务器作为 Wayland 客户端运行,任何需要 X 的程序都只需在 XWayland 下运行即可。 XWayland 与其他 Wayland 客户端一样是孤立的。

然而,在 XWayland 内,X 客户端并不是相互隔离的。这显然是一个问题。例如,Chrome 和 Tor 浏览器都不支持 Wayland,这意味着它们在 XWayland 下运行; Tor 浏览器中的漏洞可以绕过 Chrome 的安全功能并记录浏览器内容,从而使大部分安全措施变得毫无意义。

有没有办法为每个程序运行单独的 XWayland 服务器?这样,他们就会作为 Wayland 客户而被孤立。我不想使用新的 TTY,因为这会带来不便并改变工作流程。

答案1

我想出了怎么做。

在合成器中时,打开合成器的新实例(例如,Weston 中的 Weston),并在单独的实例中打开每个 XWayland 所需的程序。它们各自被隔离并拥有独立的 XWayland 服务器。

这是一个黑客行为,浪费了屏幕空间,所以如果其他人有更干净的解决方案,请回答。

相关内容