[meta] source_os = "ipad" target_distro_family = "opensuse" # iPad/iPhone user on their first openSUSE install. # YaST (openSUSE's graphical admin tool) is a good bridge for users # unfamiliar with terminal-based system administration. [log_paths] steam = "~/.local/share/Steam/logs/content_log.txt" proton = "~/.local/share/Steam/logs/proton_log.txt" # ── Package management ──────────────────────────────────────────────────────── [[patterns]] id = "zypper-lock" sources = ["journald"] match_text = "System management is locked" severity = "warn" title = "Software installer is busy" body = "openSUSE's software manager is running — like iOS doing background updates. Wait a minute, or open YaST -> Software -> Software Management to see what's happening." [[patterns]] id = "zypper-dep-conflict" sources = ["journald"] match_text = "conflicts with" severity = "warn" title = "Two apps conflict" body = "Run a full update: sudo zypper dup — this resolves most conflicts." # ── AppArmor ────────────────────────────────────────────────────────────────── [[patterns]] id = "apparmor-denial" sources = ["journald"] match_text = "apparmor=\"DENIED\"" severity = "info" title = "App blocked by security policy" body = "openSUSE uses AppArmor for security — similar to how iOS isolates apps. Something was blocked. YaST -> Security -> AppArmor Configuration shows active profiles." # ── YaST ────────────────────────────────────────────────────────────────────── [[patterns]] id = "yast-backend-fail" sources = ["journald"] match_text = "YaST got signal" severity = "warn" title = "Settings tool crashed" body = "YaST (openSUSE's settings tool) crashed. Try running it from a terminal: sudo yast2 — the text mode is more stable than the graphical version." # ── System ──────────────────────────────────────────────────────────────────── [[patterns]] id = "kernel-driver-firmware" sources = ["kmsg"] match_text = "firmware: failed to load" severity = "warn" title = "Hardware driver file missing" body = "Install the firmware package: sudo zypper install kernel-firmware — restart after." [[patterns]] id = "oom-killer" sources = ["kmsg"] match_text = "Out of memory: Kill process" severity = "warn" title = "System ran out of memory" body = "Linux closed a program to free RAM. YaST -> System -> Partitioner can add or resize swap space (overflow RAM stored on disk)." [[patterns]] id = "disk-io-error" sources = ["kmsg"] match_text = "Buffer I/O error on device" severity = "warn" title = "Storage error" body = "Install: sudo zypper install smartmontools — then: sudo smartctl -a /dev/sda" # ── Audio ───────────────────────────────────────────────────────────────────── [[patterns]] id = "pipewire-connect-fail" sources = ["journald"] match_text = "Failed to connect to PipeWire" severity = "warn" title = "Sound system not responding" body = "Restart audio: systemctl --user restart pipewire pipewire-pulse wireplumber — or log out and back in." [[patterns]] id = "bluetooth-rfkill-blocked" sources = ["journald"] match_text = "Blocked through rfkill" severity = "warn" title = "Bluetooth turned off by software" body = "Run: rfkill unblock bluetooth — or use YaST -> Network -> Bluetooth." [[patterns]] id = "cups-server-error" sources = ["journald"] match_text = "Unable to connect to CUPS server" severity = "info" title = "Printer service not running" body = "Start printing: sudo systemctl start cups && sudo systemctl enable cups — or use YaST -> Hardware -> Printer." # ── Network ─────────────────────────────────────────────────────────────────── [[patterns]] id = "networkmanager-activation-fail" sources = ["journald"] match_text = "Activation failed" severity = "info" title = "Wi-Fi connection failed" body = "Check YaST -> Network Settings — or: nmcli device status — in a terminal."