/
reds
/
OpenDAW
Обзор
Документация
Войти
/
reds
/
OpenDAW
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
tests/gui/debug_gui.sh
164 строки
6 KB
OpenDAW Developer
feat: Add Complete GUI Debug Infrastructure
21 фев 2026, 07:47
21 фев 2026, 07:47
fa78579
Код
Авторство
О чём код?
#!/bin/bash # OpenDAW GUI Debug Script # Проверяет что GUI действительно отображается set -e echo "========================================" echo " OpenDAW GUI Debug Tool" echo "========================================" echo "" # Проверка DISPLAY echo "1. Проверка X11 сессии..." if [ -z "$DISPLAY" ]; then echo "❌ DISPLAY не установлен. Запустите из X11 сессии." exit 1 fi echo "✅ DISPLAY=$DISPLAY" echo "" # Проверка что OpenDAW запущен echo "2. Проверка процесса OpenDAW..." OPENDAW_PID=$(pgrep -f "OpenDAW" || echo "") if [ -z "$OPENDAW_PID" ]; then echo "❌ OpenDAW не запущен" echo " Запустите: ./run_opendaw.sh &" exit 1 fi echo "✅ OpenDAW запущен (PID: $OPENDAW_PID)" echo "" # Проверка X11 клиентов echo "3. Проверка X11 клиентов..." if command -v xlsclients &> /dev/null; then X11_CLIENTS=$(xlsclients -l 2>/dev/null | grep -i opendaw || echo "") if [ -z "$X11_CLIENTS" ]; then echo "⚠️ OpenDAW не найден в X11 клиентах" echo " Возможно окно ещё не создалось" else echo "✅ OpenDAW в X11 клиентах:" echo " $X11_CLIENTS" fi else echo "⚠️ xlsclients не установлен" fi echo "" # Проверка окон через wmctrl echo "4. Проверка окон..." if command -v wmctrl &> /dev/null; then OPENDAW_WINDOW=$(wmctrl -l 2>/dev/null | grep -i opendaw || echo "") if [ -z "$OPENDAW_WINDOW" ]; then echo "⚠️ Окно OpenDAW не найдено" echo " Возможно окно скрыто или минимизировано" else echo "✅ Окно OpenDAW найдено:" echo " $OPENDAW_WINDOW" fi else echo "⚠️ wmctrl не установлен" fi echo "" # Информация об окне через xwininfo echo "5. Информация об окне..." if command -v xwininfo &> /dev/null; then # Пробуем найти окно по имени XWININFO=$(xwininfo -name "OpenDAW*" 2>/dev/null | head -20 || echo "Не удалось получить информацию") echo "$XWININFO" else echo "⚠️ xwininfo не установлен" fi echo "" # Свойства окна через xprop echo "6. Свойства окна..." if command -v xprop &> /dev/null; then echo " Кликните на окне OpenDAW или нажмите Ctrl+C для пропуска" sleep 2 XPROP=$(timeout 5 xprop 2>/dev/null | head -30 || echo "Не удалось получить свойства") echo "$XPROP" else echo "⚠️ xprop не установлен" fi echo "" # Скриншот через xwd echo "7. Скриншот..." if command -v xwd &> /dev/null; then SCREENSHOT_DIR="$HOME/OpenDAW/debug_screenshots" mkdir -p "$SCREENSHOT_DIR" TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S) SCREENSHOT_FILE="$SCREENSHOT_DIR/xwd_$TIMESTAMP.xwd" # Найти окно WINDOW_ID=$(wmctrl -l 2>/dev/null | grep -i opendaw | awk '{print $1}' | head -1) if [ -n "$WINDOW_ID" ]; then echo " Сохранение скриншота в $SCREENSHOT_FILE" xwd -id "$WINDOW_ID" -silent > "$SCREENSHOT_FILE" 2>/dev/null || echo "❌ Не удалось сделать скриншот" # Конвертировать в PNG если есть convert if command -v convert &> /dev/null; then PNG_FILE="$SCREENSHOT_DIR/screenshot_$TIMESTAMP.png" convert "$SCREENSHOT_FILE" "$PNG_FILE" 2>/dev/null && echo "✅ PNG: $PNG_FILE" fi else echo "⚠️ Не удалось найти окно для скриншота" fi else echo "⚠️ xwd не установлен" fi echo "" # Проверка на наличие ошибок в логах echo "8. Проверка логов..." LOG_FILE="$HOME/.config/OpenDAW/gui_debug.log" if [ -f "$LOG_FILE" ]; then echo " Последние 10 строк лога:" tail -10 "$LOG_FILE" ERRORS=$(grep -i "error\|fail\|crash" "$LOG_FILE" || echo "") if [ -n "$ERRORS" ]; then echo "" echo "⚠️ Найдены ошибки:" echo "$ERRORS" else echo "" echo "✅ Ошибок не найдено" fi else echo "⚠️ Лог файл не найден" fi echo "" # Итог echo "========================================" echo " ИТОГИ" echo "========================================" echo "" echo "Процесс: $([ -n "$OPENDAW_PID" ] && echo "✅" || echo "❌")" echo "X11 клиент: $([ -n "$X11_CLIENTS" ] && echo "✅" || echo "⚠️")" echo "Окно: $([ -n "$OPENDAW_WINDOW" ] && echo "✅" || echo "⚠️")" echo "Скриншот: $([ -f "$SCREENSHOT_FILE" ] && echo "✅" || echo "⚠️")" echo "" if [ -n "$OPENDAW_PID" ] && [ -n "$OPENDAW_WINDOW" ]; then echo "✅ OpenDAW GUI работает корректно!" echo "" echo "Чтобы увидеть окно:" echo " 1. Проверьте что не минимизировано" echo " 2. Проверьте что не за другими окнами" echo " 3. Alt+Tab для переключения окон" else echo "⚠️ Возможные проблемы:" echo " 1. Окно ещё не успело создаться" echo " 2. Проблема с X11 сессией" echo " 3. Окно создано но не видимо" echo "" echo "Попробуйте:" echo " ./run_opendaw.sh" echo " И подождите 5 секунд" fi echo ""