启动图形界面(grub2,plymouth,kdm,ksplash ) + 锁屏背景图片的修改

这是基本概念的扫盲贴,主要是告诉大家到哪里可以 DIY 自己的启动画面,在不久的也许会有一些更加具体的比如“grub2 主题 或 plymouth 主题 ”的介绍给大家。到时候大家可以一起玩,把 openSUSE 的华丽发扬光大。。。

好了言归正传。如题,本文就是讲开机的启动画面,另外再梳理一个隔壁楼讨论过的锁屏图片修改。那么,最起码的,你可以把 openSUSE 所有默认的背景壁纸图片都给改掉了。。。

我们首先来梳理一下整个开机的过程(后两步是对 KDE 来说的),然后再一步步来讲如何修改它们:
1.grub2
2.plymouth
3.kdm
4.ksplash

我们一个一个来讲。

1.grub2
打开机子我们看到的第一个画面就是 grub2 了,在这里我们可以选择引导的系统或者内核。grub2 有很多非常漂亮的主题,定制性也很强。google 一下 grub2-themes,哇,是不是很惊艳。openSUSE 默认的主题非常的耐看,但是你完全可以自己 DIY 一个更加漂亮的。

grub2 的配置文件是放在 /etc/default/grub 和 /etc/grub.d 这两个地方,grub2 的漂亮主题则放在 /boot/grub2/themes 里面,在这里你可以看到一个默认的 openSUSE 主题。你也可以去网上下载一个别人完了直接解压到这个目录下,然后修改 /boot/default 里的下面两行

GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
GRUB_BACKGROUND=/boot/grub2/themes/openSUSE/background.png

顾名思义,第一个就是选择你的主题,第二个是选择你的 grub2 的背景图片。当然,你也可以去 YaST -> 引导装载程序 里通过图形界面修改。

你也可以在原来主题的基础之上修改。你可以通过编辑 openSUSE/theme.txt 来修改字体布局和背景。这个 theme.txt 大概就是这样的(我取前几行):

# openSUSE grub2 theme

desktop-image: "background.png"

title-text: ""

terminal-box: "terminal_box_*.png"
terminal-font: "Gnu Unifont Mono Regular 16"

+ boot_menu {
  left = 33%
  width = 50%
  top = 25%
  height = 50%

你会发现其实就算什么没学过也可以看个大概,并不十分难。比如我们来改一个背景图片。在 openSUSE 主题的 theme.txt 和 grub 里的 GRUB_BACKGROUND 都注明了默认所使用的图片是 /boot/grub2/themes/openSUSE/background.png,我们可以添加一个图片再修改通过修改 theme.txt 和 /etc/default/grub 来让 grub2 来找到它,也可以直接替换 background.png。我选择后者来实验一下。

首先备份原有图片

mv /boot/grub2/themes/openSUSE/background.png /boot/grub2/themes/openSUSE/background_old.png

再将比如你主目录下的一个你喜欢的 png 文件 cp 过去

cp ~/your.png /boot/grub2/themes/openSUSE/background.png

好了,重启,你可以看到新的引导界面了,就这么简单。我们来看下一步。

2.plymouth

grub2 引导以后,就是 plymouth 了,openSUSE 以前用的是 bootsplash ,据说再之前用的是 splashy 。在 12.2 以后改用了 plymouth, 这个 plymouth 修改主题感觉比 bootsplash 什么的方便很多,我们直接在 YaST 里就搜 plymouth-theme 就可以搜到很多现成的主题,它们会被自动安装在 /usr/share/plymouth/themes 目录下,你也可以上网下载别的主题包直接解压到这个目录下,然后运行

plymouth-set-default-theme

可以显示你正在使用的主题,使用

plymouth-set-default-theme -l

可以列出你安装好了的主题
在其中选择一款你喜欢的主题(比如我安装了的 fade-in)设置为默认

plymouth-set-default-theme -R fade-in

另外的还有 script、solar、spinner 这些,你们也可以 google 一下看看他们是什么样的,当然这个也可以自己制作,但稍微烦琐一点,这里先跳过。。。(好吧,其实是我还没学会。。。)

3.kdm

因为我用的是 kde, 所以到这里就是 kdm 了。 kdm 就是那个登陆屏幕。 如果你和我一样是自动登陆的你看不到它,可以忽略。如果不是,你可以在 系统设置 -> 登陆屏幕 -> 主题 里选择自己喜欢的主题。这里的主题你可以通过“获得新主题”下载,也可以从网上,比如 kde-look.org/suse-art.org/ 下载喜欢的主题,然后解压到 /usr/share/kde4/apps/kdm/themes/ 目录下,完了就可以在这个系统设置里选择它了。但是貌似有时候会不行。那么,你可能需要这样做:

YaST -> /etc/sysconfig -> Desktop -> Display manager -> DISPLAYMANAGER_KDM_THEME 

将里面默认的值 openSUSE 改成你选择的主题的名字。

至于自己 DIY,你可以在 系统设置 -> 登陆屏幕 -> 常规 里去掉使用欢迎主题的勾,完了在后面的 对话框 背景 标签里自己搭配。或者直接去 /usr/share/kde4/apps/kdm/themes/ 目录下修改已有主题。比如默认的 openSUSE,它的配置就是写在 /usr/share/kde4/apps/kdm/themes/openSUSE/openSUSE.xml 里的。对照这个 openSUSE.xml 可以自己写自己的 kdm。至于修改背景图片什么的,和刚才的 gurb2 几乎是一模一样的,替换该主题目录下的四个 background-*.jpg 文件就可以了。

4.ksplash

到最后一步 ksplash 了 ,这就是 kde 的启动画面啦。这个在 系统设置 -> 工作空间外观 -> 欢迎屏幕 里可以选择你喜欢的主题。同样的,和 kdm 一样你可以通过“获取新主题”获取你喜欢的主题。也可以到 kde-look.org/suse-art.org/ 下载你喜欢的主题解压到 /usr/share/kde4/apps/ksplash/Themes/ 或者 ~/.kde/share/apps/ksplash/Themes 目录下。而关于 ksplash 的主题配置文件,是写在一个主题目录下一个 Theme.rc 文件里的,这个文件也很简单,比如默认的 ksplashx-suse 只有这样几行

[KSplash Theme: ksplashx-suse]
Name = openSUSE 12.3
Description = KDE openSUSE 12.3 Splash
Version = 1.0
Engine = KSplashX

也会有复杂的里面有别的文件比如 main.qml 之类的东西。但如果要换个自己喜欢的背景图片什么的是非常容易,就不多讲了。

  1. 修改锁屏背景

这个隔壁楼有讨论,这里剽窃一下别人的成果。。。

vim /usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/main.qml 

找到

theme.wallpaperPathForSize(parent.width, parent.height)

这行,用 # 注释掉它,在他的下面添上一句

"your_picture.jpg"

这个 your_picture.jpg 就是你想要的壁纸的名字,把它放到 /usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui 目录下就可以了。
当然,更多 DIY 可以通过修改这个 main.qml 来实现。

好了,暂时就是这么多了,欢迎大家补充各个环节更加详细的修改方法&& 分享自己的设置。

2赞

:joy: 学习了,谢谢楼主的教程

顶,学习了,有时间改改

不错,可以个性化开机啦!

1、我现在用的是 gnome,请问 GRUB2 的分辨率能设置成 1366x768 吗?我现在最大只能改成 1024x768.
2、我在网上下载的 plymouth 主题按照你的方法解压之后放到指定的文件夹,然后终端安装,步骤都一样,但是重启却看不到效果,是黑屏;在 YaST 上面直接安装的虽然不是黑屏,但是每个都一样,就底下出现一个进度条外加几行命令就什么都没有,只有那个 solar 有个太阳转了几下(只出现在关机的时候,开机的时候没有画面显示)。
3、gnome 下应该是 gdm 吧,那应该怎样换背景呢?还有 kde 下的 ksplash 在 gnome 下是什么,怎么改背景?因为涉及到的路径不一样,所以不敢随便乱动~

  1. 理论上在 YaST 中的引导选项里可以设置
  2. 其实我想说即使是官方包里的 plymouth 安装好也不是每个都可以用的。这个你要折腾就要深入了。请自行查看 plymouth 的文档
  3. 请自行 google,我还没有打算叛变 kde。。。。

PS:楼上真的打算要定制启动界面么。我来泼一个冷水好了,这不是一个人可以干的事情。美工这个东西要靠主动学习 + 平时积累,你网上随便 down 几个主题拼凑在一起整体性一定是不强的。不客气的说一定丑的要命。要想做好真的是时间 + 精力。。。。没有你想的那么简单。。。。

电脑是给人用的,不如先学好日常使用,多学点 gnome 的小技巧多好啊。干这个又苦又累。