解决方案:/etc/grub.d/06_local_colors

解决方案:/etc/grub.d/06_local_colors

我设法更改了启动屏幕上的背景,现在我需要将字体颜色设置为我可以阅读的颜色。我一直在 Ubuntu 论坛和 Ask 网站上搜索,也尝试过,但没有成功grub-customizer。我所需要的只是 grub 文件的正确代码。

下面是我当前 grub 的副本:

GRUB_DEFAULT="saved"
GRUB_SAVEDEFAULT="true"
#GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_BACKGROUND="/home/autumn/Pictures/grub/suckng.jpg"

menu_color_normal=black/black
menu_color_highlight=yellow/dark-gray
color_normal=black/black
color_higlight=black/black

答案1

我在使用 grub-customizer 的 ubuntu 13.10 中遇到了这个问题。在我的情况下,这是由于恢复到默认的 debian 主题而导致的,这使得图像出现在背景中,但所有文本都是灰色的。我通过编辑 /etc/grub.d/ 中的 05_debian_theme 文件解决了这个问题

$ sudo gedit /etc/grub.d/05_debian_theme

找到这样一段文字:

if [ -z "${2}" ] && [ -z "${3}" ]; then
        echo "  true"
fi

改成:

if [ -z "${2}" ] && [ -z "${3}" ]; then
    echo "  true"
    echo "    set color_highlight=light-blue/black"
    echo "    set color_normal=white/black"
fi

将颜色替换为您选择的颜色,记住 grub 将“黑色”视为透明。然后运行以下命令并重新启动:

sudo update-grub

如果这不能解决问题,请返回并按上述方法编辑主题。您将看到一个部分:

set_default_theme(){
case $GRUB_DISTRIBUTOR in
    Ubuntu|Kubuntu)
        # Set a monochromatic theme for Ubuntu.
        echo "${1}set menu_color_normal=white/black"
        echo "${1}set menu_color_highlight=light-blue/black"

        if [ -e /lib/plymouth/themes/default.grub ]; then
            sed "s/^/${1}/" /lib/plymouth/themes/default.grub
        fi
        ;;
    *)
        # Set the traditional Debian blue theme.
        echo "${1}set menu_color_normal=white/black"
        echo "${1}set menu_color_highlight=light-blue/black"
        ;;

将颜色更改为您需要的颜色,然后更新 grub,重新启动。

祝你好运,我希望这会有所帮助。

答案2

解决方案:/etc/grub.d/06_local_colors

问题是 update-grub 会重新创建您的 grub.cfg。在 Ubuntu 中配置 update-grub 的常用方法是编辑 /etc/default/grub,但不幸的是,它尚不支持文本颜色。

我们将使用一种较低级别的方法:在 /etc/grub.d/ 中创建一个脚本,它将输出我们想要在 grub.cfg 文件中显示的行。我们使用名称06_local_colors以便它将在 05_debian_theme 之后运行并覆盖颜色选择。

有三个简单的步骤。

步骤1。sudo editor /etc/grub.d/06_local_colors

粘贴此脚本:

#!/bin/sh
# /etc/grub.d/06_local_colors
# Override foreground/background colors with local admin's choices.  
#
# Note: be sure to chmod +x this file or it will not be used.
# After editing this file, run update-grub.
set -e
echo "Overriding foreground/background text colors ($0)" >&2

echo "${1}set color_normal=light-gray/black"
echo "${1}set color_highlight=black/light-gray"

# Set these if you'd like the menu options to be different than other text
echo "${1}set menu_color_normal=light-gray/black"
echo "${1}set menu_color_highlight=black/light-gray"

# NOTES

# Colors: red, green, blue, cyan, magenta, brown, light-gray, black
#
# Foreground has additional colors available:
#
#         light-red, light-green, light-blue
#         light-cyan, light-magenta, yellow, white, dark-gray

# Text background of "black" is transparent when a background image exists.
# (GRUB_BACKGROUND in /etc/default/grub).

# To change the font face and size, set GRUB_FONT in /etc/default/grub 
# to point to a .pf2 file crated by grub-mkfont.
# 
# sudo grub-mkfont --output=/boot/grub/fonts/DejaVuSansMono24.pf2 --size=24 \
#           /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf 

该脚本包含丰富的注释,因此调整起来应该相当简单。

第2步:sudo chmod +x /etc/grub.d/06_local_colors

该文件必须是可执行的,否则将不会被使用。

步骤3:sudo update-grub

更新成功完成后,只需重新启动即可查看 GRUB 中的新颜色。


进一步阅读

附注:为什么不使用 05_debian_themes?

虽然可以编辑系统文件05_debian_theme,如其他答案所述,但这不是个好主意。系统更新时可能需要覆盖该文件。

相关内容