/
arch_linux
/
postinstall
Обзор
Документация
Войти
/
arch_linux
/
postinstall
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/15_desktop_setup.sh
128 строк
4 KB
arch_linux
upload files
22 ноя 2025, 09:19
22 ноя 2025, 09:19
a4711e8
Код
Авторство
О чём код?
#!/bin/bash # Установка графического окружения set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "${SCRIPT_DIR}/common.sh" setup_desktop_environment() { if [ "$INSTALL_GRAPHICAL" = false ]; then print_info "Графическое окружение не выбрано, пропускаем установку" return 0 fi print_header "Установка окружения рабочего стола: $DESKTOP_ENVIRONMENT" local x11_packages=( "xorg-server" "xorg-xinit" "xorg-xrandr" "xorg-xset" "xterm" "xorg-xrdb" "xclip" "xsel" ) for package in "${x11_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done case $DESKTOP_ENVIRONMENT in "kde") print_info "Установка KDE Plasma..." local kde_packages=( "plasma" "kde-applications" "sddm" "dolphin" "konsole" "kate" "ark" ) for package in "${kde_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done sudo systemctl enable sddm print_success "KDE Plasma установлен" ;; "gnome") print_info "Установка GNOME..." local gnome_packages=( "gnome" "gnome-extra" "gdm" "nautilus" "gnome-terminal" "gnome-tweaks" ) for package in "${gnome_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done sudo systemctl enable gdm print_success "GNOME установлен" ;; "xfce") print_info "Установка XFCE..." local xfce_packages=( "xfce4" "xfce4-goodies" "lightdm" "lightdm-gtk-greeter" "thunar" "xfce4-terminal" "mousepad" ) for package in "${xfce_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done sudo systemctl enable lightdm print_success "XFCE установлен" ;; "lxqt") print_info "Установка LXQt..." local lxqt_packages=( "lxqt" "sddm" "pcmanfm-qt" "qterminal" "featherpad" "lxqt-panel" ) for package in "${lxqt_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done sudo systemctl enable sddm print_success "LXQt установлен" ;; "minimal") print_info "Установка минимального X11 с оконным менеджером..." local minimal_packages=( "i3-wm" "dmenu" "i3status" "i3lock" "feh" "rxvt-unicode" "thunar" ) for package in "${minimal_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done print_success "Минимальный X11 установлен" ;; esac print_success "Окружение рабочего стола установлено" } main() { print_header "УСТАНОВКА ГРАФИЧЕСКОГО ОКРУЖЕНИЯ" setup_desktop_environment save_state } main "$@"