184 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			184 lines
		
	
	
		
			7.2 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/desktop-base/kali-theme/wallpaper/contents/images/3840x2160.png 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] " \
 | ||
|             && which 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 which 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
 | ||
| 
 | ||
|     fi
 | ||
| fi
 | ||
| 
 | ||
| #DEBHELPER#
 | 
