Files
nearxos 25bf710c67 Remove deprecated one-shot scripts and update first-boot configuration for improved provisioning</message>
<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.
2026-02-23 16:15:47 +02:00

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"
}