如何在CentOS 7中更改启动Splash图像
在此方法中,如何在CentOS 7教程中更改Boot Splash镜像,我们将看看CentOS 7上设置自定义溅屏的不同方式。
默认情况下,CentOS将在启动时显示进度条。
此进度条将继续显示,直到启动过程完成,我们可以使用登录屏幕呈现。
在所有Linux发行版中,我们可以在操作系统通过GRUB引导程序修改启动时更改屏幕上所看到的内容。
本教程的某些部分特定于CentOS,但其他部分可以是其他Linux发行版的参考点。
在引导文件和GRUB配置文件的位置中只有几个差异。
设置准备工作:
我假设我们正在使用GUI的CentOS或者Ubuntu Desktop,以创建飞溅屏幕图像。
对于任何其他发行版,我们可以通过参考其文档来安装依赖项,仅适用于使用转换工具和GIMP的文档。
方法1:将XPM.gz Splash镜像复制到/boot/grub目录
如果我们懒得创建自定义镜像以便在Splash屏幕上使用,请先,在Web上下载随机图像:
# wget http://i1-news.softpedia-static.com/images/news2/io-js-Will-Be-Merging-Back-into-Node-js-482552-2.jpg -O splash.jpg
这是一个JPG图像,我们需要转换为PNG并调整它以适合我们的屏幕。
其中我正在使用640x480分辨率。
我们可以将其扩展到所需的屏幕分辨率。
# convert splash.jpg -resize 600x400 -colors 14 -depth 16 -normalize -verbose theitroad.xpm splash.jpg=>linoxede.xpm JPEG 1024x768=>533x400 533x400+0+0 16-bit PseudoClass 14c 213KB 0.710u 0:00.540
对于有兴趣创建自定义图像的人,我们可以使用GIMP进行此工作。
GIMP是一个免费的和开源的光栅图形编辑器,用于图像修饰和编辑,自由形式绘图,在不同图像格式之间转换,以及更专业的任务
在CentOS上,通过运行安装GIMP:
$sudo yum install gimp
要在Ubuntu上安装gimp包,请运行:
$sudo apt-get install gimp
要在Arch上安装Gimp Package,请运行:
$sudo pacman -S gimp
在CentOS上安装2-D绘图工具TGIF和字体
$sudo yum install tgif xorg-x11-fonts-ISO8859-1-75dpi xorg-x11-fonts-ISO8859-1-100dpi
在Ubuntu上安装2-D绘图工具TGIF和字体
$sudo apt-get install tgif xfonts-100dpi xfonts-75dpi
在gimp上创建图片
既然我们有我们需要开始的工具,让我们继续创建用于GIMP上的飞溅屏幕的图像。
在GIMP上创建一个镜像,适合屏幕显示,我们可能必须检查屏幕分辨率。
在此示例中,我将创建一个具有1080x920的分辨率的图像,电容英寸显示为10.
打开GIMP应用程序窗口,通过导航到文件创建新图片 - >新建
对于宽度,我将使用1080和高度920,然后单击"确定"。
在创建的画布上,绘制我们所需的图像,一旦完成,将其导出为onitad.xpm
检查文件是否已成功创建:
# ls -lh | grep li -rw-r--r--. 1 root root 211K Jan 19 10:34 theitroad.xpm
压缩创建的文件:
# tar cvf theitroad.xpm.gz theitroad.xpm
将此文件复制到/boot/grub目录
# cp theitroad.xpm.gz /boot/grub
检查/引导/grub目录的当前内容:
# ls /boot/grub theitroad.xpm.gz splash.xpm.gz
现在通过添加线来修改grub2.conf:
GRUB_BACKGROUND="/boot/grub/theitroad.xpm.gz"
我们也必须注释这条线:
GRUB_TERMINAL_OUTPUT="console"
我的grub设置如下所示:
# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true #GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet" GRUB_DISABLE_RECOVERY="true" GRUB_BACKGROUND="/boot/grub/theitroad.xpm.gz"
然后重新生格grub配置文件:
对于CentOS 7.x,Run
# grub2-mkconfig grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found background: /boot/grub/theitroad.xpm.gz Found linux image: /boot/vmlinuz-3.10.0-693.11.6.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-693.11.6.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-11caeeaf1aba438f99400d0a22b9e92a Found initrd image: /boot/initramfs-0-rescue-11caeeaf1aba438f99400d0a22b9e92a.img done
我们应该为新启动屏幕提供设置的设置,继续重新启动操作系统并检查新添加的屏幕飞溅是否会显示。
请注意,也可以在不接触GIMP或者进行任何转换的情况下使用.jpg或者.png图像。
为此,GRUB配置文件我们有这些行:
#GRUB_TERMINAL_OUTPUT="console" GRUB_BACKGROUND="/boot/grub/theitroad.jpg"
然后:
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found background: /boot/grub/theitroad.jpg Found linux image: /boot/vmlinuz-3.10.0-693.11.6.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-693.11.6.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-11caeeaf1aba438f99400d0a22b9e92a Found initrd image: /boot/initramfs-0-rescue-11caeeaf1aba438f99400d0a22b9e92a.img done
方法2:使用普利茅斯更改启动闪烁屏幕
其中将介绍如何使用普利茅斯脚本来修改CentOS 7 Splash引导屏幕。
我们需要安装ImageMagick,它提供转换包,用于将图像从一种格式转换为另一个格式,
$sudo yum install ImageMagick plymouth-plugin-script
让我们下载我们正在使用的图像,我们正在下载.jpg镜像,然后我们将它转换为.png。
$wget http://i1-news.softpedia-static.com/images/news2/io-js-Will-Be-Merging-Back-into-Node-js-482552-2.jpg -O splash.jpg $convert splash.jpg splash.png $file splash.png splash.png: PNG image data, 1024 x 768, 8-bit/color RGB, non-interlaced
创建新的主题目录,该目录将托管用于新主题的文件。
$sudo mkdir /usr/share/plymouth/themes/theitroad
将转换后的Splash PNG图像复制到上面创建的目录:
# cp splash.png /usr/share/plymouth/themes/theitroad
创建新的文件,我们在这里命名为theitroad.ply uouth。
# cat /usr/share/plymouth/themes/theitroad/theitroad.plymouth [Plymouth Theme] Name=theitroad Description=theitroad CentOS 7 Theme ModuleName=script [script] ImageDir=/usr/share/plymouth/themes/ ScriptFile=/usr/share/plymouth/themes/theitroad/theitroad.script
现在我们需要创建一个用于生成主题的脚本。
# cat /usr/share/plymouth/themes/theitroad/theitroad.script wallpaper_image = Image("splash.png"); screen_width = Window.GetWidth(); screen_height = Window.GetHeight(); resized_wallpaper_image = wallpaper_image.Scale(screen_width,screen_height); wallpaper_sprite = Sprite(resized_wallpaper_image); wallpaper_sprite.SetZ(-100);
现在我们拥有我们需要的一切,并使用此主题生成新的ramdisk
# plymouth-set-default-theme -R theitroad