gpt4 book ai didi

linux - Grub 2、更改shift按钮

转载 作者:太空宇宙 更新时间:2023-11-04 04:29:42 25 4
gpt4 key购买 nike

我是 linux 和 bash 的新手,所以我不知道我做错了什么。我设置grub不显示,按shift 3秒后显示。这很好用。然后我将 30_os-prober 中的行(如下所示)更改为“F11”,其中包含“shift”,正如我在这里读到的:http://www.gnu.org/software/grub/manual/grub.html (13.3.33)。现在,当我按 F11 时,没有任何反应,当我按 Shift 时,我可以看到“Grub 正在加载”,然后默认操作系统 (Ubuntu) 加载,但不显示 grub 菜单。

这是我的/etc/default/grub 内容的一部分:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT="Custom Menu"
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="splash"
GRUB_CMDLINE_LINUX=" splash vga=799 quiet"

这是(恕我直言)关键部分,来自/etc/grub.d/30_os-prober:

adjust_timeout () {
#if [ "x${found_other_os}" = "x" ] ; then
if [ "x${GRUB_HIDDEN_TIMEOUT}" != "x" ] ; then
if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
verbose=
else
verbose=" --verbose"
fi

if [ "x${GRUB_HIDDEN_TIMEOUT}" = "x0" ] ; then
cat <<EOF
if [ \${timeout} != -1 ]; then
if keystatus; then
if keystatus --F11; then << There I changed shift to F11
set timeout=-1
else
set timeout=0
fi
else
if sleep$verbose --interruptible 3 ; then
set timeout=0
fi
fi
fi
EOF
else
cat << EOF
if [ \${timeout} != -1 ]; then
if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
set timeout=0
fi
fi
EOF
fi
fi
#fi
}

谢谢。

最佳答案

您提供的链接中的 keystatus 文档(以及我遇到的其他 keystatus 文档)表明它仅接受 --shift --ctrl 或 --alt 作为特定于键的参数。也许它不适用于其他键,例如 F11。

另一件事需要注意的是 keystatus 显然不适用于所有平台。在这种情况下,您的第一个 keystatus 调用将返回 false,并且其余的 keystatus 条件逻辑将被跳过。

关于linux - Grub 2、更改shift按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4614192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com