我正在计划一个可能涉及在 Linux 系统上操作屏幕输出的新项目。这个想法是使用相机检测站在投影仪前的人,并删除将转换到人身上的那部分图像。 (这样至少这个人不会被蒙蔽)。
所以基本上,我需要对辅助监视器进行中间人攻击。 我发现 XvfB(据我所知)可以模拟屏幕。我现在的想法是建立这样一个模拟屏幕,修改图像的内容,然后将新图像发送到真实的投影仪。
有人做过这样的事情还是有完全不同的方法?
最佳答案
我会使用 Composite 扩展来做到这一点。 您可以使用一个简单的复合管理器,例如 compton作为基地。
复合管理器接收所有其他 X11 客户端窗口作为帧缓冲区。然后它可以在自己的全屏窗口中以任何喜欢的方式呈现它们。
在您的情况下,复合管理器会通过屏蔽特定区域而偏离其通常的行为。这似乎是对现有代码库的一个相当小的更改。
请注意,大型桌面(KDE、Gnome、Unity……)的窗口管理器都包含一个复合管理器。在这种情况下,您不能运行自己的,但需要修补相应窗口管理器的复合模块。
然而,为了您的目的,我想更改为更简单的窗口管理器 + 您的自定义复合管理器解决方案并没有太大的坏处。
关于linux - 如何操作屏幕输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841588/