我想让 Linux 操作系统全屏只运行一个应用程序,而不在启动时显示任何登录窗口或标题栏和最小化/最大化/关闭按钮。
有什么办法吗?它是嵌入式平台,我已经为它构建了 Linux 操作系统,我也有应用程序。
最佳答案
简而言之 - X 系统非常灵活。
当您的系统启动时,它会执行以下步骤:
- 加载并运行内核(以及相关的 initrd,如果有的话,但它是不相关的)
- 启动 init(进程 1)
- 启动系统服务、网络等。
- 启动 X 服务器
- 启动窗口管理器(负责调整窗口大小等的应用程序)
- 启动您的应用程序。
您需要做的是首先禁用 GUI 登录和 session (最容易禁用 X)- 您将能够通过控制台终端登录(您始终可以使用 Ctrl-Alt-F1 访问它)
然后,按照
的方式启动一些东西X &
DISPLAY=:0 ./yourapp.exe
如果您的应用可以自行全屏显示,那就可以了。 将其添加到您的启动脚本中即可。
更多解释
窗口管理器的目的是管理窗口。就这么简单:)
基本上,典型的 X session 有 3 个组成部分。
- X 服务器 - 围绕硬件(GPU 驱动程序、键盘、鼠标、触摸屏等)提供抽象层的软件。它有一个窗口的概念——X 客户端可以进入的区域。
- X 客户 - 其他一切。你的软件,如果它绘制了一些东西,很可能就是一个。网络浏览器等也是如此。连接到 X 服务器,然后绘制。
- 窗口管理器 - 一种特殊类型的 X 客户端,该软件能够控制屏幕上的窗口。它经常绘制窗口装饰(最小化、最大化按钮),有时绘制任务栏等。
您可以随意混合搭配它们。更简单、极简主义的窗口管理器,例如我的 ratpoison
,我更喜欢它用于许多原型(prototype)嵌入式系统,它只有全屏窗口的概念,并且可以在全屏应用程序之间切换(想想 Windows 8 Metro)。其他人绘制窗口装饰,并允许重叠和层叠窗口。
由于开发窗口管理器是一项简单且模块化的任务,因此实际上有数百种可供选择。您也可以选择完全不使用,此时您的窗口必须进行 self 管理(默认情况下您将无法移动它们)。许多应用程序都遵循 -geometry 1920x1080+0+0
参数,告诉它们在 0,0 角以 1920x1080 分辨率打开一个窗口 - 有效地全屏。
关于linux - 带独立应用程序的嵌入式 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25202647/