【发布时间】:2014-05-13 12:55:08
【问题描述】:
我有一个/etc/init.d/foo 脚本,它在系统启动时启动,并永远监听某些感兴趣的事件。这些事件通常会在用户登录后发生,因此,本身与登录事件没有任何联系。
每当foo 检测到特定事件时,它需要启动第 3 方 GUI 应用程序,然后像以前一样继续侦听其他事件。
我观察到我可以从foo 启动非 GUI 脚本,但不能启动 GUI 应用程序。 (我有点知道我会在这里遇到障碍。)
问题:这个任务在 Linux 中一般是如何完成的?也就是说,从后台运行的某种守护进程启动程序在前台启动 GUI 应用程序。
注意:我没有这个第 3 方 GUI 应用程序的源代码。因此,任何解决方案都必须完全在其外部工作。
【问题讨论】:
-
在启动您的应用程序之前,您应该有有效的 X 会话或启动 Xserver。
-
但是 X 已经存在,因为所有事件都仅在 GUI 登录后发生。
标签: linux user-interface daemon launch init.d