使用 /etc/issue 自定义登录界面

当您首次启动全新的 LFS 系统时,登录屏幕会干净而朴素(这对于精简系统来说本该如此)。然而,许多人希望系统在登录信息中显示一些内容。这可以通过 /etc/issue 文件来实现。

/etc/issue 文件是一个纯文本文件,它也接受某些转义序列(见下文),以便插入系统信息。还有一个 issue.net 文件,可用于远程登录时显示。ssh 仅在您在配置文件中设置了相关选项时才会使用它,并且 不会 解释下面显示的转义序列。

人们最常想做的一件事是在每次登录时清屏。最简单的方法是将 “clear” 转义序列放入 /etc/issue。一种简单的方法是执行命令 clear > /etc/issue。这会将相关的转义码插入到 /etc/issue 文件的开头。请注意,如果您这样做,在编辑文件时,应保留第一行的字符(通常是 ‘^[[H^[[2J’)不变。

[注意]

注意

终端转义序列是终端识别的特殊代码。^[ 表示 ASCII ESC 字符。序列 ESC [ H 将光标置于屏幕左上角,ESC 2 J 清除屏幕。有关终端转义序列的更多信息,请参见 https://invisible-mirror.net/xterm/ctlseqs/ctlseqs.html

以下序列可被 agetty(通常解析 /etc/issue 的程序)识别。此信息来自 man agetty,您可以在其中找到有关登录过程的额外信息。

issue 文件可以包含某些字符序列以显示各种信息。所有 issue 序列都由一个反斜杠(\)后跟下面解释的字母之一组成(因此 /etc/issue 中的 \d 会插入当前日期)。

b   插入当前行的波特率。
d   插入当前日期。
s   插入系统名称,即操作系统的名称。
l   插入当前 tty 线路的名称。
m   插入机器的体系结构标识符,例如 i686。
n   插入机器的节点名称,也称为主机名。
o   插入机器的域名。
r   插入内核的发行号,例如 2.6.11.12。
t   插入当前时间。
u   插入当前登录的用户数量。
U   插入字符串 “1 user” 或 “<n> users”,其中 <n> 是当前登录的用户数量。
v   插入操作系统的版本,例如构建日期等。