启动程序以在登录前启动时显示文本

启动程序以在登录前启动时显示文本

所以我用 C 语言编写了一个简单的 UI。它是只读的并显示系统信息,如磁盘空间、网络信息等。

我正在运行 ubuntu 服务器 14.04,当前当设备启动时,系统会提示我经典的 ubuntu 文本登录和密码提示。相反,我希望我的程序可执行文件(用 gcc 编译)在登录提示之前运行并显示。最好的方法是什么?

请原谅我缺乏“术语”。我在这个领域相对较新,并且在 shell 脚本方面没有太多经验。如果需要更多信息来回答这个问题,请告诉我。我自己在措辞上遇到了一些麻烦。:) 提前致谢!

编辑:通过图片来了解想法。这是类似的东西,尽管这只是我在谷歌搜索时发现的东西来展示这个想法。

编辑2:最好在用户登录之前显示TUI;然而,实际上,无论是在提示用户输入登录名和密码之前还是之后,都没有关系。 在此输入图像描述

答案1

等待用户在文本控制台上登录的程序通常称为盖蒂。 (顺便说一句,GUI登录对应的程序类型是显示管理器)这也是提示输入用户名的程序。提示输入密码的程序是login。 getty 有多种实现方式; Ubuntu 14.04 中的默认值是阿吉蒂

在你的情况下,我认为最简单的解决方案是告诉agetty 1.不提示输入用户名,2.调用一个运行你的程序的脚本,然后调用login并告诉login显示用户名提示。

剧本:

#!/bin/sh
yourprogram
exec /bin/login

如何配置 getty:编辑/etc/init/tty1.conf其他控制台的类似文件。将行更改exec

exec /sbin/getty -l /path/to/script --skip-login -8 38400 tty1

另一种可能性是利用 getty 显示文件的事实/etc/issue在登录提示之前。如果您只想显示不经常更改的文本,那么您可以将该文本写入/etc/issue.虽然你可以安排文件具有动态内容,这比更改 getty 调用要困难一些。但它也适用于其他登录服务,例如 SSH。

相关内容