嵌入式Linux与独立应用程序

时间:2014-08-08 11:37:28

标签: linux linux-kernel embedded-linux

我想制作只运行一个应用程序的Linux Os,而不会在启动或标题栏显示任何登录窗口,并最小化/最大化/关闭按钮。

有没有办法做到这一点?它是嵌入式平台,我已经为它构建了Linux操作系统,我也有应用程序。

1 个答案:

答案 0 :(得分:2)

简而言之 - X系统非常灵活。

系统启动时,它会执行以下步骤:

  1. 加载并运行内核(以及相关的initrd,如果有的话,但它无关紧要)
  2. 启动init(进程1)
  3. 启动系统服务,网络等
  4. 启动X服务器
  5. 启动Window Manager(负责调整窗口大小的应用程序等)
  6. 启动您的申请。
  7. 您需要做的是首先禁用GUI登录和会话(最容易禁用X) - 您将能够通过控制台终端登录(您始终可以使用Ctrl-Alt-F1访问它) )

    然后,按照

    的方式发布一些内容
    X &
    DISPLAY=:0 ./yourapp.exe
    

    如果您的应用可以处理自己全屏,那就是它。 将其添加到您的启动脚本中即可。


    更多解释

    Window Manager的目的是管理窗口。这很简单:)

    基本上,典型的X会话有3个组件。

    • X Server - 在硬件周围提供抽象层的软件(GPU驱动程序,键盘,鼠标,触摸屏等)。它有一个windows概念 - X客户可以吸引的区域。
    • X客户 - 其他所有。你的软件,如果它绘制的东西,可能是一个。 Web浏览器等也是如此。连接到X Server,并绘制。
    • 窗口管理器 - 一种特殊类型的X客户端,这款软件可以控制屏幕上的窗口。它经常绘制窗口装饰(最小化,最大化按钮),有时绘制任务栏等。

    您可以根据需要随意混合搭配。更简单,最简单的窗口管理器,例如我ratpoison,我更喜欢许多原型嵌入式系统只有全屏窗口的概念,并且可以在全屏应用程序之间切换(想想Windows 8 Metro)。其他人绘制窗户装饰,并允许重叠和级联窗户。

    由于开发Window Manager是一项简单的模块化任务,因此可以选择数百种。您也可以选择不使用一个,此时您的窗口必须自我管理(默认情况下,您无法移动它们)。许多应用都尊重-geometry 1920x1080+0+0参数,告诉他们在0,0角打开一个1920x1080分辨率的窗口 - 实际上是全屏。