Plymouth 从 initrd 开始,早在 /etc 目录中的配置文件可以访问和读取之前。当 plymouth 提示输入密码来解密根分区时,只能访问 initrd 中的文件。
使用 mdm、lightdm 等配置文件激活 numlock 的经典解决方案都不起作用。因为这些问候在普利茅斯之后开始。当我尝试基于“numlockx”的解决方案时,它们都不起作用。所以我推测 plymouth,至少在最近的版本中,是在 serverX 之前启动的。
在阅读了一些手册页和多次尝试后,当普利茅斯提示输入密码时,我终于成功激活了数字锁定。请注意,我是 Mint 17.3 用户,我的解决方案可能需要根据 Linux 发行版进行一些调整(请参阅“initramfs-tools”和“setleds”手册页)。Mint 和 Ubuntu 非常接近,因此实际上下面描述的过程可能是相同的,或者至少非常相似。
我不是 Linux 新手,但我不是“initramfs”阶段的专家......所以我很高兴任何可以使我的方法更安全的改进建议。
注意:请确保您确切知道如何从备用或备份的 initrd 启动操作系统,以避免在以下说明生成的 initrd 拒绝启动时陷入困境!
我们将使用 setleds 二进制文件来激活数字锁定。所以我们必须确保它可以从 initrd 映像内部使用。使用以下行在“ /etc/initramfs-tools/hooks ”目录(或其等效目录,根据您的 Linux 发行版)中创建一个文件“numlock” :
#! /bin/sh -e
PREREQ=""
prereqs () {
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
# Add setleds to initrd
if test -x /usr/bin/setleds ; then
copy_exec /usr/bin/setleds /usr/bin/setleds
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
将此文件标记为可执行文件:
# chmod 0755 numlock
Run Code Online (Sandbox Code Playgroud)
下次我们重建“initramfs”时,可以从 initrd 内部访问 setleds 二进制文件。
现在,我们只需要编写一个小脚本来使用 setleds 来激活数字锁定...主要问题是选择正确的时间来执行脚本。如果执行得太快,我猜 Plymouth 提示的 tty 还不可用,或者键盘配置有覆盖数字锁定状态的风险。如果在普利茅斯提示之后执行脚本,数字锁定将被激活得太晚......
根据我自己的实验,如果将脚本放在“/etc/initramfs-tools/scripts/init-top”目录中,并以“console_setup”和“brltty”作为先决条件,则一切正常(不完全确定这些先决条件是必要的,但它对我有用。可能,根据“/usr/share/initramfs-tools/scripts/init-top”目录中的键盘配置脚本更正它)。
只需在“ /etc/initramfs-tools/scripts/init-top ”中创建一个包含以下行的脚本“numlock”:
#!/bin/sh
PREREQ="console_setup brltty"
prereqs()
{
echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
prereqs
exit 0
;;
esac
if [ -x /usr/bin/setleds ] ; then
INITTY=/dev/tty[1-8]
for tty in $INITTY ; do
setleds -D +num < $tty
done
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
当然,将此文件标记为可执行文件:
# chmod 0755 numlock
Run Code Online (Sandbox Code Playgroud)
重新构建你的 initrd :
# update-initramfs -u
Run Code Online (Sandbox Code Playgroud)
如果幸运的话,下次启动时,numlock 应该会在 plymouth 提示符下自动激活。注意:我在几台生产计算机上成功地重现了此方法。其中只有一个在第一次重新启动时有点慢...但我怀疑这是由于 initramfs 配置文件中的另一个小错误造成的。
| 归档时间: |
|
| 查看次数: |
2283 次 |
| 最近记录: |