screen on 14:57 02-09-2026
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
@@ -0,0 +1,15 @@
|
||||
# базовые сервисы
|
||||
waybar &
|
||||
mako &
|
||||
|
||||
# буфер обмена
|
||||
wl-paste --type text --watch cliphist store &
|
||||
wl-paste --type image --watch cliphist store &
|
||||
|
||||
# обои
|
||||
# потом заменить на ~/.config/labwc/update_theme.sh &
|
||||
~/.config/labwc/scripts/base_theme_dark.sh &
|
||||
|
||||
|
||||
# polkit agent
|
||||
systemctl --user start hyprpolkitagent.service &
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
cat << EOF > "$HOME/.config/labwc/themerc-override"
|
||||
# цвет рамки active и inactive
|
||||
window.active.border.color: #ECE7DD
|
||||
window.inactive.border.color: #141414
|
||||
|
||||
# цвет фона заголовка active и inactive
|
||||
window.active.title.bg.color: #ECE7DD
|
||||
window.inactive.title.bg.color: #ECE7DD
|
||||
|
||||
# цвет текста заголовка окна
|
||||
window.active.label.text.color: #141414
|
||||
window.inactive.label.text.color: #141414
|
||||
|
||||
# цвет иконок кнопок для АКТИВНОГО окна
|
||||
window.active.button.unpressed.image.color: #141414
|
||||
|
||||
# цвет иконок кнопок для НЕАКТИВНОГО окна (ОБЯЗАТЕЛЬНЫЙ КЛЮЧ LABWC)
|
||||
window.inactive.button.image.color: #141414
|
||||
EOF
|
||||
|
||||
killall swaybg 2>/dev/null
|
||||
|
||||
swaybg -m fill -i "$HOME/.config/labwc/backgrounds/voidlinux_bg_dark.png" &
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
cat << EOF > "$HOME/.config/labwc/themerc-override"
|
||||
# цвет рамки active и inactive
|
||||
window.active.border.color: #ECE7DD
|
||||
window.inactive.border.color: #141414
|
||||
|
||||
# цвет фона заголовка active и inactive
|
||||
window.active.title.bg.color: #ECE7DD
|
||||
window.inactive.title.bg.color: #ECE7DD
|
||||
|
||||
# цвет текста заголовка окна
|
||||
window.active.label.text.color: #141414
|
||||
window.inactive.label.text.color: #141414
|
||||
|
||||
# цвет иконок кнопок для АКТИВНОГО окна
|
||||
window.active.button.unpressed.image.color: #141414
|
||||
|
||||
# цвет иконок кнопок для НЕАКТИВНОГО окна (ОБЯЗАТЕЛЬНЫЙ КЛЮЧ LABWC)
|
||||
window.inactive.button.image.color: #141414
|
||||
EOF
|
||||
|
||||
killall swaybg 2>/dev/null
|
||||
|
||||
swaybg -m fill -i "$HOME/.config/labwc/backgrounds/voidlinux_bg_light.png" &
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"FG_COLOR":"#ece7dd",
|
||||
"SUB_FG_COLOR":"#b4b4b4",
|
||||
|
||||
"BG_COLOR":"#141414",
|
||||
"SUB_BG_COLOR":"#2c2c2c",
|
||||
|
||||
"ACCENT_COLOR":"#7f4ab4",
|
||||
"SUB_ACCENT_COLOR":"#a384c2"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"FG_COLOR":"#141414",
|
||||
"SUB_FG_COLOR":"#747474",
|
||||
|
||||
"BG_COLOR":"#ece7dd",
|
||||
"SUB_BG_COLOR":"#b4b4b4",
|
||||
|
||||
"ACCENT_COLOR":"#7f4ab4",
|
||||
"SUB_ACCENT_COLOR":"#a384c2"
|
||||
}
|
||||
@@ -0,0 +1,735 @@
|
||||
#!/bin/sh
|
||||
# =============================================================================
|
||||
# Void Linux + SDDM + Labwc
|
||||
# =============================================================================
|
||||
#
|
||||
# Целевая схема:
|
||||
#
|
||||
# BIOS/UEFI
|
||||
# |
|
||||
# v
|
||||
# runit
|
||||
# |
|
||||
# +---- dbus
|
||||
# |
|
||||
# +---- seatd
|
||||
# |
|
||||
# +---- elogind
|
||||
# |
|
||||
# +---- sddm
|
||||
# |
|
||||
# +---- Xorg
|
||||
# |
|
||||
# v
|
||||
# SDDM
|
||||
# |
|
||||
# v
|
||||
# Labwc (Wayland)
|
||||
#
|
||||
# Подходит для:
|
||||
# - чистой установки Void Linux
|
||||
# - KVM/QEMU + QXL
|
||||
# - KVM/QEMU + VirtIO GPU
|
||||
# - Intel
|
||||
# - AMD
|
||||
#
|
||||
# NVIDIA намеренно НЕ настраивается автоматически.
|
||||
#
|
||||
# Запуск:
|
||||
#
|
||||
# sudo sh void-labwc-install.sh
|
||||
#
|
||||
# =============================================================================
|
||||
|
||||
set -eu
|
||||
|
||||
# =============================================================================
|
||||
# Цвета / вывод
|
||||
# =============================================================================
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
log() {
|
||||
printf "${GREEN}[✓]${NC} %s\n" "$1"
|
||||
}
|
||||
|
||||
info() {
|
||||
printf "${BLUE}[i]${NC} %s\n" "$1"
|
||||
}
|
||||
|
||||
warn() {
|
||||
printf "${YELLOW}[!]${NC} %s\n" "$1"
|
||||
}
|
||||
|
||||
error() {
|
||||
printf "${RED}[✗]${NC} %s\n" "$1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# =============================================================================
|
||||
# Проверка root
|
||||
# =============================================================================
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
error "Скрипт необходимо запускать через sudo:
|
||||
|
||||
sudo sh $0"
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Определение обычного пользователя
|
||||
# =============================================================================
|
||||
|
||||
REAL_USER="${SUDO_USER:-}"
|
||||
|
||||
if [ -z "$REAL_USER" ] || [ "$REAL_USER" = "root" ]; then
|
||||
error "Не удалось определить обычного пользователя.
|
||||
|
||||
Запусти скрипт так:
|
||||
|
||||
sudo sh $0
|
||||
|
||||
а не из root shell."
|
||||
fi
|
||||
|
||||
if ! id "$REAL_USER" >/dev/null 2>&1; then
|
||||
error "Пользователь '$REAL_USER' не существует."
|
||||
fi
|
||||
|
||||
USER_UID="$(id -u "$REAL_USER")"
|
||||
USER_GID="$(id -g "$REAL_USER")"
|
||||
USER_GROUP="$(id -gn "$REAL_USER")"
|
||||
USER_HOME="$(getent passwd "$REAL_USER" | cut -d: -f6)"
|
||||
|
||||
if [ -z "$USER_HOME" ] || [ ! -d "$USER_HOME" ]; then
|
||||
error "Не удалось определить HOME пользователя '$REAL_USER'."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "============================================================"
|
||||
echo " Void Linux + SDDM + Labwc installer"
|
||||
echo "============================================================"
|
||||
echo ""
|
||||
echo "Пользователь : $REAL_USER"
|
||||
echo "UID : $USER_UID"
|
||||
echo "HOME : $USER_HOME"
|
||||
echo ""
|
||||
|
||||
# =============================================================================
|
||||
# Проверка архитектуры
|
||||
# =============================================================================
|
||||
|
||||
info "Архитектура системы: $(uname -m)"
|
||||
|
||||
# =============================================================================
|
||||
# ЭТАП 1 — Репозитории
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Этап 1/8: настройка репозиториев..."
|
||||
|
||||
# Nonfree нужен для части firmware/драйверов и некоторых пакетов.
|
||||
if xbps-query -Rs '^void-repo-nonfree$' 2>/dev/null | \
|
||||
grep -q 'void-repo-nonfree'; then
|
||||
|
||||
log "void-repo-nonfree доступен."
|
||||
|
||||
else
|
||||
info "Устанавливаю void-repo-nonfree..."
|
||||
xbps-install -Sy void-repo-nonfree
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# ЭТАП 2 — Обновление системы
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Этап 2/8: обновление системы..."
|
||||
|
||||
xbps-install -Syu
|
||||
|
||||
# =============================================================================
|
||||
# ЭТАП 3 — Базовые пакеты
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Этап 3/8: установка базовой системы..."
|
||||
|
||||
BASE_PACKAGES="
|
||||
base-system
|
||||
dbus
|
||||
elogind
|
||||
seatd
|
||||
sudo
|
||||
ca-certificates
|
||||
curl
|
||||
wget
|
||||
tar
|
||||
unzip
|
||||
zip
|
||||
p7zip
|
||||
unar
|
||||
fuse
|
||||
fuse-common
|
||||
xdg-utils
|
||||
"
|
||||
|
||||
for pkg in $BASE_PACKAGES; do
|
||||
info "Установка: $pkg"
|
||||
xbps-install -y "$pkg" || warn "Не удалось установить $pkg"
|
||||
done
|
||||
|
||||
# =============================================================================
|
||||
# ЭТАП 4 — Графический стек
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Этап 4/8: установка графического стека..."
|
||||
|
||||
GRAPHICS_PACKAGES="
|
||||
xorg
|
||||
xorg-server-xwayland
|
||||
mesa-dri
|
||||
|
||||
sddm
|
||||
labwc
|
||||
|
||||
waybar
|
||||
wofi
|
||||
mako
|
||||
swaylock
|
||||
swayidle
|
||||
swaybg
|
||||
|
||||
wl-clipboard
|
||||
cliphist
|
||||
grim
|
||||
slurp
|
||||
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
|
||||
polkit
|
||||
polkit-gnome
|
||||
|
||||
qt5-wayland
|
||||
qt6-wayland
|
||||
qt5ct
|
||||
qt6ct
|
||||
|
||||
pipewire
|
||||
wireplumber
|
||||
alsa-pipewire
|
||||
|
||||
fontconfig
|
||||
noto-fonts-ttf
|
||||
ttf-dejavu
|
||||
ttf-jetbrains-mono
|
||||
ttf-font-awesome
|
||||
|
||||
breeze-icons
|
||||
adwaita-icon-theme
|
||||
|
||||
linux-firmware
|
||||
"
|
||||
|
||||
for pkg in $GRAPHICS_PACKAGES; do
|
||||
info "Установка: $pkg"
|
||||
xbps-install -y "$pkg" || warn "Не удалось установить $pkg"
|
||||
done
|
||||
|
||||
# =============================================================================
|
||||
# QXL / KVM
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
info "Проверка виртуальной/физической видеокарты..."
|
||||
|
||||
if command -v lspci >/dev/null 2>&1; then
|
||||
|
||||
GPU_INFO="$(lspci | grep -Ei 'VGA|3D|Display' || true)"
|
||||
|
||||
if [ -n "$GPU_INFO" ]; then
|
||||
echo ""
|
||||
echo "$GPU_INFO"
|
||||
echo ""
|
||||
|
||||
case "$GPU_INFO" in
|
||||
|
||||
*QXL*|*Red\ Hat*QXL*)
|
||||
info "Обнаружена QXL GPU — устанавливаю Xorg QXL driver."
|
||||
xbps-install -y xf86-video-qxl || \
|
||||
warn "xf86-video-qxl недоступен."
|
||||
;;
|
||||
|
||||
*Virtio*)
|
||||
info "Обнаружена VirtIO GPU."
|
||||
;;
|
||||
|
||||
*AMD*|*ATI*|*Radeon*)
|
||||
info "Обнаружена AMD/ATI GPU."
|
||||
;;
|
||||
|
||||
*Intel*)
|
||||
info "Обнаружена Intel GPU."
|
||||
;;
|
||||
|
||||
*NVIDIA*)
|
||||
warn "Обнаружена NVIDIA GPU."
|
||||
warn "NVIDIA driver намеренно НЕ устанавливается автоматически."
|
||||
;;
|
||||
|
||||
*)
|
||||
info "Неизвестный GPU — используются Mesa/Xorg по умолчанию."
|
||||
;;
|
||||
esac
|
||||
else
|
||||
warn "Не удалось определить GPU через lspci."
|
||||
fi
|
||||
|
||||
else
|
||||
warn "lspci не найден."
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Дополнительные пользовательские приложения
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Установка пользовательских приложений..."
|
||||
|
||||
OPTIONAL_PACKAGES="
|
||||
dolphin
|
||||
kate
|
||||
firefox
|
||||
kitty
|
||||
mpv
|
||||
ristretto
|
||||
pavucontrol
|
||||
easyeffects
|
||||
gparted
|
||||
htop
|
||||
qdirstat
|
||||
ffmpeg
|
||||
libnotify
|
||||
nodejs
|
||||
npm
|
||||
"
|
||||
|
||||
for pkg in $OPTIONAL_PACKAGES; do
|
||||
info "Установка: $pkg"
|
||||
xbps-install -y "$pkg" || warn "Пропущен пакет: $pkg"
|
||||
done
|
||||
|
||||
# =============================================================================
|
||||
# ЭТАП 5 — Пользовательские группы
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Этап 5/8: настройка групп пользователя..."
|
||||
|
||||
add_group() {
|
||||
group="$1"
|
||||
|
||||
if getent group "$group" >/dev/null 2>&1; then
|
||||
usermod -aG "$group" "$REAL_USER"
|
||||
log "$REAL_USER -> $group"
|
||||
else
|
||||
warn "Группа '$group' отсутствует."
|
||||
fi
|
||||
}
|
||||
|
||||
add_group "_seatd"
|
||||
add_group "audio"
|
||||
add_group "video"
|
||||
add_group "wheel"
|
||||
|
||||
# =============================================================================
|
||||
# ЭТАП 6 — Runit services
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Этап 6/8: настройка системных сервисов runit..."
|
||||
|
||||
enable_service() {
|
||||
svc="$1"
|
||||
|
||||
if [ ! -d "/etc/sv/$svc" ]; then
|
||||
warn "Сервис отсутствует: /etc/sv/$svc"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ -L "/var/service/$svc" ]; then
|
||||
log "Уже включён: $svc"
|
||||
return 0
|
||||
fi
|
||||
|
||||
ln -s "/etc/sv/$svc" "/var/service/$svc"
|
||||
log "Включён: $svc"
|
||||
}
|
||||
|
||||
enable_service dbus
|
||||
enable_service seatd
|
||||
enable_service elogind
|
||||
enable_service sddm
|
||||
|
||||
# =============================================================================
|
||||
# ВАЖНО:
|
||||
#
|
||||
# НЕ включаем:
|
||||
#
|
||||
# pipewire
|
||||
# wireplumber
|
||||
#
|
||||
# как system-wide runit services.
|
||||
#
|
||||
# Они должны работать в пользовательской сессии.
|
||||
# =============================================================================
|
||||
|
||||
if [ -L "/var/service/pipewire" ]; then
|
||||
warn "Обнаружен system-wide pipewire service."
|
||||
warn "Отключаю его — PipeWire будет работать в user session."
|
||||
rm -f /var/service/pipewire
|
||||
fi
|
||||
|
||||
if [ -L "/var/service/wireplumber" ]; then
|
||||
warn "Обнаружен system-wide wireplumber service."
|
||||
warn "Отключаю его — WirePlumber будет работать в user session."
|
||||
rm -f /var/service/wireplumber
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# elogind vs acpid
|
||||
# =============================================================================
|
||||
#
|
||||
# elogind сам занимается session/power management.
|
||||
# Поэтому не включаем acpid.
|
||||
# =============================================================================
|
||||
|
||||
if [ -L "/var/service/acpid" ]; then
|
||||
warn "Отключаю acpid, поскольку используется elogind."
|
||||
rm -f /var/service/acpid
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# ЭТАП 7 — SDDM
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Этап 7/8: настройка SDDM..."
|
||||
|
||||
mkdir -p /etc/sddm.conf.d
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# ВАЖНО:
|
||||
#
|
||||
# НЕ заставляем SDDM работать как Wayland compositor.
|
||||
#
|
||||
# SDDM использует Xorg для своего login screen.
|
||||
#
|
||||
# После авторизации SDDM запускает Labwc как Wayland session.
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
rm -f /etc/sddm.conf.d/10-wayland.conf
|
||||
|
||||
cat > /etc/sddm.conf.d/10-display.conf << 'EOF'
|
||||
[General]
|
||||
DisplayServer=x11
|
||||
EOF
|
||||
|
||||
log "SDDM настроен на X11/Xorg."
|
||||
|
||||
# =============================================================================
|
||||
# Labwc Wayland session
|
||||
# =============================================================================
|
||||
|
||||
mkdir -p /usr/share/wayland-sessions
|
||||
|
||||
cat > /usr/share/wayland-sessions/labwc.desktop << 'EOF'
|
||||
[Desktop Entry]
|
||||
Name=Labwc
|
||||
Comment=Wayland window-stacking compositor
|
||||
Exec=labwc
|
||||
Type=Application
|
||||
DesktopNames=labwc
|
||||
EOF
|
||||
|
||||
chmod 644 /usr/share/wayland-sessions/labwc.desktop
|
||||
|
||||
log "Создана Wayland-сессия Labwc."
|
||||
|
||||
# =============================================================================
|
||||
# SDDM autologin НЕ включаем.
|
||||
# =============================================================================
|
||||
|
||||
# Пользователь сам выбирает Labwc на экране SDDM.
|
||||
|
||||
# =============================================================================
|
||||
# ЭТАП 8 — Labwc config
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Этап 8/8: создание базовой конфигурации Labwc..."
|
||||
|
||||
LABWC_DIR="$USER_HOME/.config/labwc"
|
||||
|
||||
mkdir -p "$LABWC_DIR"
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# autostart
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
AUTOSTART="$LABWC_DIR/autostart"
|
||||
|
||||
if [ ! -f "$AUTOSTART" ]; then
|
||||
|
||||
cat > "$AUTOSTART" << 'EOF'
|
||||
#!/bin/sh
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Labwc autostart
|
||||
# ---------------------------------------------------------
|
||||
|
||||
# Waybar
|
||||
if command -v waybar >/dev/null 2>&1; then
|
||||
waybar &
|
||||
fi
|
||||
|
||||
# Notification daemon
|
||||
if command -v mako >/dev/null 2>&1; then
|
||||
mako &
|
||||
fi
|
||||
|
||||
# PolicyKit authentication agent
|
||||
if [ -x /usr/libexec/polkit-gnome-authentication-agent-1 ]; then
|
||||
/usr/libexec/polkit-gnome-authentication-agent-1 &
|
||||
elif command -v polkit-gnome-authentication-agent-1 >/dev/null 2>&1; then
|
||||
polkit-gnome-authentication-agent-1 &
|
||||
fi
|
||||
EOF
|
||||
|
||||
chmod +x "$AUTOSTART"
|
||||
|
||||
log "Создан Labwc autostart."
|
||||
|
||||
else
|
||||
info "Существующий Labwc autostart не изменён."
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# ALSA / PipeWire
|
||||
# =============================================================================
|
||||
|
||||
info "Настройка ALSA → PipeWire..."
|
||||
|
||||
mkdir -p /etc/alsa/conf.d
|
||||
|
||||
if [ -f /usr/share/alsa/alsa.conf.d/50-pipewire.conf ]; then
|
||||
ln -sf \
|
||||
/usr/share/alsa/alsa.conf.d/50-pipewire.conf \
|
||||
/etc/alsa/conf.d/50-pipewire.conf
|
||||
fi
|
||||
|
||||
if [ -f /usr/share/alsa/alsa.conf.d/99-pipewire-default.conf ]; then
|
||||
ln -sf \
|
||||
/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf \
|
||||
/etc/alsa/conf.d/99-pipewire-default.conf
|
||||
fi
|
||||
|
||||
log "ALSA/PipeWire настроен."
|
||||
|
||||
# =============================================================================
|
||||
# Права пользователя
|
||||
# =============================================================================
|
||||
|
||||
chown -R "$REAL_USER":"$USER_GROUP" \
|
||||
"$USER_HOME/.config"
|
||||
|
||||
# =============================================================================
|
||||
# Проверка установки
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
log "Проверка установленного ПО..."
|
||||
|
||||
check_command() {
|
||||
cmd="$1"
|
||||
|
||||
if command -v "$cmd" >/dev/null 2>&1; then
|
||||
log "$cmd: $(command -v "$cmd")"
|
||||
else
|
||||
warn "$cmd: НЕ НАЙДЕН"
|
||||
fi
|
||||
}
|
||||
|
||||
check_command labwc
|
||||
check_command sddm
|
||||
check_command Xorg
|
||||
check_command dbus-run-session
|
||||
check_command pipewire
|
||||
check_command wireplumber
|
||||
|
||||
# =============================================================================
|
||||
# Проверка session file
|
||||
# =============================================================================
|
||||
|
||||
if [ -f /usr/share/wayland-sessions/labwc.desktop ]; then
|
||||
log "Labwc session file: OK"
|
||||
else
|
||||
warn "Labwc session file отсутствует!"
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Ожидание запуска runit services
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
info "Ожидание запуска сервисов..."
|
||||
|
||||
sleep 3
|
||||
|
||||
# =============================================================================
|
||||
# Проверка сервисов
|
||||
# =============================================================================
|
||||
|
||||
check_service() {
|
||||
svc="$1"
|
||||
|
||||
if [ ! -L "/var/service/$svc" ]; then
|
||||
warn "$svc: НЕ ВКЛЮЧЁН"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if sv status "$svc" 2>/dev/null | grep -q '^run:'; then
|
||||
log "$svc: RUNNING"
|
||||
else
|
||||
warn "$svc: НЕ ЗАПУЩЕН"
|
||||
sv status "$svc" 2>&1 || true
|
||||
fi
|
||||
}
|
||||
|
||||
echo ""
|
||||
info "Статус системных сервисов:"
|
||||
|
||||
check_service dbus
|
||||
check_service seatd
|
||||
check_service elogind
|
||||
check_service sddm
|
||||
|
||||
# =============================================================================
|
||||
# Проверка Xorg
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
info "Проверка Xorg..."
|
||||
|
||||
if [ -x /usr/bin/X ]; then
|
||||
log "Xorg найден: /usr/bin/X"
|
||||
else
|
||||
warn "Xorg /usr/bin/X не найден!"
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Финальная информация
|
||||
# =============================================================================
|
||||
|
||||
echo ""
|
||||
echo "============================================================"
|
||||
printf "${GREEN}✓ УСТАНОВКА ЗАВЕРШЕНА${NC}\n"
|
||||
echo "============================================================"
|
||||
echo ""
|
||||
|
||||
echo "Архитектура:"
|
||||
echo " SDDM -> Xorg"
|
||||
echo " SDDM -> Labwc"
|
||||
echo " Labwc -> Wayland"
|
||||
echo ""
|
||||
|
||||
echo "Сервисы:"
|
||||
echo " dbus"
|
||||
echo " seatd"
|
||||
echo " elogind"
|
||||
echo " sddm"
|
||||
echo ""
|
||||
|
||||
echo "Labwc:"
|
||||
echo " $LABWC_DIR"
|
||||
echo ""
|
||||
|
||||
echo "SDDM session:"
|
||||
echo " /usr/share/wayland-sessions/labwc.desktop"
|
||||
echo ""
|
||||
|
||||
echo "============================================================"
|
||||
echo " ЧТО ДЕЛАТЬ ДАЛЬШЕ"
|
||||
echo "============================================================"
|
||||
echo ""
|
||||
|
||||
echo "1. Перезагрузиться:"
|
||||
echo ""
|
||||
echo " sudo reboot"
|
||||
echo ""
|
||||
|
||||
echo "2. Дождаться экрана SDDM."
|
||||
echo ""
|
||||
|
||||
echo "3. Выбрать сессию:"
|
||||
echo ""
|
||||
echo " Labwc"
|
||||
echo ""
|
||||
|
||||
echo "4. Войти под пользователем:"
|
||||
echo ""
|
||||
echo " $REAL_USER"
|
||||
echo ""
|
||||
|
||||
echo "============================================================"
|
||||
echo " ЕСЛИ ЧТО-ТО НЕ ЗАПУСТИЛОСЬ"
|
||||
echo "============================================================"
|
||||
echo ""
|
||||
|
||||
echo "Перейти в TTY:"
|
||||
echo ""
|
||||
echo " Ctrl + Alt + F2"
|
||||
echo ""
|
||||
|
||||
echo "Проверить сервисы:"
|
||||
echo ""
|
||||
echo " sudo sv status dbus"
|
||||
echo " sudo sv status seatd"
|
||||
echo " sudo sv status elogind"
|
||||
echo " sudo sv status sddm"
|
||||
echo ""
|
||||
|
||||
echo "Проверить SDDM:"
|
||||
echo ""
|
||||
echo " ps aux | grep -E 'sddm|Xorg' | grep -v grep"
|
||||
echo ""
|
||||
|
||||
echo "Проверить Xorg:"
|
||||
echo ""
|
||||
echo " sudo tail -100 /var/log/Xorg.0.log"
|
||||
echo ""
|
||||
|
||||
echo "Проверить GPU:"
|
||||
echo ""
|
||||
echo " lspci -k -d ::03xx"
|
||||
echo ""
|
||||
|
||||
echo "Проверить XDG_RUNTIME_DIR после входа:"
|
||||
echo ""
|
||||
echo " echo \"\$XDG_RUNTIME_DIR\""
|
||||
echo ""
|
||||
|
||||
echo "============================================================"
|
||||
echo ""
|
||||
|
||||
warn "После добавления пользователя в группы требуется новая"
|
||||
warn "login-сессия. Поэтому после установки ОБЯЗАТЕЛЬНО reboot."
|
||||
|
||||
echo ""
|
||||
Reference in New Issue
Block a user