直接从 Linux 启动启动图形应用程序(没有详细的启动消息和桌面)

直接从 Linux 启动启动图形应用程序(没有详细的启动消息和桌面)

是否可以从最小的 Linux 核心 (Linux/Android) 启动到应用程序(最好使用可互换平台语言创建,例如 C# – Mono / GTK / Java / C),而屏幕上不会出现任何详细的 Linux 启动消息?

基本上打开操作系统后,除了 GUI 应用程序之外什么也看不到(没有 Linux 消息,没有桌面)。

我希望在一个完善的简单平台上做到这一点,也许是 Linux、Android 甚至 Chrome 或任何其他更有意义的选项。

什么选项是最容易或最合适的。 (为了简单起见并减少生产时间)。

目的是在 PC/Raspberry pi/嵌入式上创建单一用途应用程序(类似于 XBMC 或充当单一用途设备的任何其他媒体应用程序)。

答案1

这应该是可能的。

这就是典型的 Linux 计算机的启动方式 -

BIOS -> 
Bootloader -> 
Linux Kernel -> 
INIT runs start-up scripts -> 
Login Screen -> 
Desktop Environment and / or Windows Manager

基本上,当计算机启动时,它会寻找引导加载程序。对于 Linux,通常是 GRUB 或 LILO。然后 GRUB 或 LILO 加载 Linux 内核。内核检测硬件并加载适当的驱动程序,安装驱动器并执行内核应该执行的所有其他操作。它还运行 init 程序,该程序还负责根据启动脚本创建其他进程。

在这里阅读更多内容:Linux启动流程

回到您的问题,您看到的所有启动/信息消息都是在启动的每个阶段生成的。 BIOS 将显示启动屏幕,引导加载程序为您提供选择内核等的选项。

只需检查您正在使用的 Linux 发行版中使用的每个组件(引导加载程序、内核、启动脚本等)的手册/文档,并检查它们是否有选项/配置可以打开关闭这些消息。 (如果他们没有选项,您可能必须重新编写这些脚本,以便不显示这些消息。)最后更改/创建一个启动脚本,该脚本在您的 Linux 内核运行时立即运行您的 GUI 程序在里面。

提示:结帐Debian 网络安装。它是一个最基本的 Linux 系统。 (只需在没有互联网连接的情况下安装即可)。

答案2

这是可能的。

您可以在没有桌面环境的情况下启动 GUI 应用程序。例如,您想启动 chrome。基本思想是创建一个chrome.desktop/usr/share/xsessions/这样的:

[Desktop Entry]
Name=Web Browser
Comment=Use a web browser as your session
Exec=/usr/bin/google-chrome --auto-launch-at-startup
TryExec=/usr/bin/google-chrome --auto-launch-at-startup
Icon=google-chrome
Type=Application

这个维基可能会有所帮助。

https://wiki.archlinux.org/title/Display_manager#Starting_applications_without_a_window_manager

相关内容