188 lines
7.4 KiB
Bash
188 lines
7.4 KiB
Bash
#!/bin/sh
|
||
set -e
|
||
|
||
|
||
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-remove" ]; then
|
||
# Vendor logo alternative
|
||
update-alternatives --install \
|
||
/usr/share/images/vendor-logos \
|
||
vendor-logos \
|
||
/usr/share/images/kali-logos 200 \
|
||
--slave /usr/share/icons/vendor/64x64/emblems/emblem-vendor.png \
|
||
emblem-vendor-64 \
|
||
/usr/share/icons/desktop-base/64x64/emblems/emblem-kali.png \
|
||
--slave /usr/share/icons/vendor/128x128/emblems/emblem-vendor.png \
|
||
emblem-vendor-128 \
|
||
/usr/share/icons/desktop-base/128x128/emblems/emblem-kali.png \
|
||
--slave /usr/share/icons/vendor/256x256/emblems/emblem-vendor.png \
|
||
emblem-vendor-256 \
|
||
/usr/share/icons/desktop-base/256x256/emblems/emblem-kali.png \
|
||
--slave /usr/share/icons/vendor/scalable/emblems/emblem-vendor.svg \
|
||
emblem-vendor-scalable \
|
||
/usr/share/icons/desktop-base/scalable/emblems/emblem-kali.svg \
|
||
|
||
# Theme package alternatives
|
||
update-alternatives --install \
|
||
/usr/share/desktop-base/active-theme \
|
||
desktop-theme \
|
||
/usr/share/desktop-base/kali-theme 200
|
||
|
||
# Desktop background alternatives
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-background \
|
||
desktop-background /usr/share/backgrounds/kali-16x9/default 210
|
||
|
||
# Set up an alternative for the XML version of the background
|
||
# (for GNOME)
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-background.xml \
|
||
desktop-background.xml /usr/share/desktop-base/kali-theme/wallpaper/gnome-background.xml 210
|
||
|
||
# Set up an alternative for the XML version of the lock screen
|
||
# (for GNOME)
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-lockscreen.xml \
|
||
desktop-lockscreen.xml /usr/share/desktop-base/kali-theme/lockscreen/gnome-background.xml 210
|
||
|
||
# Set up an alternative for the wallpaper for Plasma 5/KDE
|
||
update-alternatives --install \
|
||
/usr/share/wallpapers/DebianTheme \
|
||
desktop-plasma5-wallpaper /usr/share/desktop-base/kali-theme/wallpaper 210
|
||
|
||
# Login theme
|
||
# Highest priority for active theme
|
||
update-alternatives --install /usr/share/images/desktop-base/login-background.svg \
|
||
desktop-login-background /usr/share/desktop-base/kali-theme/login/background.svg 210
|
||
|
||
# Set up an alternative for the GRUB background/colors config
|
||
# Highest priority for active theme
|
||
# Favor widescreen / hi-res background for efi installations detected
|
||
# by the presence of grub-efi* packages (not the grub-efi*-bin which don’t
|
||
# necessary account for grub being the active bootloader).
|
||
if dpkg-query --list grub-efi* | grep -v "^... grub-efi[^[:space:]]*-bin" | grep -q "^[ih][HUFWti] " ; then
|
||
echo "grub-efi* packages found, using 16/9 as default grub background ratio"
|
||
grub_first_ratio="16x9"
|
||
grub_second_ratio="4x3"
|
||
else
|
||
echo "No grub-efi* package found, using 4/3 as default grub background ratio"
|
||
grub_first_ratio="4x3"
|
||
grub_second_ratio="16x9"
|
||
fi
|
||
active_grub_first_ratio=/usr/share/grub/themes/kali/grub-${grub_first_ratio}.png
|
||
active_grub_second_ratio=/usr/share/grub/themes/kali/grub-${grub_second_ratio}.png
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-grub.png \
|
||
desktop-grub ${active_grub_first_ratio} 200 \
|
||
--slave /usr/share/desktop-base/grub_background.sh \
|
||
desktop-grub.sh /usr/share/grub/themes/kali/grub_background.sh
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-grub.png \
|
||
desktop-grub ${active_grub_second_ratio} 190 \
|
||
--slave /usr/share/desktop-base/grub_background.sh \
|
||
desktop-grub.sh /usr/share/grub/themes/kali/grub_background.sh
|
||
|
||
# Apply GRUB background update into /boot
|
||
# Try detecting active grub packages (so not -doc, -common, -bin) as a hint
|
||
# that GRUB is being used as bootloader before calling update-grub.
|
||
# Some people use the *-bin packages without using GRUB as bootloader
|
||
# (see #851893 for more context).
|
||
if dpkg-query --list "grub-*" | grep -v "^... grub\(-common\|-emu\|[^[:space:]]*\(-bin\|-doc\)\)" | grep -q "^[ih][HUFWti] " \
|
||
&& command -v update-grub > /dev/null ; then
|
||
# Ensure the background image file has actually been written to disc
|
||
# before updating.
|
||
sync
|
||
# Report success whatever grub return status. This is needed at least
|
||
# in live systems for installation to succeed (see #850601).
|
||
# Until we find a better solution like detecting we’re in a live image
|
||
# and not calling update-grub at all.
|
||
update-grub || echo "Updating grub failed, report success anyway!"
|
||
fi
|
||
|
||
if command -v update-initramfs > /dev/null; then
|
||
update-initramfs -u
|
||
fi
|
||
|
||
fi
|
||
|
||
desktop_base_version=$(dpkg-query -f'${Version}' -W desktop-base 2>/dev/null || true)
|
||
if [ "$1" = "configure" ]; then
|
||
if dpkg --compare-versions "$desktop_base_version" lt-nl 10.0.3+kali3 || \
|
||
dpkg --compare-versions "$2" lt-nl "2019.4.6"; then
|
||
# Remove alternatives for the old theme
|
||
|
||
# Background images
|
||
while read theme filename; do
|
||
update-alternatives --remove \
|
||
desktop-background \
|
||
/usr/share/desktop-base/$theme-theme/wallpaper/contents/images/$filename $priority
|
||
done << EOF
|
||
kali 1024x768.svg
|
||
kali 1280x720.svg
|
||
kali 1280x800.svg
|
||
kali 1280x1024.svg
|
||
kali 1600x1200.svg
|
||
kali 1920x1080.svg
|
||
kali 1920x1200.svg
|
||
kali 2560x1440.svg
|
||
kali 2560x1600.svg
|
||
kali 3840x2160.svg
|
||
EOF
|
||
# Remove gnome-background.xml alternatives
|
||
update-alternatives --remove \
|
||
desktop-background.xml \
|
||
/usr/share/desktop-base/kali-theme/wallpaper/gnome-background.xml
|
||
|
||
# Remove desktop-lockscreen.xml alternatives
|
||
update-alternatives --remove \
|
||
desktop-lockscreen.xml \
|
||
/usr/share/desktop-base/kali-theme/lockscreen/gnome-background.xml
|
||
|
||
# Remove Plasma 5/KDE wallpaper alternatives
|
||
update-alternatives --remove \
|
||
desktop-plasma5-wallpaper \
|
||
/usr/share/desktop-base/kali-theme/wallpaper
|
||
|
||
# Remove login theme alternatives
|
||
update-alternatives --remove \
|
||
desktop-login-background \
|
||
/usr/share/desktop-base/kali-theme/login/background.svg
|
||
|
||
# Remove grub alternatives
|
||
update-alternatives --remove \
|
||
desktop-grub \
|
||
/usr/share/desktop-base/kali-theme/grub/grub-4x3.png
|
||
update-alternatives --remove \
|
||
desktop-grub \
|
||
/usr/share/desktop-base/kali-theme/grub/grub-16x9.png
|
||
|
||
elif dpkg --compare-versions "$2" lt-nl "2020.2.3"; then
|
||
# Remove invalid alternatives that moved to /usr/share/desktop-base/active-theme/*
|
||
update-alternatives --remove \
|
||
desktop-background \
|
||
/usr/share/backgrounds/kali/kali-logo-16x9.png
|
||
|
||
update-alternatives --remove \
|
||
desktop-background.xml \
|
||
/usr/share/backgrounds/kali/kali-logo.xml
|
||
|
||
update-alternatives --remove \
|
||
desktop-lockscreen.xml \
|
||
/usr/share/backgrounds/kali/kali-light.xml
|
||
|
||
update-alternatives --remove \
|
||
desktop-plasma5-wallpaper \
|
||
/usr/share/wallpapers/KaliLogo
|
||
|
||
update-alternatives --remove \
|
||
desktop-login-background \
|
||
/usr/share/backgrounds/kali/kali-light.svg
|
||
|
||
elif dpkg --compare-versions "$2" lt-nl "2024.1.0"; then
|
||
update-alternatives --remove \
|
||
desktop-background \
|
||
/usr/share/desktop-base/kali-theme/wallpaper/contents/images/3840x2160.png
|
||
fi
|
||
fi
|
||
|
||
#DEBHELPER#
|