<message>Delete obsolete one-shot scripts for setting screen rotation and wallpaper, as well as related Python and shell scripts. Update the first-boot configuration to streamline the provisioning process by removing references to these scripts. This cleanup enhances maintainability and focuses on the essential steps required for the first boot experience, ensuring a more efficient setup for users.
64 lines
2.7 KiB
Bash
64 lines
2.7 KiB
Bash
#!/bin/bash
|
|
# Step 05: Boot splash (Plymouth) and desktop wallpaper
|
|
|
|
step_05_splash_wallpaper() {
|
|
mkdir -p "$PLYMOUTH_DIR" /usr/share/rpd-wallpaper
|
|
|
|
if ! curl -fsSL "${FILE_SERVER}/splash.png" -o "$PLYMOUTH_DIR/splash.png"; then
|
|
log "WARNING: Could not download splash.png"; return 0
|
|
fi
|
|
cp "$PLYMOUTH_DIR/splash.png" "$WALLPAPER_PATH"
|
|
chmod 644 "$PLYMOUTH_DIR/splash.png" "$WALLPAPER_PATH"
|
|
|
|
# Plymouth theme
|
|
if curl -fsSL "${FILE_SERVER}/custom.plymouth" -o "$PLYMOUTH_DIR/custom.plymouth" \
|
|
&& curl -fsSL "${FILE_SERVER}/custom.script" -o "$PLYMOUTH_DIR/custom.script"; then
|
|
chmod 644 "$PLYMOUTH_DIR/custom.plymouth" "$PLYMOUTH_DIR/custom.script"
|
|
log "Plymouth theme installed"
|
|
fi
|
|
grep -q '^Theme=custom' /etc/plymouth/plymouthd.conf 2>/dev/null \
|
|
|| printf '%s\n' '[Daemon]' 'Theme=custom' >> /etc/plymouth/plymouthd.conf
|
|
log "Running update-initramfs ..."
|
|
update-initramfs -u -k all 2>/dev/null || true
|
|
|
|
# LightDM wallpaper
|
|
mkdir -p /etc/lightdm/lightdm.conf.d
|
|
curl -fsSL "${FILE_SERVER}/99-wallpaper.conf" -o /etc/lightdm/lightdm.conf.d/99-wallpaper.conf 2>/dev/null || true
|
|
|
|
# Desktop wallpaper (pcmanfm)
|
|
for PROFILE in LXDE-pi default; do
|
|
local conf="$PI_HOME/.config/pcmanfm/$PROFILE/desktop-items-0.conf"
|
|
mkdir -p "$(dirname "$conf")"
|
|
if [[ ! -f "$conf" ]]; then
|
|
printf '%s\n' '[*]' "wallpaper=$WALLPAPER_PATH" "wallpaper_mode=$WALLPAPER_MODE" 'wallpaper_common=1' 'show_trash=0' > "$conf"
|
|
else
|
|
grep -q '^wallpaper=' "$conf" && sed -i "s|^wallpaper=.*|wallpaper=$WALLPAPER_PATH|" "$conf" || echo "wallpaper=$WALLPAPER_PATH" >> "$conf"
|
|
grep -q '^wallpaper_mode=' "$conf" && sed -i "s/^wallpaper_mode=.*/wallpaper_mode=$WALLPAPER_MODE/" "$conf" || echo "wallpaper_mode=$WALLPAPER_MODE" >> "$conf"
|
|
grep -q '^show_trash=' "$conf" && sed -i 's/^show_trash=.*/show_trash=0/' "$conf" || echo 'show_trash=0' >> "$conf"
|
|
fi
|
|
chown -R "$PI_USER:$PI_USER" "$(dirname "$conf")"
|
|
done
|
|
|
|
# Taskbar start-here icon
|
|
if curl -fsSL "${FILE_SERVER}/start-here.png" -o /tmp/start-here.png 2>/dev/null; then
|
|
local icons="/usr/share/icons/PiXtrix"
|
|
if [[ -d "$icons/32x32/places" ]]; then
|
|
for s in 16 24 32 48 64 96; do
|
|
local dest="$icons/${s}x${s}/places/start-here.png"
|
|
[[ -d "$(dirname "$dest")" ]] || continue
|
|
rm -f "$dest"
|
|
if command -v convert >/dev/null 2>&1; then
|
|
convert /tmp/start-here.png -resize "${s}x${s}" "$dest" 2>/dev/null || cp /tmp/start-here.png "$dest"
|
|
else
|
|
cp /tmp/start-here.png "$dest"
|
|
fi
|
|
chmod 644 "$dest"
|
|
done
|
|
log "Taskbar start-here icon installed"
|
|
fi
|
|
rm -f /tmp/start-here.png
|
|
fi
|
|
|
|
log "Splash and wallpaper configured"
|
|
}
|