我正在为嵌入式硬件编写一组 Linux 帧缓冲区应用程序。主应用程序在/etc/inittab 的 tty1 上运行(现在它只是一个触摸屏测试)并且应该永久运行。第二个应用程序在按下电源按钮时从 acpid 执行,它应该询问用户是否真的要关闭设备,并从触摸屏上读取用户的回答。我想要的是第二个应用程序在运行时接管 framebuffer,然后释放它并恢复屏幕状态,这样主应用程序就可以继续运行而无需重新启动。
对于 2 个不同的应用程序,这种情况是否可能,它们应该如何交互?现在第二个应用程序在主应用程序运行时无法绘制任何东西。
我知道我可以终止并重新启动主应用程序,或者将关机通知移至主应用程序并让 acpid 向其发送信号,但这些解决方案似乎并不是最佳的。
最佳答案
当然,一种解决方案是拥有三个应用程序,一个执行实际的帧缓冲区交互,另外两个仅发送消息(以某种形式,例如通过管道、套接字或类似方式)。这就是“窗口管理器”和类似工具通常的工作方式(当然要复杂得多)
关于linux - 使用帧缓冲区的两个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13977157/