/
arch_linux
/
postinstall
Обзор
Документация
Войти
/
arch_linux
/
postinstall
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/18_system_test.sh
127 строк
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" test_audio() { if [ "$AUDIO_SYSTEM" != "none" ]; then print_header "Тестирование аудио системы..." print_info "Проверка ALSA..." if alsamixer -v &> /dev/null; then print_success "ALSA работает" else print_warning "Проблемы с ALSA" fi if [ "$AUDIO_SYSTEM" = "pipewire" ]; then print_info "Проверка PipeWire..." if systemctl --user is-active wireplumber &> /dev/null; then print_success "PipeWire работает" else print_warning "Проблемы с PipeWire" fi elif [ "$AUDIO_SYSTEM" = "pulse" ]; then print_info "Проверка PulseAudio..." if pactl info &> /dev/null; then print_success "PulseAudio работает" else print_warning "Проблемы с PulseAudio" fi fi read -p "Запустить тест звука? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then print_info "Запуск тестового звука..." if command -v speakertest &> /dev/null; then sudo -u $SUDO_USER speakertest -t sine -f 1000 -l 1 elif [ -f /usr/share/sounds/alsa/Front_Left.wav ]; then sudo -u $SUDO_USER aplay /usr/share/sounds/alsa/Front_Left.wav else print_warning "Не удалось воспроизвести тестовый звук" fi fi fi } verify_installation() { print_header "Проверка установки..." local errors=0 if systemctl is-active --quiet bluetooth.service; then print_success "Bluetooth: OK" else print_error "Bluetooth service не запущен" ((errors++)) fi if command -v paru &> /dev/null; then print_success "Paru: OK" else print_error "Paru не установлен" ((errors++)) fi if command -v python &> /dev/null; then print_success "Python: OK" else print_error "Python не установлен" ((errors++)) fi if command -v rustc &> /dev/null; then print_success "Rust: OK" else print_error "Rust не установлен" ((errors++)) fi if systemctl is-active --quiet NetworkManager; then print_success "NetworkManager: OK" else print_error "NetworkManager не запущен" ((errors++)) fi if [ "$AUDIO_SYSTEM" != "none" ]; then if [ "$AUDIO_SYSTEM" = "pipewire" ]; then if systemctl --user is-active wireplumber &> /dev/null; then print_success "PipeWire: OK" else print_error "PipeWire не работает" ((errors++)) fi elif [ "$AUDIO_SYSTEM" = "pulse" ]; then if pactl info &> /dev/null; then print_success "PulseAudio: OK" else print_error "PulseAudio не работает" ((errors++)) fi fi else print_info "Аудио система: не установлена" fi echo "" if [ $errors -eq 0 ]; then print_success "Все основные компоненты работают корректно!" else print_warning "Найдено $errors ошибок. Некоторые компоненты требуют внимания." fi } main() { print_header "ТЕСТИРОВАНИЕ СИСТЕМЫ" test_audio verify_installation save_state } main "$@"