本地主机上 LXC 来宾的 Fast X?

本地主机上 LXC 来宾的 Fast X?

如何在 LXC 容器内高效运行 X 应用程序?

ssh -Y guest

太慢了 - 没有图形加速ssh -Y- 一切都必须使用传统的 X11 协议通过虚拟网络传输。

能够在主机和来宾应用程序之间复制粘贴是可取的,但不是必需的。运行两台 X 服务器(一台用于主机,一台用于来宾)(就我的目的而言)是必不可少的。

我无法在来宾中运行本机 Xorg,因为它抱怨/dev/tty0丢失,而且我也无法mknod在来宾中运行该设备,因为我的权限被拒绝,即使以 root 身份执行也是如此。

答案1

你可能想尝试X普拉或者NX、VNC等也看看虚拟GL如果你想要GL加速。

如果您可以与主机共享目录,则可以将 mmap 与 xpra 一起使用(指定 mmap 文件的路径),这可以提供非常显着的性能改进。

答案2

笔记: 这个方法有点hack。它也不支持主机和来宾之间的复制和粘贴 - 并且完全没有安全感!

  1. 添加/tmp为来宾配置中的附加文件系统,该配置将传递到/tmp主机上。
  2. 确保您的 X 服务器未配置为接受任何类型的网络连接,因为下一步将禁用 X 安全性。
  3. xhost +在终端窗口中键入。
  4. 启动 LXC 来宾
  5. 以您想要的普通用户身份登录来宾(即不是 root),然后输入

DISPLAY=:0 Xephyr :2 -screen 1024x768 -dpi 96 &

DISPLAY=:2 /etc/X11/xinit/Xsession

在来宾内部(2如果您使用它连接到多个 LXC VM,请将两个 s 替换为要使用的屏幕编号。)调整分辨率 ( -screen) 和 DPI ( -dpi) 参数以适应。

其作用是建立到来宾中运行的 Xephyr 嵌套 X 服务器(使用 UNIX 域套接字和 MIT-SHM 扩展)的“代理”连接,以及从 Xephyr 到主机 X 服务器(使用 UNIX 域套接字)的另一个连接,但据我所知,由于 LXC 的设计,不能使用 MIT-SHM)。这似乎是 LXC 来宾可能实现的最快配置,至少对于我的硬件 (nvidia) 的开源驱动程序而言是这样。

相关内容