62 lines
1.9 KiB
Bash
62 lines
1.9 KiB
Bash
#!/usr/bin/env bash
|
||
# Установка темы Plymouth WESP (нужен root).
|
||
# Использование: install_wesp_theme.sh /path/to/built/theme
|
||
set -euo pipefail
|
||
|
||
SRC="${1:-}"
|
||
if [[ -z "${SRC}" || ! -d "${SRC}" ]]; then
|
||
echo "Usage: $0 /path/to/theme-dir" >&2
|
||
exit 2
|
||
fi
|
||
|
||
if [[ "$(id -u)" -ne 0 ]]; then
|
||
echo "Запустите от root (sudo)." >&2
|
||
exit 1
|
||
fi
|
||
|
||
THEME_ID="wesp"
|
||
DEST="/usr/share/plymouth/themes/${THEME_ID}"
|
||
PLYMOUTH_FILE="${DEST}/${THEME_ID}.plymouth"
|
||
|
||
if ! command -v plymouth >/dev/null 2>&1; then
|
||
echo "plymouth не найден. Установите: apt install plymouth plymouth-themes" >&2
|
||
exit 1
|
||
fi
|
||
|
||
if [[ ! -f "${SRC}/${THEME_ID}.plymouth" || ! -f "${SRC}/${THEME_ID}.script" ]]; then
|
||
echo "В ${SRC} нет ${THEME_ID}.plymouth / ${THEME_ID}.script" >&2
|
||
exit 1
|
||
fi
|
||
|
||
if [[ ! -d "${SRC}/animation" ]] || [[ -z "$(ls -A "${SRC}/animation" 2>/dev/null || true)" ]]; then
|
||
echo "Нет кадров в ${SRC}/animation — сначала сгенерируйте анимацию." >&2
|
||
exit 1
|
||
fi
|
||
|
||
install -d "${DEST}"
|
||
rsync -a --delete "${SRC}/" "${DEST}/"
|
||
|
||
if command -v update-alternatives >/dev/null 2>&1; then
|
||
update-alternatives --install \
|
||
/usr/share/plymouth/themes/default.plymouth default.plymouth \
|
||
"${PLYMOUTH_FILE}" 200
|
||
update-alternatives --set default.plymouth "${PLYMOUTH_FILE}"
|
||
elif command -v plymouth-set-default-theme >/dev/null 2>&1; then
|
||
plymouth-set-default-theme -R "${THEME_ID}"
|
||
else
|
||
ln -sf "${PLYMOUTH_FILE}" /etc/alternatives/default.plymouth 2>/dev/null || true
|
||
fi
|
||
|
||
if command -v plymouth-set-default-theme >/dev/null 2>&1; then
|
||
plymouth-set-default-theme "${THEME_ID}" 2>/dev/null || true
|
||
fi
|
||
|
||
if command -v update-initramfs >/dev/null 2>&1; then
|
||
echo "==> update-initramfs -u"
|
||
update-initramfs -u
|
||
else
|
||
echo "update-initramfs не найден — пересоберите initramfs вручную." >&2
|
||
fi
|
||
|
||
echo "Тема WESP установлена: ${DEST}"
|