通过 ssh 的 MIT 共享内存扩展或 MIT-SHM

通过 ssh 的 MIT 共享内存扩展或 MIT-SHM

privileged lxc archlinux container我使用 lxc 在 archlinux 主机上成功创建了一个。我通过 dnsmasq 和 ssh 设置了一个静态 IP,并用于xauth转发X11。然后,我从诸如或 之mupdf类的编程语言中调用诸如 或 绘图函数之类的程序。虽然这一切都工作正常,但当我使用以下命令打开文件时,我不断地看到打印到控制台的错误消息:RMatlab*.pdfmupdf

     ximage: disabling shared memory extension: BadAccess (attempt to access private resource denied)

关于此的两个简短问题:

  1. 这个错误消息到底是什么意思?
  2. 如何解决此错误(或者可以安全地忽略)?

答案1

共享内存是一种无需使用套接字即可交换渲染图像的机制,该协议的工作原理如下:X 客户端创建共享缓冲区,X 客户端告诉服务器that's where you will find the images i create,服务器将自身“附加”到共享内存并在有共享内存时刷新更新后,该机制提供了 10 倍的套接字传输速度,但比零复制渲染慢。如果您愿意,可以通过设置这些环境变量来禁用此机制:

QT_X11_NO_MITSHM=1
_X11_NO_MITSHM=1
_MITSHM=0

相关内容