非 systemd 系统启动时控制台也会输出绿色的 ok, 该功能来自哪个模块?

其它类软件,非上述版软件
回复
offline
帖子: 42
注册时间: 2012-02-06 11:26

非 systemd 系统启动时控制台也会输出绿色的 ok, 该功能来自哪个模块?

#1

帖子 offline » 2023-04-18 19:20

  如果没有使用 quiet 等类似的内核参数,启动时可以看到控制台输出许多信息。如果一切正常,就显示绿色的 [ OK ], 如果出错了,就显示红色的 [FAILED]. 这个功能应该是 systemd 提供的吧?因为我定位到了相关代码:

https://github.com/systemd/systemd/blob ... core/job.c

在以上文件搜索 ANSI_HIGHLIGHT_RED 就会看到相关的代码。但假如用 sysvinit 替换掉 systemd, 启动时依然会输出类似信息,只是变成了小写。之前 systemd 的绿色 [ OK ] 变成了小写的绿色 [ ok ].


  我检索了一下 sysvinit 的代码,却没找到相应的关键词。那么这时候的绿色 [ ok ] 究竟来自哪个程序?难道是 systemd 的残留阴魂?我又在虚拟机里安装 Devuan 测试了一下,那是修改 Debian 去掉 systemd 的发行版。发现它启动时也有绿色 [ ok ], 具体哪里来的?我想定位到相关的代码看一下。
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 非 systemd 系统启动时控制台也会输出绿色的 ok, 该功能来自哪个模块?

#2

帖子 astolia » 2023-04-19 23:46

代码: 全选

echo -e "[\e[32mOK\e[0m]"
顺便
a.png
offline
帖子: 42
注册时间: 2012-02-06 11:26

Re: 非 systemd 系统启动时控制台也会输出绿色的 ok, 该功能来自哪个模块?

#3

帖子 offline » 2023-04-22 6:51

astolia 写了: 2023-04-19 23:46

代码: 全选

echo -e "[\e[32mOK\e[0m]"
顺便
a.png



谢谢回复,你没理解我的意思。我并非想知道怎么显示绿色的 OK, 而是要找出是哪个程序在显示。我知道 systemd 有相关代码显示这些东西,但已经用 sysvinit 替换了 systemd. 依然会显示,却在 sysvinit 中找不到相关代码。
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 非 systemd 系统启动时控制台也会输出绿色的 ok, 该功能来自哪个模块?

#4

帖子 astolia » 2023-04-22 11:25

offline 写了: 2023-04-22 6:51 谢谢回复,你没理解我的意思。我并非想知道怎么显示绿色的 OK, 而是要找出是哪个程序在显示。我知道 systemd 有相关代码显示这些东西,但已经用 sysvinit 替换了 systemd. 依然会显示,却在 sysvinit 中找不到相关代码。
那是你没找对地方。我上面的意思就是,这东西用shell代码一样可以实现,你只在sysvinit的那堆c代码里找是缘木求鱼
offline
帖子: 42
注册时间: 2012-02-06 11:26

Re: 非 systemd 系统启动时控制台也会输出绿色的 ok, 该功能来自哪个模块?

#5

帖子 offline » 2023-04-22 11:38

astolia 写了: 2023-04-22 11:25
offline 写了: 2023-04-22 6:51 谢谢回复,你没理解我的意思。我并非想知道怎么显示绿色的 OK, 而是要找出是哪个程序在显示。我知道 systemd 有相关代码显示这些东西,但已经用 sysvinit 替换了 systemd. 依然会显示,却在 sysvinit 中找不到相关代码。
那是你没找对地方。我上面的意思就是,这东西用shell代码一样可以实现,你只在sysvinit的那堆c代码里找是缘木求鱼



问题是具体哪个地方? 如果不能缩小范围,用关键词泛泛地搜索是很难定位出来的。
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 非 systemd 系统启动时控制台也会输出绿色的 ok, 该功能来自哪个模块?

#6

帖子 astolia » 2023-04-22 14:24

offline 写了: 2023-04-22 11:38 如果不能缩小范围,用关键词泛泛地搜索是很难定位出来的。
如果你觉得是在“泛泛地搜索”,那么说明你用的关键词还不够关键。
还有你不是开发者吗?按开发者的调试代码的思路走,也能很快定位到具体位置上
offline
帖子: 42
注册时间: 2012-02-06 11:26

Re: 非 systemd 系统启动时控制台也会输出绿色的 ok, 该功能来自哪个模块?

#7

帖子 offline » 2023-04-22 14:36

astolia 写了: 2023-04-22 14:24
offline 写了: 2023-04-22 11:38 如果不能缩小范围,用关键词泛泛地搜索是很难定位出来的。
如果你觉得是在“泛泛地搜索”,那么说明你用的关键词还不够关键。
还有你不是开发者吗?按开发者的调试代码的思路走,也能很快定位到具体位置上


当对启动流程了解不太清晰的时侯,调试那些东西很费精力。当然理论上任何东西都可以弄出结果了,不过既然你总是在冷嘲热讽,我就不奉陪了。
回复