@@ -0,0 +1,61 @@
|
||||
#!/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}"
|
||||
Reference in New Issue
Block a user