161 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			6.3 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/kali-logo-16x9.png 200
 | 
						||
 | 
						||
    # 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/backgrounds/kali/kali-logo.xml 200
 | 
						||
 | 
						||
    # 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/backgrounds/kali/kali-light.xml 200
 | 
						||
 | 
						||
    # Set up an alternative for the wallpaper for Plasma 5/KDE
 | 
						||
    update-alternatives --install \
 | 
						||
	/usr/share/wallpapers/DebianTheme \
 | 
						||
	desktop-plasma5-wallpaper /usr/share/wallpapers/KaliLogo 200
 | 
						||
 | 
						||
    # Login theme
 | 
						||
    # Highest priority for active theme
 | 
						||
    update-alternatives --install /usr/share/images/desktop-base/login-background.svg \
 | 
						||
	desktop-login-background /usr/share/backgrounds/kali/kali-light.svg 200
 | 
						||
 | 
						||
    # 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 fon 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 \
 | 
						||
	    /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
 | 
						||
    fi
 | 
						||
fi
 | 
						||
 | 
						||
#DEBHELPER#
 |