Загрузка данных
1. lib/set-wallpapers.sh
#!/usr/bin/env bash
# ═══════════════════════════════════════════════════════════
# LightDM
# ═══════════════════════════════════════════════════════════
msg_info "Замена фона экрана авторизации"
# Проверяем существование каталога назначения.
if [ ! -d "$(dirname "$lightdm_background")" ]; then
msg_error "Каталог LightDM не найден:"
echo " $(dirname "$lightdm_background")"
return 1
fi
# Создаём резервную копию старого фона,
# если это обычный файл.
if [ -f "$lightdm_background" ]; then
cp -a \
"$lightdm_background" \
"${lightdm_background}.backup"
fi
# Копируем новую заставку.
cp -f "$wallpaper" "$lightdm_background"
msg_ok "Фон экрана авторизации заменён"
# ═══════════════════════════════════════════════════════════
# GRUB 16:9
# ═══════════════════════════════════════════════════════════
msg_info "Замена фона GRUB 16:9"
if [ -d "$(dirname "$grub_background_16")" ]; then
# Резервная копия.
if [ -f "$grub_background_16" ]; then
cp -a \
"$grub_background_16" \
"${grub_background_16}.backup"
fi
# Копируем изображение.
cp -f "$wallpaper" "$grub_background_16"
msg_ok "Фон GRUB 16:9 заменён"
else
warn "Каталог GRUB не найден: $(dirname "$grub_background_16")"
fi
# ═══════════════════════════════════════════════════════════
# GRUB 4:3
# ═══════════════════════════════════════════════════════════
msg_info "Замена фона GRUB 4:3"
if [ -d "$(dirname "$grub_background_4")" ]; then
# Резервная копия.
if [ -f "$grub_background_4" ]; then
cp -a \
"$grub_background_4" \
"${grub_background_4}.backup"
fi
# Копируем изображение.
cp -f "$wallpaper" "$grub_background_4"
msg_ok "Фон GRUB 4:3 заменён"
else
warn "Каталог GRUB не найден: $(dirname "$grub_background_4")"
fi
# ═══════════════════════════════════════════════════════════
# Завершение
# ═══════════════════════════════════════════════════════════
echo
msg_ok "Настройка обоев завершена"
}
2. wallpapers.sh
Это главный скрипт для обоев.
Он использует те же библиотеки, что и русификация.
#!/usr/bin/env bash
# ═══════════════════════════════════════════════════════════════
# ═══════════════════════════════════════════════════════════════
# Определяем директорию проекта
# ═══════════════════════════════════════════════════════════════
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# ═══════════════════════════════════════════════════════════════
# Подключение библиотек
# ═══════════════════════════════════════════════════════════════
# Общие цвета и функции вывода.
# shellcheck disable=SC1091
source "${SCRIPT_DIR}/lib/common-colors.sh"
# Проверка root.
# shellcheck disable=SC1091
source "${SCRIPT_DIR}/lib/check-root.sh"
# Проверка права +x.
# shellcheck disable=SC1091
source "${SCRIPT_DIR}/lib/ensure-executable.sh"
# Модуль установки обоев.
# shellcheck disable=SC1091
source "${SCRIPT_DIR}/lib/set-wallpapers.sh"
# ═══════════════════════════════════════════════════════════════
# Проверка root
# ═══════════════════════════════════════════════════════════════
check_root
# ═══════════════════════════════════════════════════════════════
# Проверка прав на выполнение
# ═══════════════════════════════════════════════════════════════
ensure_executable "${SCRIPT_DIR}/wallpapers.sh"
ensure_executable "${SCRIPT_DIR}/lib/common-colors.sh"
ensure_executable "${SCRIPT_DIR}/lib/check-root.sh"
ensure_executable "${SCRIPT_DIR}/lib/ensure-executable.sh"
ensure_executable "${SCRIPT_DIR}/lib/set-wallpapers.sh"
# ═══════════════════════════════════════════════════════════════
# Заголовок
# ═══════════════════════════════════════════════════════════════
echo
echo "═══════════════════════════════════════════════════════════════"
echo " Kali Linux — Обои"
echo "═══════════════════════════════════════════════════════════════"
echo
# ═══════════════════════════════════════════════════════════════
# Установка и замена обоев
# ═══════════════════════════════════════════════════════════════
msg_step "1" "Настройка обоев"
set_wallpapers
# ═══════════════════════════════════════════════════════════════
# Завершение
# ═══════════════════════════════════════════════════════════════
echo
echo "═══════════════════════════════════════════════════════════════"
echo " Настройка завершена"
echo "═══════════════════════════════════════════════════════════════"
echo