如何使用 sabayon 在 GRUB2 Shell 中设置键盘布局

如何使用 sabayon 在 GRUB2 Shell 中设置键盘布局

我有一个意大利语键盘,我想在 GRUB shell 中设置正确的布局。

我在网上找到了许多使用grub-kbdcomp或 的教程grub-mklayout,但这些命令不适用于我的发行版。

如何设置正确的布局?

答案1

grub-kbdcomp只是一个 shell 脚本,它是 Debianckbcomp实用程序和grub-mklayout.尽管有一个 Gentoo Portage 软件包可以安装在 Sabayon linux 中并如下所示使用,但不存在用于 ckbcomp 的 Sabayon Linux Entropy 软件包。

  1. 由于没有 Entropy 包ckbcomp,因此通过 Portage 安装它。

1.1 安装Gentoo的Portage覆盖管理器。

    # equo install git
    # equo install layman

1.2 同步Gentoo Portage 包ebuild 树。

    # emerge --sync # Do not update portage if told to do so.

1.3 同步Sabayon发行版的Gentoo Portage覆盖包ebuild树。

    # layman -S

1.4 添加 Sabayon 发行版的 Gentoo Portage 覆盖层。

    # layman -a sabayon-distro

1.5 同步Sabayon发行版的Gentoo Portage覆盖包ebuild树。

    # layman -S

1.6sys-apps/ckbcomp由于没有 Entropy 包,因此通过 Portage 安装。

    # emerge -1v ckbcomp # Ignore any Gentoo news items.

1.7 告诉 Entropy 你通过 Portage 做了什么。

    # equo rescue spmsync
  1. 创建一个新的子目录来存储 GRUB 键盘布局文件。

    # mkdir /boot/grub/layouts
    
  2. 将 X11 键盘映射转换为 GRUB 键盘映射。 X11 键映射/usr/share/X11/xkb/symbols/it必须存在才能正常工作。

    # ckbcomp it nodeadkeys | grub2-mklayout -o /boot/grub/layouts/it.gkb
    Unknown keyboard scan code 0x54
    Unknown keyboard scan code 0x65
    Unknown keyboard scan code 0x7f
    
  3. 将 ' 附加GRUB_TERMINAL_INPUT=at_keyboard/etc/default/grub.

    # nano /etc/default/grub
    # tail -n 1 /etc/default/grub
    GRUB_TERMINAL_INPUT=at_keyboard
    
  4. 添加insmodkeymap线,如下所示。

    # nano /etc/grub.d/40_custom
    # tail -n 2 /etc/grub.d/40_custom
    insmod keylayouts
    keymap $prefix/layouts/it.gkb
    
  5. 检查哪些区域设置可用。

    # locale --all-locales | grep -i it
    
  6. (仅)更改/添加区域设置,/etc/default/sabayon-grub如下所示。保留其他条目(如果有),保持GRUB_CMDLINE_LINUX原样。

    # nano /etc/default/sabayon-grub
    # grep locale /etc/default/sabayon-grub 
    GRUB_CMDLINE_LINUX="locale=it_IT dolvm rd.lvm.lv=sabayon_sabayon/swap rd.lvm.lv=sabayon_sabayon/root resume=/dev/mapper/sabayon_sabayon-swap splash vconsole.keymap=it rd.vconsole.keymap=it quiet"
    
  7. 重新生成grub.cfg文件。

    # grub2-mkconfig -o /boot/grub/grub.cfg
    
  8. 检查是否grub.cfg已进行相应修改:

    # grep terminal_input /boot/grub/grub.cfg
    terminal_input at_keyboard
    # grep gkb /boot/grub/grub.cfg
    keymap $prefix/layouts/it.gkb
    # grep layouts /boot/grub/grub.cfg
    insmod keylayouts
    keymap $prefix/layouts/it.gkb
    
  9. 如果计算机使用 UEFI 而不是 PC BIOS,请更新 EFI 目录中的 GRUB 文件。

    # grub2-install --efi-directory=/boot/efi
    
  10. 重新启动以检查是否it已为 GRUB shell 加载键盘映射。

    # systemctl reboot
    

相关内容