我有一个使用对话框的 bash 脚本,它基本上只是检查某些服务的状态并将其显示为向上或向下。当我登录时运行它时,它工作正常。我似乎不知道如何配置 CentOS 7 以在系统启动时运行此脚本和对话框。理想情况下,一旦 CentOS 完成加载所有服务,它只会向用户显示此对话框,而不是显示登录提示。我的研究似乎一直指向使用 systemd 创建服务,但我似乎找不到适合我的需求的示例。提前致谢。
答案1
老实说,systemd 服务不应该运行交互式事件。但是,您应该调查初始设置文本.service,它的作用类似于您所要求的。
答案2
我假设你没有使用 GUI?您希望将这些结果显示在系统登录横幅通常所在的位置(就在登录提示之前)吗?
我的第一个想法是添加一个依赖于所有其他服务并写入 /etc/issue 的服务。
但如果您想“而不是”登录提示执行此操作,您将如何登录?
答案3
它看起来不太漂亮,dialog
但您可以编写脚本来添加其结果,/etc/issue
以便它将立即显示在login:
提示之前。
不过,这些信息很快就会过时,因此您可能也应该从 cron 运行该脚本。
我建议在结果消息之前和之后添加一些独特的标记,以便 cron 作业可以在插入新消息之前搜索并删除旧消息。
或者,将一个/etc/issue.head
和/或一个/etc/issue.tail
文件与结果消息一起保存。
例如:
myprog > /etc/issue.results
cat /etc/issue.head /etc/issue.results /etc/issue.tail > /etc/issue