Ubuntu18.04.5深度定制主题,修改背景图片壁纸开机动画,完美去掉默认背景紫色

您所在的位置:网站首页 系统启动图片 Ubuntu18.04.5深度定制主题,修改背景图片壁纸开机动画,完美去掉默认背景紫色

Ubuntu18.04.5深度定制主题,修改背景图片壁纸开机动画,完美去掉默认背景紫色

2023-04-02 06:27| 来源: 网络整理| 查看: 265

Ubuntu18.04.5深度定制主题,修改背景图片壁纸开机动画,完美去掉默认背景紫色 问题描述修改后的效果详细操作步骤0. 准备图片1. 修改背景:grub引导启动界面(一般系统不显示可跳过此步骤)2. 修改背景:开/关机动画3. 修改背景:选择用户登录输入密码界面4. 修改桌面壁纸和锁屏壁纸5. 修改背景:命令行终端6. 去掉进入桌面时以#2c001e为背景色的闪烁(高风险)

问题描述

如果你觉得Ubuntu的默认背景色看起来怪怪的,那就开始动手换掉它吧。

Ubuntu的默认背景色的值是#2c001e,此处对比网页白色背景,为了看着效果一样把色值调亮了

主要出现的位置有多处,对应需要不同的方法:

grub引导启动界面开/关机动画选择用户登录输入密码界面桌面壁纸和锁屏壁纸命令行终端进入桌面时以#2c001e为背景色闪烁 修改后的效果

详细操作步骤

以下步骤均在Ubuntu18.04.5上测试。其他版本上请小心驾驶,谨防翻车。

0. 准备图片

准备一张和显示器分辨率相同的png格式的图片wallpaper.png,运行如下命令。

sudo cp -i wallpaper.png /usr/share/backgrounds/ sudo chmod 644 /usr/share/backgrounds/wallpaper.png sudo chown root /usr/share/backgrounds/wallpaper.png sudo chgrp root /usr/share/backgrounds/wallpaper.png 1. 修改背景:grub引导启动界面(一般系统不显示可跳过此步骤)

运行

sudo gedit /etc/default/grub

找到GRUB_GFXMODE所在行

# The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480

修改GRUB_GFXMODE为你的分辨率,并去掉它前面的#。保存退出。

GRUB_GFXMODE=1920x1080

放置你的图片并更新grub

sudo ln -s /usr/share/backgrounds/wallpaper.png /boot/grub/ sudo update-grub 2. 修改背景:开/关机动画

运行

sudo ln -s /usr/share/backgrounds/wallpaper.png /usr/share/plymouth/themes/ubuntu-logo/wallpaper.png sudo gedit /usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.script

在最后添加三行,保存退出

wallpaper_image = Image("wallpaper.png"); wallpaper_sprite = Sprite(wallpaper_image); wallpaper_sprite.SetZ(-100); 3. 修改背景:选择用户登录输入密码界面

运行

sudo gedit /etc/alternatives/gdm3.css

找到

#lockDialogGroup { background: #2c001e url(resource:///org/gnome/shell/theme/noise-texture.png);

修改为

#lockDialogGroup { background: url(file:///usr/share/backgrounds/wallpaper.png);

找到

.login-dialog-user-list:expanded .login-dialog-user-list-item:selected { background-color: #dd4814; color: #ffffff; } .login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid #dd4814; }

修改为透明,避免选择用户的框的背景与后面的整个背景不协调

.login-dialog-user-list:expanded .login-dialog-user-list-item:selected { background-color: transparent; color: #ffffff; } .login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid transparent; } 4. 修改桌面壁纸和锁屏壁纸

运行

ln -s /usr/share/backgrounds/wallpaper.png ~/Pictures/

桌面鼠标右键→更改背景→背景/锁定屏幕→图片→选择双击

5. 修改背景:命令行终端

推荐使用terminator

sudo apt-get install terminator terminator

右键→配置文件首选项→配置→default→背景→透明背景→0.80

6. 去掉进入桌面时以#2c001e为背景色的闪烁(高风险)

1) 问题描述: 登录成功后,从输入密码界面切换到桌面时,会有一个短暂的过度动画,该动画会以#2c001e为背景色闪现一下,逼死强迫症。 无语的是,这个颜色值硬编码在js脚本里,这个脚本又被打包进了二进制库文件,没有设置接口。 那干脆就直接对这个库文件开刀了😏 2) 解决思路 查看/usr/lib/gnome-shell/libgnome-shell.so,可以找到以下明文内容。SystemBackground直接把0x2c001eff作为背景色。 修改代码里的0x2c001eff或者file也许就能改掉Ubuntu那糟糕的颜色。

var DEFAULT_BACKGROUND_COLOR = (Desktop.is("ubuntu")) ? Clutter.Color.from_pixel(0x2c001eff) : Clutter.Color.from_pixel(0x2e3436ff); ... var SystemBackground = new Lang.Class({ Name: 'SystemBackground', _init() { let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/noise-texture.png'); if (_systemBackground == null) { _systemBackground = new Meta.Background({ meta_screen: global.screen }); _systemBackground.set_color(DEFAULT_BACKGROUND_COLOR); _systemBackground.set_file(file, GDesktopEnums.BackgroundStyle.WALLPAPER);

3) 操作步骤

免责声明 此处误操作会导致无法预估的灾难性后果。请提前备份重要数据,并做好重装系统的准备,否则还是放弃吧,安全第一。 哪怕成功了,目前运行没问题。但还不能断言其稳定性和兼容性在将来是万无一失的。 此处提供的内容仅供个人学习交流,使用以下方法造成的一切后果请自行承担。普通文本编辑器无法正确修改二进制文件,强烈建议使用vim的-b模式修改。vim教程请参考https://www.runoob.com/linux/linux-vim.html,主要用到这4组键:/, i, esc, :wq。

尽管直接修改颜色值能去掉#2c001e,但是新的颜色值依然和桌面壁纸不协调,过渡时还可能会闪一下。所以尝试其他方法。 阅读代码发现SystemBackground还读取了一个文件作为输入。于是修改其文件路径从而修改背景SystemBackground。 (注意:文件路径长度必须匹配原来的,否则无法正常开机进入桌面。比如原来的路径长的是52个字符,新的也要是52,不够就重命名图片文件用0补齐。) 运行

sudo cp -i /usr/lib/gnome-shell/libgnome-shell.so /usr/lib/gnome-shell/libgnome-shell-bak.so sudo apt -y install vim sudo ln -s /usr/share/backgrounds/wallpaper.png /usr/share/backgrounds/wallpaper00000000.png sudo vim -b /usr/lib/gnome-shell/libgnome-shell.so

找到

let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/noise-texture.png');

修改为

let file = Gio.File.new_for_uri('file:///usr/share/backgrounds/wallpaper00000000.png');

至此,输入密码后,进入桌面时,只有一个从中间放大的动画,再也不见#2c001e。 如果不幸失败了无法进入桌面,请尝试恢复备份:

sudo cp /usr/lib/gnome-shell/libgnome-shell-bak.so /usr/lib/gnome-shell/libgnome-shell.so


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3