2012-12-20 20 views
1

我正在为嵌入式硬件编写一套Linux帧缓冲区应用程序。主应用程序在/ etc/inittab的tty1上运行(目前它只是一个触摸屏测试),并且应该永久运行。第二个应用程序是在按下电源按钮时从acpid执行的,并且应该询问用户他是否真的想关闭设备,并从触摸屏读取用户答案。我想要的是,第二个应用程序在运行时会接管framebuffer,然后释放它并恢复屏幕状态,以便主应用程序可以继续而不重新启动。两个应用程序使用帧缓冲区

这种情况可能有2个不同的应用程序,他们应该如何互动?现在第二个应用程序在主应用程序运行时不能绘制任何东西。

我知道我可以杀死并重新启动主应用程序,或者将主动应用程序的poweroff通知移到主应用程序,并且只是发送一个信号给它,但这些解决方案似乎并不是最优的。

回答

0

当然,一种解决方案应该是拥有三个应用程序,一个用于实际的帧缓冲交互,另外两个只是通过某种形式(例如通过管道,套接字或类似方式)发送消息。这就是“窗口管理器”和类似的工作方式(但当然更复杂)

+0

这是一个很好的方法,但它需要开发一些交换协议,并且这种协议在一段时间后可能会变得相当复杂。 – Eugene