“askfirst” getty 与 systemd(“按 Enter 键激活此控制台”)

“askfirst” getty 与 systemd(“按 Enter 键激活此控制台”)

在带有 的 Debian Jessie 系统上systemd,如何配置终端,以便Press enter to activate this console显示类似的消息,并且在按 Enter 之前不会出现登录提示?

通过inittab配置就可以做到这一点askfirst,但是如何做到呢systemd

如果可能的话我更喜欢调整适当的配置文件,而不是systemd直接弄乱现有的单元文件 - 就像有的那样,logind.conf但不幸的是,配置文件在这种情况下不会有帮助。

答案1

可以通过配置...来/etc/inittab完成此操作askfirst

事实上,它不能。这是initLinux System 5 克隆中不存在的BusyBox机制,这是它们的配置文件不相同的init几种方式之一。/etc/inittab

在 systemd Linux 操作系统上执行类似操作的方法取决于实际执行的操作。尽管您显然在这里,但不一定仅将其用于交互式终端登录。

的一种常见用途askfirst是简单地用于没有为未使用的虚拟终端运行getty+系统login。 systemd 不需要为此进行非默认设置。使用 systemd,logind打包的服务已经安排为仅在虚拟终端切换到前台时按需启动服务。终端登录不在尚未切换到的虚拟终端(并且不是第一个或“保留”虚拟终端)上运行。autovt@N.service

稍微不同的语义,在切换到虚拟终端之前不启动getty+系统login并按下回车键,稍微难以实现,因为它们涉及打开一个getty选项或插入一个程序来打印一条消息并在链接到 之前等待一行输入getty

只有少数getty程序有这样的选项,例如 Peter Orbaek 的agetty程序有--wait-cr.大多数(例如菲利克斯·冯·莱特纳(Felix von Leitner)fgetty和弗洛里安·拉罗什(Florian La Roche mingetty))都没有。其余的(例如 Gert Doering 的mgetty)需要调制解调器及其所有附件——当然虚拟终端没有这些,这使得使它们适应虚拟终端的使用有些棘手。

链式加载相当于--wait-cr在虚拟终端上,一个简单的程序,打印一条消息,然后从终端读取一行(以规范模式),然后链式加载,是一个相当简单的程序。

使用此类选项、使用不同的getty程序或在“之前”插入实用程序链加载程序,都涉及在withgetty下写入一个或多个单元文件覆盖文件(更改设置)或简单地指向自己设计的本地单元文件于。/etc/systemd/systemsystemctl editExecStart[email protected][email protected]

进一步阅读

相关内容