Загрузка данных


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