MIT 共享内存扩展或 MIT-SHM over ssh

lor*_*age 3 ssh x11 xauth lxc

privileged lxc archlinux container使用 lxc 在 archlinux 主机上成功创建了一个。我通过 dnsmasq 和 ssh 设置了一个静态 ip,然后我xauth用来转发X11. 然后,我mupdf从诸如R或 之类的编程语言中调用诸如或绘图函数之类的程序Matlab。虽然这一切正常,但当我打开一个*.pdf文件时,我经常看到错误消息打印到控制台mupdf

     ximage: disabling shared memory extension: BadAccess (attempt to access private resource denied)
Run Code Online (Sandbox Code Playgroud)

关于这个的两个简短问题:

  1. 此错误消息究竟是什么意思?
  2. 如何解决这个错误(或者忽略它是否安全)?

小智 10

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

QT_X11_NO_MITSHM=1
_X11_NO_MITSHM=1
_MITSHM=0
Run Code Online (Sandbox Code Playgroud)