Ubuntu 18.04到20.04中/etc/issue文件的处理机制是否有变化?如何在20.04实现18.04的显示行为?
Ubuntu 18.04到20.04中/etc/issue文件的处理机制是否有变化?如何在20.04实现18.04的显示行为?
嗨,我来帮你搞定这个问题!确实,Ubuntu从18.04(Bionic)升级到20.04(Focal)后,控制台登录时/etc/issue的显示逻辑有了调整——18.04里按回车会重新显示内容,但20.04默认只显示一次。下面我带你一步步恢复18.04的行为:
方法一:通过systemd服务配置修改(支持单个/所有TTY)
这是最推荐的方式,直接修改getty服务的启动参数:
- 先创建getty服务的自定义配置目录(如果不存在的话):
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d - 编辑配置文件:
sudo nano /etc/systemd/system/getty@tty1.service.d/override.conf - 在文件中粘贴以下内容,覆盖默认的ExecStart参数:
这里的[Service] ExecStart= ExecStart=-/sbin/agetty --noclear --issue-file=/etc/issue %I $TERM--issue-file=/etc/issue是核心:它让agetty每次启动(包括你按回车重启getty进程时)都重新读取并显示/etc/issue的内容。 - 保存退出nano(按
Ctrl+O回车确认,再按Ctrl+X退出)。 - 重新加载systemd配置并重启getty服务:
要是想让所有TTY都生效,把配置文件放到sudo systemctl daemon-reload sudo systemctl restart getty@tty1.service/etc/systemd/system/getty.target.d/override.conf下即可,步骤和上面一致。
方法二:修改agetty全局默认配置
还有一种更简单的方式,直接调整agetty的全局默认设置:
- 编辑
/etc/default/agetty文件:sudo nano /etc/default/agetty - 找到或添加一行内容,指定要加载的issue文件:
ISSUE_FILE="/etc/issue" - 保存退出后,重启所有getty服务:
sudo systemctl restart getty.target
为什么会有这个变化?
Ubuntu 20.04默认调整了agetty的启动参数,取消了自动重复加载/etc/issue的逻辑,目的是简化默认配置,但也带来了你遇到的这个差异。通过上面的配置,我们只是把18.04的默认参数重新加回去而已。
备注:内容来源于stack exchange,提问作者KevinDTimm
相关产品推荐
相关产品推荐

