如何在 lolcat、Debian 8(和 systemd)启动时显示自己的欢迎信息?

如何在 lolcat、Debian 8(和 systemd)启动时显示自己的欢迎信息?

我想在启动时运行此命令:

/usr/games/lolcat /home/decker/file-with-text-content

此命令打印 /home/decker/test 文本文件的“彩色”内容。因此它类似于启动过程中的欢迎消息。

登录终端时测试了此命令。

我尝试了以下方法,但没有任何效果:

  1. 在 /etc/rc.local 中添加了“/usr/games/lolcat /home/decker/test”
  2. 创建了应该在启动时启动的 systemd 服务。(并且已成功启动,但我没有看到彩色内容......)
  3. (非常)绝望地将“/usr/games/lolcat /home/decker/test”添加到 /etc/init.d/procps。我非常绝望……

尝试了使用和不使用“安静”内核启动参数。

在我那个年代,还没有 systemd 的时候,这很简单。我不知道现在该怎么办。

在理想情况下,我希望在使用“quite”内核启动参数时将其放置在 fsck 消息之后。(因此,将只存在带有启动内核名称、fsck 和彩色欢迎消息的消息)。我不想使用 plymouth。

编辑:所以,再次感谢大家的回答。我们取得了进展,但仍然没有成功。没有彩虹。我在 journalctl.conf 中添加了 3 行。其他所有内容都被注释掉了,所以这 3 行“单独”存在。然后我在我的单元中添加了 2 行。我的单元内容是:

[Unit]
Description=Peace Unicorn

[Service]
Type=simple
ExecStart=/bin/cat /home/decker/test5
StandardOutput=tty-force
TTYPath=/dev/tty12

[Install]
WantedBy=multi-user.target

当我重新启动系统时,systemd 打印了此错误:

[    4.817429] systemd[1]: [/etc/systemd/system/unicorn.service:7] Failed to parse output specifier, ignoring: tty-force

第七行是这样的:标准输出=tty-force。我尝试将其更改为仅“tty”,但没有打印任何内容。

另外,我将“lolcat”更改为“/bin/cat”,以便暂时关注 systemd 问题。

答案1

您的彩虹将被发送到 journalctl,它管理所有 systemd 单元的 stderr 和 stdout。如果您想为单个单元启用 tty 输出,请在您的单元的 [Service] 部分下添加此项

StandardOutput=journal+console
TTYPath=/dev/tty12

这不会保留任何格式代码,例如颜色和额外空格

来源

相关内容