init
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
#install guide labwc configure by s13bby
|
||||
|
||||
|
||||
#after install needed
|
||||
|
||||
#uncomment community repos
|
||||
echo "http://dl-cdn.alpinelinux.org/alpine/v3.24/community" >> /etc/apk/repositories
|
||||
|
||||
#or
|
||||
|
||||
#sed -i 's/#\(.*community\)/\1/' /etc/apk/repositories
|
||||
|
||||
apk update
|
||||
apk add sudo nano
|
||||
adduser ivan wheel
|
||||
nano /etc/sudoers
|
||||
|
||||
#and uncomment line %wheel ALL=(ALL) ALL
|
||||
|
||||
|
||||
#first needed packages
|
||||
|
||||
sudo
|
||||
nano
|
||||
git
|
||||
|
||||
#after install this packages
|
||||
|
||||
#clone repo ; change directory to clone repo ; add executable flag to install.sh ; execute install.sh
|
||||
git clone https://zenithcode.duckdns.org/s13bby/labwc-alpine ; cd labwc-alpine ; chmod +x install.sh ; ./install.sh
|
||||
|
||||
#install.sh include all stuff write bellow
|
||||
|
||||
|
||||
#install this packages
|
||||
gcc
|
||||
g++
|
||||
curl
|
||||
libcurl
|
||||
opencv
|
||||
|
||||
#prepare before install wayland stack
|
||||
|
||||
#install this packages
|
||||
|
||||
mesa
|
||||
mesa-dri
|
||||
libinput
|
||||
seatd
|
||||
dbus
|
||||
polkit
|
||||
|
||||
#after install do
|
||||
|
||||
addgroup $USER video
|
||||
addgroup $USER input
|
||||
addgroup $USER seat
|
||||
|
||||
rc-update add seatd default
|
||||
rc-service seatd start
|
||||
|
||||
#after install this packages
|
||||
|
||||
labwc
|
||||
alacritty (or another terminal emulator what do u like)
|
||||
waybar
|
||||
mako
|
||||
swaybg
|
||||
wofi
|
||||
font-noto
|
||||
font-dejavu
|
||||
wl-clipboard
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-gtk
|
||||
pipewire
|
||||
wireplumber
|
||||
alsa-utils
|
||||
networkmanager
|
||||
nm-applet
|
||||
pcmanfm-gtk3
|
||||
firefox
|
||||
swaylock
|
||||
|
||||
|
||||
#enviroment config labwc
|
||||
#
|
||||
#XDG_CURRENT_DESKTOP=labwc
|
||||
#XDG_SESSION_TYPE=wayland
|
||||
#MOZ_ENABLE_WAYLAND=1
|
||||
#QT_QPA_PLATFORM=wayland
|
||||
#SDL_VIDEODRIVER=wayland
|
||||
|
||||
|
||||
#autostart config labwc
|
||||
#
|
||||
#nm-applet &
|
||||
#waybar &
|
||||
#wireplumber &
|
||||
#pipewire &
|
||||
#wofi &
|
||||
|
||||
#clone repo ; change directory to clone repo ; add executable flag to build.sh ; execute build.sh
|
||||
git clone https://zenithcode.duckdns.org/s13bby/zenith-cli.git ; cd zenith-cli/ ; chmod +x build.sh ; ./build.sh
|
||||
|
||||
mkdir -p ~/.local/bin ; cp zenith-cli ~/.local/bin/ ; chmod +x ~/.local/bin/zenith-cli
|
||||
|
||||
echo $PATH | grep -o ".local/bin"
|
||||
|
||||
#if output in none, do
|
||||
|
||||
#export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
|
||||
#add automatic start labwc
|
||||
|
||||
nano /etc/inittab
|
||||
|
||||
#find line
|
||||
#tty1::respawn:/sbin/getty 38400 tty1
|
||||
|
||||
#change to, where "username" is ur username
|
||||
#tty1::respawn:/bin/sh -c "while true; do /sbin/getty -a username 38400 tty1; done"
|
||||
|
||||
|
||||
nano ~/.profile
|
||||
|
||||
#and write this
|
||||
|
||||
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||
exec labwc
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,674 @@
|
||||
#!/bin/sh
|
||||
# LabWC Alpine Setup Script
|
||||
# Version 5
|
||||
#
|
||||
# Запускать от имени root!
|
||||
#
|
||||
# Использование:
|
||||
# ./setup.sh
|
||||
# ./setup.sh username
|
||||
#
|
||||
# Скрипт устанавливает:
|
||||
# - LabWC + Wayland
|
||||
# - Waybar / Mako / Wofi
|
||||
# - PipeWire + WirePlumber
|
||||
# - NetworkManager
|
||||
# - Firefox
|
||||
# - zenith-cli
|
||||
# - автоматический вход на tty1
|
||||
# - автоматический запуск LabWC
|
||||
#
|
||||
# ВАЖНО:
|
||||
# zenith-cli использует build.sh на Bash,
|
||||
# поэтому bash устанавливается явно.
|
||||
|
||||
set -eu
|
||||
|
||||
# --------------------------------------------------
|
||||
# 0. Основные параметры
|
||||
# --------------------------------------------------
|
||||
|
||||
USER_NAME="${1:-ivan}"
|
||||
HOME_DIR="/home/$USER_NAME"
|
||||
PROFILE="$HOME_DIR/.profile"
|
||||
|
||||
ZENITH_REPO="https://zenithcode.duckdns.org/s13bby/zenith-cli.git"
|
||||
ZENITH_DIR="$HOME_DIR/zenith-cli"
|
||||
LOCAL_BIN="$HOME_DIR/.local/bin"
|
||||
|
||||
echo "=================================================="
|
||||
echo "[*] LabWC Alpine Setup"
|
||||
echo "=================================================="
|
||||
echo "[*] Пользователь: $USER_NAME"
|
||||
echo "[*] Домашний каталог: $HOME_DIR"
|
||||
echo "=================================================="
|
||||
|
||||
# --------------------------------------------------
|
||||
# 1. Проверка root
|
||||
# --------------------------------------------------
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "[!] Этот скрипт необходимо запускать от root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 2. Проверка имени пользователя
|
||||
# --------------------------------------------------
|
||||
|
||||
case "$USER_NAME" in
|
||||
""|*[!a-zA-Z0-9_-]*)
|
||||
echo "[!] Некорректное имя пользователя: $USER_NAME"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# --------------------------------------------------
|
||||
# 3. Проверка существования /etc/apk/repositories
|
||||
# --------------------------------------------------
|
||||
|
||||
if [ ! -f /etc/apk/repositories ]; then
|
||||
echo "[!] Файл /etc/apk/repositories не найден."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 4. Вспомогательные функции
|
||||
# --------------------------------------------------
|
||||
|
||||
add_user_group() {
|
||||
GROUP_NAME="$1"
|
||||
|
||||
if groups "$USER_NAME" 2>/dev/null | grep -qw "$GROUP_NAME"; then
|
||||
echo "[+] $USER_NAME уже состоит в группе $GROUP_NAME."
|
||||
else
|
||||
echo "[*] Добавление $USER_NAME в группу $GROUP_NAME..."
|
||||
addgroup "$USER_NAME" "$GROUP_NAME"
|
||||
fi
|
||||
}
|
||||
|
||||
enable_service() {
|
||||
SERVICE="$1"
|
||||
|
||||
echo "[*] Включение службы $SERVICE..."
|
||||
|
||||
rc-update add "$SERVICE" default 2>/dev/null || true
|
||||
|
||||
if rc-service "$SERVICE" status >/dev/null 2>&1; then
|
||||
echo "[+] $SERVICE уже запущен."
|
||||
else
|
||||
echo "[*] Запуск $SERVICE..."
|
||||
rc-service "$SERVICE" start 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
|
||||
# --------------------------------------------------
|
||||
# 5. Репозитории
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Проверка репозитория community..."
|
||||
|
||||
if ! grep -qE '^[[:space:]]*[^#[:space:]].*/community/?[[:space:]]*$' \
|
||||
/etc/apk/repositories
|
||||
then
|
||||
|
||||
if grep -qE '^[[:space:]]*#.*\/community/?[[:space:]]*$' \
|
||||
/etc/apk/repositories
|
||||
then
|
||||
|
||||
echo "[*] Раскомментирование community..."
|
||||
|
||||
sed -i \
|
||||
's|^[[:space:]]*#\(.*\/community/?[[:space:]]*\)$|\1|' \
|
||||
/etc/apk/repositories
|
||||
|
||||
else
|
||||
|
||||
echo "[!] Репозиторий community не найден."
|
||||
echo "[!] Добавьте community в /etc/apk/repositories."
|
||||
exit 1
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "[*] Обновление индекса пакетов..."
|
||||
|
||||
apk update
|
||||
|
||||
# --------------------------------------------------
|
||||
# 6. Базовые инструменты
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Установка базовых инструментов..."
|
||||
|
||||
apk add \
|
||||
sudo \
|
||||
nano \
|
||||
git \
|
||||
bash \
|
||||
build-base
|
||||
|
||||
# --------------------------------------------------
|
||||
# 7. Пользователь
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Настройка пользователя $USER_NAME..."
|
||||
|
||||
if id "$USER_NAME" >/dev/null 2>&1; then
|
||||
|
||||
echo "[+] Пользователь $USER_NAME уже существует."
|
||||
|
||||
else
|
||||
|
||||
echo "[*] Создание пользователя $USER_NAME..."
|
||||
|
||||
adduser -D "$USER_NAME"
|
||||
|
||||
echo
|
||||
echo "[!] Сейчас необходимо задать пароль пользователя $USER_NAME."
|
||||
passwd "$USER_NAME"
|
||||
echo
|
||||
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 8. Группы
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Настройка групп пользователя..."
|
||||
|
||||
add_user_group wheel
|
||||
add_user_group seat
|
||||
|
||||
# При использовании seatd отдельные группы video/input
|
||||
# обычно не требуются.
|
||||
#
|
||||
# При необходимости их можно добавить:
|
||||
#
|
||||
# add_user_group video
|
||||
# add_user_group input
|
||||
|
||||
# --------------------------------------------------
|
||||
# 9. Sudo
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Настройка sudo..."
|
||||
|
||||
if [ -d /etc/sudoers.d ] &&
|
||||
grep -qE '^[[:space:]]*#?[[:space:]]*includedir[[:space:]]+/etc/sudoers\.d' \
|
||||
/etc/sudoers
|
||||
then
|
||||
|
||||
echo "[+] Используется /etc/sudoers.d."
|
||||
|
||||
cat > /etc/sudoers.d/wheel << 'EOF'
|
||||
%wheel ALL=(ALL) ALL
|
||||
EOF
|
||||
|
||||
chmod 440 /etc/sudoers.d/wheel
|
||||
|
||||
else
|
||||
|
||||
echo "[*] sudoers.d не подключен."
|
||||
|
||||
if grep -qE '^%wheel[[:space:]]+ALL=\(ALL\)[[:space:]]+ALL' \
|
||||
/etc/sudoers
|
||||
then
|
||||
|
||||
echo "[+] Правило wheel уже существует."
|
||||
|
||||
elif grep -qE '^#[[:space:]]*%wheel[[:space:]]+ALL=\(ALL\)[[:space:]]+ALL' \
|
||||
/etc/sudoers
|
||||
then
|
||||
|
||||
sed -i \
|
||||
's/^#[[:space:]]*\(%wheel[[:space:]]*ALL=(ALL)[[:space:]]*ALL\)/\1/' \
|
||||
/etc/sudoers
|
||||
|
||||
else
|
||||
|
||||
echo '%wheel ALL=(ALL) ALL' >> /etc/sudoers
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 10. Wayland / LabWC
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Установка Wayland и системных компонентов..."
|
||||
|
||||
apk add \
|
||||
mesa \
|
||||
mesa-dri \
|
||||
libinput \
|
||||
seatd \
|
||||
dbus \
|
||||
polkit
|
||||
|
||||
# --------------------------------------------------
|
||||
# 11. Зависимости zenith-cli
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Установка зависимостей zenith-cli..."
|
||||
|
||||
# zenith-cli:
|
||||
#
|
||||
# Bash -> build.sh
|
||||
# C/C++ -> build-base
|
||||
# CMake -> cmake
|
||||
# libcurl -> curl-dev
|
||||
# OpenCV -> opencv-dev
|
||||
#
|
||||
# CMakeLists.txt использует:
|
||||
#
|
||||
# find_package(CURL REQUIRED)
|
||||
# find_package(OpenCV REQUIRED)
|
||||
|
||||
apk add \
|
||||
cmake \
|
||||
curl-dev \
|
||||
opencv-dev
|
||||
|
||||
# --------------------------------------------------
|
||||
# 12. Desktop environment
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Установка рабочего окружения..."
|
||||
|
||||
apk add \
|
||||
labwc \
|
||||
alacritty \
|
||||
waybar \
|
||||
mako \
|
||||
swaybg \
|
||||
wofi \
|
||||
font-noto \
|
||||
font-dejavu \
|
||||
wl-clipboard \
|
||||
xdg-desktop-portal \
|
||||
xdg-desktop-portal-gtk \
|
||||
pipewire \
|
||||
wireplumber \
|
||||
alsa-utils \
|
||||
networkmanager \
|
||||
networkmanager-applet \
|
||||
pcmanfm \
|
||||
firefox \
|
||||
swaylock
|
||||
|
||||
# --------------------------------------------------
|
||||
# 13. OpenRC
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Настройка системных служб..."
|
||||
|
||||
enable_service seatd
|
||||
enable_service dbus
|
||||
enable_service networkmanager
|
||||
|
||||
# --------------------------------------------------
|
||||
# 14. Конфигурация LabWC
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Создание конфигурации LabWC..."
|
||||
|
||||
mkdir -p "$HOME_DIR/.config/labwc"
|
||||
|
||||
cat > "$HOME_DIR/.config/labwc/environment" << 'EOF'
|
||||
XDG_CURRENT_DESKTOP=labwc
|
||||
XDG_SESSION_DESKTOP=labwc
|
||||
XDG_SESSION_TYPE=wayland
|
||||
|
||||
MOZ_ENABLE_WAYLAND=1
|
||||
QT_QPA_PLATFORM=wayland
|
||||
SDL_VIDEODRIVER=wayland
|
||||
EOF
|
||||
|
||||
cat > "$HOME_DIR/.config/labwc/autostart" << 'EOF'
|
||||
#!/bin/sh
|
||||
|
||||
# --------------------------------------------------
|
||||
# NetworkManager applet
|
||||
# --------------------------------------------------
|
||||
|
||||
nm-applet &
|
||||
|
||||
# --------------------------------------------------
|
||||
# Waybar
|
||||
# --------------------------------------------------
|
||||
|
||||
waybar &
|
||||
|
||||
# --------------------------------------------------
|
||||
# Notification daemon
|
||||
# --------------------------------------------------
|
||||
|
||||
mako &
|
||||
|
||||
# --------------------------------------------------
|
||||
# PipeWire
|
||||
# --------------------------------------------------
|
||||
|
||||
if ! pgrep -x pipewire >/dev/null 2>&1; then
|
||||
pipewire &
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# WirePlumber
|
||||
# --------------------------------------------------
|
||||
|
||||
if ! pgrep -x wireplumber >/dev/null 2>&1; then
|
||||
wireplumber &
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# Wallpaper
|
||||
# --------------------------------------------------
|
||||
|
||||
if [ -f /usr/share/backgrounds/alpine/alpine-wallpaper.png ]; then
|
||||
swaybg \
|
||||
-i /usr/share/backgrounds/alpine/alpine-wallpaper.png \
|
||||
-m fill &
|
||||
fi
|
||||
EOF
|
||||
|
||||
chmod +x "$HOME_DIR/.config/labwc/autostart"
|
||||
|
||||
# --------------------------------------------------
|
||||
# 15. zenith-cli
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Установка zenith-cli..."
|
||||
|
||||
if [ -d "$ZENITH_DIR/.git" ]; then
|
||||
|
||||
echo "[*] Репозиторий zenith-cli уже существует."
|
||||
|
||||
su - "$USER_NAME" -c "
|
||||
set -eu
|
||||
cd '$ZENITH_DIR'
|
||||
git pull --ff-only
|
||||
"
|
||||
|
||||
else
|
||||
|
||||
echo "[*] Клонирование zenith-cli..."
|
||||
|
||||
su - "$USER_NAME" -c "
|
||||
set -eu
|
||||
git clone '$ZENITH_REPO' '$ZENITH_DIR'
|
||||
"
|
||||
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 16. Проверка build.sh
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Проверка build.sh..."
|
||||
|
||||
if [ ! -f "$ZENITH_DIR/build.sh" ]; then
|
||||
echo "[!] build.sh не найден:"
|
||||
echo " $ZENITH_DIR/build.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 17. Проверка CMakeLists.txt
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Проверка CMakeLists.txt..."
|
||||
|
||||
if [ ! -f "$ZENITH_DIR/CMakeLists.txt" ]; then
|
||||
echo "[!] CMakeLists.txt не найден:"
|
||||
echo " $ZENITH_DIR/CMakeLists.txt"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 18. Сборка zenith-cli
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Сборка zenith-cli..."
|
||||
|
||||
su - "$USER_NAME" -c "
|
||||
set -eu
|
||||
|
||||
cd '$ZENITH_DIR'
|
||||
|
||||
chmod +x build.sh
|
||||
|
||||
echo '[*] Запуск build.sh...'
|
||||
./build.sh
|
||||
|
||||
echo '[*] Проверка результата сборки...'
|
||||
|
||||
if [ ! -f './zenith-cli' ]; then
|
||||
echo '[!] ./zenith-cli не найден после сборки.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -x './zenith-cli' ]; then
|
||||
chmod +x './zenith-cli'
|
||||
fi
|
||||
|
||||
mkdir -p '$LOCAL_BIN'
|
||||
|
||||
cp './zenith-cli' '$LOCAL_BIN/zenith-cli'
|
||||
|
||||
chmod +x '$LOCAL_BIN/zenith-cli'
|
||||
|
||||
echo '[+] zenith-cli успешно собран.'
|
||||
echo '[+] Установлен в: $LOCAL_BIN/zenith-cli'
|
||||
"
|
||||
|
||||
# --------------------------------------------------
|
||||
# 19. Проверка бинарника zenith-cli
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Проверка zenith-cli..."
|
||||
|
||||
if [ ! -x "$LOCAL_BIN/zenith-cli" ]; then
|
||||
echo "[!] Бинарник zenith-cli не установлен."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 20. PATH
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Настройка PATH..."
|
||||
|
||||
touch "$PROFILE"
|
||||
|
||||
if ! grep -qF 'export PATH="$HOME/.local/bin:$PATH"' "$PROFILE"; then
|
||||
|
||||
cat >> "$PROFILE" << 'EOF'
|
||||
|
||||
# User local binaries
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 21. Автологин tty1
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Настройка автоматического входа..."
|
||||
|
||||
if [ -f /etc/inittab ]; then
|
||||
|
||||
if [ ! -f /etc/inittab.bak ]; then
|
||||
echo "[*] Создание резервной копии /etc/inittab..."
|
||||
cp /etc/inittab /etc/inittab.bak
|
||||
fi
|
||||
|
||||
if grep -q '^tty1::respawn:/sbin/getty' /etc/inittab; then
|
||||
|
||||
sed -i \
|
||||
"s|^tty1::respawn:/sbin/getty.*|tty1::respawn:/sbin/getty -a $USER_NAME 38400 tty1|" \
|
||||
/etc/inittab
|
||||
|
||||
elif ! grep -q '^tty1::respawn:' /etc/inittab; then
|
||||
|
||||
echo "[*] Добавление tty1..."
|
||||
|
||||
echo \
|
||||
"tty1::respawn:/sbin/getty -a $USER_NAME 38400 tty1" \
|
||||
>> /etc/inittab
|
||||
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
echo "[!] /etc/inittab не найден."
|
||||
echo "[!] Автологин не настроен."
|
||||
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 22. Автозапуск LabWC
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Настройка запуска LabWC..."
|
||||
|
||||
if ! grep -qF '# LABWC-AUTOSTART' "$PROFILE"; then
|
||||
|
||||
cat >> "$PROFILE" << 'EOF'
|
||||
|
||||
# LABWC-AUTOSTART
|
||||
#
|
||||
# Запуск LabWC только на tty1.
|
||||
#
|
||||
# dbus-run-session создаёт отдельную D-Bus session bus
|
||||
# для графической сессии.
|
||||
#
|
||||
if [ "$(tty 2>/dev/null)" = "/dev/tty1" ] &&
|
||||
[ -z "${WAYLAND_DISPLAY:-}" ]; then
|
||||
|
||||
exec dbus-run-session -- labwc
|
||||
|
||||
fi
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 23. Права
|
||||
# --------------------------------------------------
|
||||
|
||||
echo "[*] Настройка владельцев файлов..."
|
||||
|
||||
chown -R "$USER_NAME:$USER_NAME" "$HOME_DIR/.config"
|
||||
|
||||
chown "$USER_NAME:$USER_NAME" "$PROFILE"
|
||||
|
||||
if [ -d "$HOME_DIR/.local" ]; then
|
||||
chown -R "$USER_NAME:$USER_NAME" "$HOME_DIR/.local"
|
||||
fi
|
||||
|
||||
if [ -d "$ZENITH_DIR" ]; then
|
||||
chown -R "$USER_NAME:$USER_NAME" "$ZENITH_DIR"
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# 24. Финальная проверка
|
||||
# --------------------------------------------------
|
||||
|
||||
echo
|
||||
echo "=================================================="
|
||||
echo "[*] Финальная проверка"
|
||||
echo "=================================================="
|
||||
|
||||
printf '%-20s' "LabWC:"
|
||||
if command -v labwc >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "Waybar:"
|
||||
if command -v waybar >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "PipeWire:"
|
||||
if command -v pipewire >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "WirePlumber:"
|
||||
if command -v wireplumber >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "NetworkManager:"
|
||||
if command -v nmcli >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "D-Bus session:"
|
||||
if command -v dbus-run-session >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "Bash:"
|
||||
if command -v bash >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "CMake:"
|
||||
if command -v cmake >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "OpenCV:"
|
||||
if apk info -e opencv-dev >/dev/null 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
printf '%-20s' "zenith-cli:"
|
||||
if [ -x "$LOCAL_BIN/zenith-cli" ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "ERROR"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "=================================================="
|
||||
echo "[+] Установка завершена."
|
||||
echo "=================================================="
|
||||
echo
|
||||
echo "[!] Следующий шаг:"
|
||||
echo
|
||||
echo " reboot"
|
||||
echo
|
||||
echo "После перезагрузки:"
|
||||
echo
|
||||
echo " 1. $USER_NAME будет автоматически авторизован на tty1."
|
||||
echo " 2. LabWC запустится через dbus-run-session."
|
||||
echo " 3. Waybar, Mako и NetworkManager applet запустятся автоматически."
|
||||
echo " 4. PipeWire и WirePlumber будут запущены в пользовательской сессии."
|
||||
echo " 5. zenith-cli будет доступен как:"
|
||||
echo
|
||||
echo " zenith-cli"
|
||||
echo
|
||||
echo "=================================================="
|
||||
Reference in New Issue
Block a user