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