Scripts I used to use in the past to update wallpapers and customize login.
1# fade-to-black.sh 2 3#!/bin/bash 4 5# pre-boot 6sudo sed -i 's/if background_color 44,0,30,0; then/if background_color 0,0,0 ; then/g' /usr/share/plymouth/themes/default.grub 7sudo update-grub 8 9# boot screen10sudo sed -i 's/^Window.SetBackgroundTopColor.*/Window.SetBackgroundTopColor (0.00, 0.00, 0.00);/g' /usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.script11sudo sed -i 's/^Window.SetBackgroundBottomColor.*/Window.SetBackgroundBottomColor (0.00, 0.00, 0.00);/g' /usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.script12sudo update-initramfs -u1314# login screen15sudo sed -i 's/background-color: #2C001E;/background-color: #000000;/g' /etc/alternatives/gdm3.css1617# gen-wallpapers.sh1819#!/bin/bash2021# https://help.ubuntu.com/community/SlideshowWallpapers2223NAME='My Wallpapers'24DELAY=300.025FADE=4.026PAPERS='robot.jpg squirrel.jpg bsod.jpg'272829WP_MAIN_PATH=~/.local/share/gnome-background-properties30WP_MAIN_FILE=MySlideshowCollection.xml3132WP_PATH=~/.local/share/backgrounds/MyWallpapers33WP_FILE=MySlideshow.xml3435FIRST=${PAPERS%% *}3637mkdir -p $WP_MAIN_PATH38echo '<?xml version="1.0" encoding="UTF-8"?>' > $WP_MAIN_PATH/$WP_MAIN_FILE39echo '<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">' >> $WP_MAIN_PATH/$WP_MAIN_FILE40echo '<wallpapers>' >> $WP_MAIN_PATH/$WP_MAIN_FILE41echo ' <wallpaper>' >> $WP_MAIN_PATH/$WP_MAIN_FILE42echo " <name>$NAME</name>" >> $WP_MAIN_PATH/$WP_MAIN_FILE43echo " <filename>$WP_PATH/$WP_FILE</filename>" >> $WP_MAIN_PATH/$WP_MAIN_FILE44echo ' <options>zoom</options>' >> $WP_MAIN_PATH/$WP_MAIN_FILE45echo ' <pcolor>#2c001e</pcolor>' >> $WP_MAIN_PATH/$WP_MAIN_FILE46echo ' <scolor>#2c001e</scolor>' >> $WP_MAIN_PATH/$WP_MAIN_FILE47echo ' <shade_type>solid</shade_type>' >> $WP_MAIN_PATH/$WP_MAIN_FILE48echo ' </wallpaper>' >> $WP_MAIN_PATH/$WP_MAIN_FILE49echo '</wallpapers>' >> $WP_MAIN_PATH/$WP_MAIN_FILE5051mkdir -p $WP_PATH52echo '<background>' > $WP_PATH/$WP_FILE53echo ' <starttime>' >> $WP_PATH/$WP_FILE54echo " <year>`date +'%Y'`</year>" >> $WP_PATH/$WP_FILE55echo " <month>`date +'%m'`</month>" >> $WP_PATH/$WP_FILE56echo " <day>`date +'%d'`</day>" >> $WP_PATH/$WP_FILE57echo " <hour>`date +'%H'`</hour>" >> $WP_PATH/$WP_FILE58echo " <minute>`date +'%M'`</minute>" >> $WP_PATH/$WP_FILE59echo " <second>`date +'%S'`</second>" >> $WP_PATH/$WP_FILE60echo ' </starttime>' >> $WP_PATH/$WP_FILE6162LAST_IMAGE=''63for IMAGE in `echo $PAPERS $FIRST`; do64 if [ ! -e "$IMAGE" ]; then65 echo "Missing $IMAGE"66 continue67 else68 cp $IMAGE $WP_PATH/$IMAGE69 fi7071 if [[ "$LAST_IMAGE" ]]; then72 echo ' <transition>' >> $WP_PATH/$WP_FILE73 echo " <duration>$FADE</duration>" >> $WP_PATH/$WP_FILE74 echo " <from>$WP_PATH/$LAST_IMAGE</from>" >> $WP_PATH/$WP_FILE75 echo " <to>$WP_PATH/$IMAGE</to>" >> $WP_PATH/$WP_FILE76 echo ' </transition>' >> $WP_PATH/$WP_FILE7778 if [[ "$FIRST" == "$IMAGE" ]]; then79 break80 fi81 fi8283 echo ' <static>' >> $WP_PATH/$WP_FILE84 echo " <duration>$DELAY</duration>" >> $WP_PATH/$WP_FILE85 echo " <file>$WP_PATH/$IMAGE</file>" >> $WP_PATH/$WP_FILE86 echo ' </static>' >> $WP_PATH/$WP_FILE8788 LAST_IMAGE=$IMAGE89done9091echo '</background>' >> $WP_PATH/$WP_FILE