编程语言
首页 > 编程语言> > 专用的单一应用程序li​​nux盒子

专用的单一应用程序li​​nux盒子

作者:互联网

参见英文答案 > How to create a custom Linux distro that runs just one program and nothing else?                                    5个
我正在设计一个将部署/安装到Linux机器上的应用程序(也许是Archlinux,但可能是任何发行版,事实上我实际上更喜欢轻量级的东西,如果可能的话,在Debian家族中).这台机器不是“通用”或多应用程序机器:它的唯一目的是在启动时运行我的应用程序并在关机时关闭我的应用程序.此计算机上不会安装任何其他最终用户应用程序.

我正在寻找一种方法:

>当用户启动计算机时,而不是正常的Ubuntu / OS启动 – > BIOS – >闪屏 – >登录过程,他们只看到我的应用程序的启动画面(系统和应用程序启动时),然后我的应用程序加载自己的外观和感觉
>使用机器时,他们无法访问任何其他应用程序,shell或操作系统的其他部分;他们可以访问的是我的应用程序
>运行时,应用占用整个屏幕,其窗口无法最小化或调整大小
>运行时无法关闭或杀死应用程序(作为软件),除了……
>关闭机器(物理上将其关闭)可以优雅地关闭应用程序并关闭底层操作系统

因此,最终用户永远不会知道机器在linux上运行;对他们来说,应用程序是唯一“生活”在机器上的东西.

这可能是因为Android只是Linux的一个包装器,并且有成千上万的其他设备只运行一个应用程序而已.

这可能是一个C二进制文件,它将Java桌面应用程序作为实际应用程序启动.

关于如何完成上述项目的任何想法?

解决方法:

我强烈建议Archlinux完成这项任务.它设法在默认安装极少数“最终用户”应用程序之间达到微妙的平衡,并且仍然留下一个可以构建的合理系统.

至于完成目标所需的步骤,在安装Arch之后,微调你想要在启动时运行的服务(在我的脑海中,听起来你可能想要less ttys).之后,install and configure X(该链接还有一个链接指向登录时启动X,您将需要).如果你想在启动时启动启动画面,你需要设置像Plymouth这样的东西.最后,systemd倾向于处理物理关闭(例如,一次按下消费类硬件上的电源按钮).但是,可能值得考虑为您将要运行的应用程序添加关闭功能.

如果您不需要很多功能,那么$HOME / .xinitrc可能非常基本.例如.:

exec /path/to/your/program/here

标签:linux,init,arch-linux,lightweight,small-distribution
来源: https://codeday.me/bug/20190813/1647166.html