Skip to content

OSEBNI SISTEMSKI PRIROČNIK

MIXED SOURCES · 2026-08-24

13 — Odpravljanje težav

Diagnostika z najmanj invazivnim popravkom in rollbackom

Vsak postopek sledi istemu zaporedju: simptom → vzrok → varen pregled → interpretacija → najmanj invaziven popravek → preverjanje → razveljavitev.

SimptomZačni tukaj
Nič se ne zažene; sidebar ali launcher manjkaCaelestia se ne zažene
Bližnjica je prenehala delovatiBližnjica ne deluje ali je v konfliktu
Aplikacija se odpre napačnoLibreWolf launcher ne deluje, nato Aplikacije
Barve, ikone ali sidebar se ne ujemajoNapačne barve
Vedenje oken ali monitorjev se je spremeniloMonitor je napačen in Okna
User service ni uspelPregled neuspele user service
Posodobitev je povzročila regresijoHyprland config error
Generirani podatki so videti stariPodatki priročnika so zastareli

Caelestia se ne zažene; sidebar ali launcher ne deluje

Section titled “Caelestia se ne zažene; sidebar ali launcher ne deluje”
  1. Simptom: manjka lupina ali se drawer ne odzove.
  2. Vzrok: Quickshell proces, JSON napaka ali user service/portal.
  3. Varen pregled: caelestia --help, pgrep -a quickshell, journalctl --user -b --no-pager | tail -200.
  4. Interpretacija: brez procesa pomeni neuspel avtozagon; parser error kaže datoteko in vrstico.
  5. Popravek: najprej odpravi samo navedeno napako; ne zamenjaj celotnih dotfiles.
  6. Preverjanje: ročno zaženi isti ~/.local/bin/qs-caelestia kot ga uporablja avtozagon.
  7. Razveljavitev: vrni eno spremenjeno datoteko iz kopije.

Preveri caelestia scheme get, gsettings get org.gnome.desktop.interface gtk-theme, gsettings get org.gnome.desktop.interface icon-theme in dejanske GTK CSS datoteke. Če Caelestia kaže glitch-lime, GTK pa adw-gtk3-dark, je razlika med toolkitoma pričakovana. Najmanj invaziven popravek je popraviti en vir z jasno prednostjo; rollback je prejšnja datoteka ali prejšnja vrednost gsettings.

READ ONLYPokaži runtime bližnjice
hyprctl binds -j | jq '.[] | {modmask,key,dispatcher,arg}'

Kontekst: Zahteva aktivno Hyprland sejo in jq.

Pričakovano: Aktivni bind objekti za primerjavo s tabelo in izvorno vrstico ali konkretna napaka socketa/orodja.

Interpretacija: Prisotnost v runtime in odsotnost v priročniku kaže zastarele generirane podatke; obratno kaže težavo vključitve ali parserja.

Če ista kombinacija obstaja večkrat, Hyprland obdeluje binde po vrstnem redu. Popravi ali odstrani samo eno dokazano podvojitev; preveri z novim hyprctl binds -j; rollback je vrnitev vrstice.

Monitor napačno postavljen ali napačna frekvenca

Section titled “Monitor napačno postavljen ali napačna frekvenca”

Primerjaj hyprctl monitors -j z vrsticami monitor = v aktivni konfiguraciji. Položaj je v virtualnih koordinatah, zasuk spremeni efektivno širino/višino. Najprej testiraj začasni dispatcher samo, če razumeš povrnitev; trajno vrstico spremeni šele po potrditvi. Rollback je prejšnja monitor vrstica in reload.

Preveri command -v librewolf in polje Exec= v ~/.local/share/applications/librewolf.desktop. Ne pregleduj profila. Popravi le napačno desktop datoteko; preveri iz terminala; rollback je njena kopija.

Hyprland config error ali namizje po posodobitvi ne zažene

Section titled “Hyprland config error ali namizje po posodobitvi ne zažene”
READ ONLYPrikaži napake aktivne konfiguracije
hyprctl configerrors

Kontekst: Zahteva delujočo Hyprland instanco.

Pričakovano: Prazen izpis pomeni, da runtime parser ne poroča napak; besedilo naj navede datoteko ali parser problem.

Interpretacija: Brez parser napak ne izključi težav aplikacije, storitve, gonilnika ali paketa.

V TTY najprej ohrani dnevnike in primerjaj zadnjo spremembo. Ne briši konfiguracij. Za najmanj invaziven popravek vrni samo zadnjo spremenjeno vrstico ali paketno različico po uradnem Arch postopku. Preveri z novo sejo; rollback popravka je ponovna uporaba kopije, ki si jo ustvaril pred posegom.

Simptom: shell komponenta ali helper, ki običajno sledi prijavi, manjka. Verjetni vzroki: enota ni uspela, executable manjka ali se njeno okolje razlikuje od interaktivnega terminala.

READ ONLYIzpiši neuspele user enote
systemctl --user --failed --no-pager

Kontekst: Zaženi znotraj seje prizadetega uporabnika.

Pričakovano: Brez neuspelih enot ali imena enot za posamičen pregled.

Interpretacija: Navedena enota določi mejo neuspele storitve, ne nujno temeljnega vzroka.

Navedeno enoto preglej z systemctl --user status UNIT --no-pager in journalctl --user -b -u UNIT --no-pager. UNIT zamenjaj samo s točnim imenom iz prvega ukaza. Popravi navedeno pot, sintakso ali odvisnost, ne celotnega nabora storitev. Preveri enoto in njeno vidno funkcijo. Če je regresijo povzročila sprememba unit datoteke, vrni njeno časovno označeno kopijo.

Najprej primerjaj generirani zapis z navedeno izvorno datoteko. Runtime stanje preglej le, ko je njegov socket dosegljiv. Razlika med zajetimi podatki in poznejšim configom je po urejanju pričakovana; ni dokaz napačnega parserja.

pnpm update-manual zaženi iz korena tega projekta samo, ko želiš osvežiti shranjeni audit in generirane strani. Skript je read-only do žive konfiguracije, piše pa v projekt. Preglej diff, zaženi pnpm check in build. Rollback izvedeš z obnovitvijo samo generiranih projektnih datotek iz version controla ali projektne kopije; žive konfiguracije nikoli ne spreminjaj tako, da bi ustrezala stari dokumentaciji.

  • pred spremembo reproduciraj en simptom;
  • zapiši najmanjši dokaz, ki loči verjetne vzroke;
  • uporabi samo popravek, ki ga dokaz podpira;
  • ponovi isti pregled in uporabniško dejanje;
  • rollback kopijo ohrani do naslednje uspešne seje.