a:
This commit is contained in:
+53
-98
@@ -1,9 +1,8 @@
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
# ============================================================
|
||||
# LabWC Alpine Setup Script
|
||||
# Version 10
|
||||
# Version 11
|
||||
#
|
||||
# Запуск:
|
||||
#
|
||||
@@ -76,7 +75,7 @@ if [ "$(id -u)" -ne 0 ]; then
|
||||
|
||||
fi
|
||||
|
||||
exec sudo "$SCRIPT_PATH" "$@"
|
||||
exec sudo sh "$SCRIPT_PATH" "$@"
|
||||
|
||||
fi
|
||||
|
||||
@@ -86,7 +85,7 @@ fi
|
||||
|
||||
echo
|
||||
echo "=================================================="
|
||||
echo " LabWC Alpine Setup Script v10"
|
||||
echo " LabWC Alpine Setup Script v11"
|
||||
echo "=================================================="
|
||||
echo
|
||||
echo "[*] User: $USER_NAME"
|
||||
@@ -198,10 +197,11 @@ install_optional() {
|
||||
add_user_group() {
|
||||
GROUP_NAME="$1"
|
||||
|
||||
# Создаём группу, если её нет
|
||||
if ! getent group "$GROUP_NAME" >/dev/null 2>&1; then
|
||||
|
||||
echo "[!] Группа $GROUP_NAME отсутствует."
|
||||
return 0
|
||||
echo "[*] Создание группы $GROUP_NAME..."
|
||||
addgroup "$GROUP_NAME"
|
||||
|
||||
fi
|
||||
|
||||
@@ -329,8 +329,9 @@ else
|
||||
adduser -D "$USER_NAME"
|
||||
|
||||
echo
|
||||
echo "[!] Задайте пароль для $USER_NAME."
|
||||
passwd "$USER_NAME"
|
||||
echo "[!] Задайте пароль для $USER_NAME вручную:"
|
||||
echo " passwd $USER_NAME"
|
||||
echo
|
||||
|
||||
fi
|
||||
|
||||
@@ -466,6 +467,17 @@ install_required pcmanfm
|
||||
install_required firefox
|
||||
install_required swaylock
|
||||
|
||||
# ============================================================
|
||||
# SDDM (Display Manager)
|
||||
# ============================================================
|
||||
|
||||
echo
|
||||
echo "=================================================="
|
||||
echo "[*] SDDM"
|
||||
echo "=================================================="
|
||||
|
||||
install_required sddm
|
||||
|
||||
# ============================================================
|
||||
# Необязательные пакеты
|
||||
# ============================================================
|
||||
@@ -496,6 +508,7 @@ echo "=================================================="
|
||||
enable_service seatd
|
||||
enable_service dbus
|
||||
enable_service networkmanager
|
||||
enable_service sddm
|
||||
|
||||
# ============================================================
|
||||
# LabWC configuration
|
||||
@@ -598,12 +611,20 @@ fi
|
||||
# Wallpaper
|
||||
# ============================================================
|
||||
|
||||
if command -v swaybg >/dev/null 2>&1 &&
|
||||
[ -f /usr/share/backgrounds/alpine/alpine-wallpaper.png ]
|
||||
then
|
||||
WALLPAPER=""
|
||||
|
||||
if [ -f /usr/share/backgrounds/alpine/alpine-wallpaper.png ]; then
|
||||
WALLPAPER="/usr/share/backgrounds/alpine/alpine-wallpaper.png"
|
||||
elif [ -f /usr/share/pixmaps/alpine-wallpaper.png ]; then
|
||||
WALLPAPER="/usr/share/pixmaps/alpine-wallpaper.png"
|
||||
elif [ -f /usr/share/wallpapers/alpine.png ]; then
|
||||
WALLPAPER="/usr/share/wallpapers/alpine.png"
|
||||
fi
|
||||
|
||||
if command -v swaybg >/dev/null 2>&1 && [ -n "$WALLPAPER" ]; then
|
||||
|
||||
swaybg \
|
||||
-i /usr/share/backgrounds/alpine/alpine-wallpaper.png \
|
||||
-i "$WALLPAPER" \
|
||||
-m fill &
|
||||
|
||||
fi
|
||||
@@ -627,7 +648,7 @@ if [ -d "$ZENITH_DIR/.git" ]; then
|
||||
su - "$USER_NAME" -c "
|
||||
set -eu
|
||||
cd '$ZENITH_DIR'
|
||||
git pull --ff-only
|
||||
git pull
|
||||
"
|
||||
|
||||
else
|
||||
@@ -744,95 +765,25 @@ EOF
|
||||
fi
|
||||
|
||||
# ============================================================
|
||||
# Автологин tty1
|
||||
# SDDM configuration
|
||||
# ============================================================
|
||||
|
||||
echo
|
||||
echo "=================================================="
|
||||
echo "[*] Настройка автологина tty1"
|
||||
echo "[*] Настройка SDDM"
|
||||
echo "=================================================="
|
||||
|
||||
if [ -f /etc/inittab ]; then
|
||||
mkdir -p /etc/sddm.conf.d
|
||||
|
||||
# --------------------------------------------------------
|
||||
# Резервная копия
|
||||
# --------------------------------------------------------
|
||||
cat > /etc/sddm.conf.d/wayland.conf << 'EOF'
|
||||
[Wayland]
|
||||
Compositor=labwc
|
||||
|
||||
if [ ! -f /etc/inittab.bak ]; then
|
||||
cp /etc/inittab /etc/inittab.bak
|
||||
fi
|
||||
|
||||
# --------------------------------------------------------
|
||||
# Создаём login-wrapper
|
||||
#
|
||||
# agetty запускает этот скрипт вместо обычного login.
|
||||
# Скрипт автоматически выполняет login для USER_NAME.
|
||||
# --------------------------------------------------------
|
||||
|
||||
cat > /usr/local/sbin/autologin-login << EOF
|
||||
#!/bin/sh
|
||||
|
||||
exec /bin/login "$USER_NAME"
|
||||
[General]
|
||||
GreeterEnvironment=MOZ_ENABLE_WAYLAND=1,QT_QPA_PLATFORM=wayland,SDL_VIDEODRIVER=wayland
|
||||
EOF
|
||||
|
||||
chmod 755 /usr/local/sbin/autologin-login
|
||||
|
||||
# --------------------------------------------------------
|
||||
# tty1
|
||||
# --------------------------------------------------------
|
||||
|
||||
if grep -q '^tty1::respawn:' /etc/inittab; then
|
||||
|
||||
sed -i \
|
||||
"s|^tty1::respawn:.*|tty1::respawn:/sbin/agetty -n -l /usr/local/sbin/autologin-login 38400 tty1|" \
|
||||
/etc/inittab
|
||||
|
||||
else
|
||||
|
||||
echo \
|
||||
"tty1::respawn:/sbin/agetty -n -l /usr/local/sbin/autologin-login 38400 tty1" \
|
||||
>> /etc/inittab
|
||||
|
||||
fi
|
||||
|
||||
echo "[+] tty1 настроен на автоматический вход: $USER_NAME"
|
||||
|
||||
else
|
||||
|
||||
echo "[!] /etc/inittab отсутствует."
|
||||
echo "[!] Автологин не настроен."
|
||||
|
||||
fi
|
||||
|
||||
# ============================================================
|
||||
# Автозапуск LabWC
|
||||
# ============================================================
|
||||
|
||||
echo
|
||||
echo "=================================================="
|
||||
echo "[*] Автозапуск LabWC"
|
||||
echo "=================================================="
|
||||
|
||||
if ! grep -qF '# LABWC-AUTOSTART' "$PROFILE"; then
|
||||
|
||||
cat >> "$PROFILE" << 'EOF'
|
||||
|
||||
# LABWC-AUTOSTART
|
||||
|
||||
if [ "$(tty 2>/dev/null)" = "/dev/tty1" ] &&
|
||||
[ -z "${WAYLAND_DISPLAY:-}" ]; then
|
||||
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export XDG_CURRENT_DESKTOP=labwc
|
||||
export XDG_SESSION_DESKTOP=labwc
|
||||
export LIBSEAT_BACKEND=seatd
|
||||
|
||||
exec dbus-run-session -- labwc
|
||||
|
||||
fi
|
||||
EOF
|
||||
|
||||
fi
|
||||
echo "[+] SDDM настроен для использования LabWC."
|
||||
|
||||
# ============================================================
|
||||
# Права
|
||||
@@ -917,6 +868,7 @@ check_command "NetworkManager" "nmcli"
|
||||
check_command "D-Bus" "dbus-run-session"
|
||||
check_command "Bash" "bash"
|
||||
check_command "CMake" "cmake"
|
||||
check_command "SDDM" "sddm"
|
||||
|
||||
echo
|
||||
|
||||
@@ -951,6 +903,7 @@ echo "[+] LabWC установлен."
|
||||
echo "[+] NetworkManager установлен."
|
||||
echo "[+] seatd установлен."
|
||||
echo "[+] PipeWire установлен."
|
||||
echo "[+] SDDM установлен."
|
||||
echo "[+] zenith-cli установлен."
|
||||
echo
|
||||
echo "[!] network-manager-applet не является обязательным."
|
||||
@@ -962,12 +915,14 @@ echo " reboot"
|
||||
echo
|
||||
echo "После перезагрузки:"
|
||||
echo
|
||||
echo " 1. Автоматический вход $USER_NAME"
|
||||
echo " 2. Запуск LabWC"
|
||||
echo " 3. Waybar"
|
||||
echo " 4. Mako"
|
||||
echo " 5. PipeWire / WirePlumber"
|
||||
echo " 6. NetworkManager"
|
||||
echo " 1. SDDM запустится автоматически"
|
||||
echo " 2. Выберите пользователя: $USER_NAME"
|
||||
echo " 3. Введите пароль"
|
||||
echo " 4. Сессия LabWC (Wayland) запустится"
|
||||
echo " 5. Waybar"
|
||||
echo " 6. Mako"
|
||||
echo " 7. PipeWire / WirePlumber"
|
||||
echo " 8. NetworkManager"
|
||||
echo
|
||||
echo "zenith-cli:"
|
||||
echo
|
||||
|
||||
Reference in New Issue
Block a user