Ubuntu/crash je stránka o tom, co se děje, když nějaká aplikace či dokonce celý systém spadne.

Co dělat?

editovat

Co dělat, když nějaká aplikace "zamrzne" či "spadne"? Rozhodně není nejlepší řešení hned celý počítač jednoduše vypnout. Pokud systém (skutečně či zdánlivě) na nic nereaguje anebo se na obrazovce nic nezobrazuje (anebo je "zamrzlá), je možno zkusit nějaké "hmaty":

  • Ctrl-Alt-F1 atd. – přepne z grafického rozhraní do příkazové řádky, kde je možné něco řešit – pokud to máme správně nakonfigurované, viz Ubuntu/tty
  • Ctrl-Alt-Backspace – shodí X11 server (pokud je to tak nakonfigurované)
  • SysRq – pokud to máme správně nakonfigurované

Prevence

editovat

Je dobré se vyhnout tomu, aby bylo něco v nepořádku a když už je, tak abychom měli předem připravené nástroje k řešení – například správně nakonfigurované výše uvedené hmaty.

Crash Reporting

editovat

Debugging

editovat

Abychom viděli, co se děje při bootování systému:

  • /etc/default/grub – v souboru najdeme řádek:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
  • a vyhodíme z něj ono quiet splash (tj. necháme tam jen prázdné uvozovky):
GRUB_CMDLINE_LINUX_DEFAULT=""
  • případně další možnost je:
GRUB_CMDLINE_LINUX_DEFAULT="debug ignore_loglevel"
  • Po změně souboru musíme pustit:
sudo update-grub

Soubory a adresáře

editovat

/var/crash/*.crash

editovat

Zde se nachází reporty z různých bývalých crashů (které asi nebyly zpracovány). Systém pak zobrazí okénko:

   '''Zjištěn problém se systémovým programem.'''
(?)       Chcete oznámit problém nyní?
    [Zrušit]             [Oznámit problém...]

Taková okénka systém zobrazuje pomocí:

\_ /bin/sh -e /proc/self/fd/9
    \_ /usr/lib/update-notifier/system-crash-notification

Pokud to nechceme řešit a chceme se jich jen zbavit (a je jich moc), můžeme:

sudo rm /var/crash/*
killall system-crash-notification

Pokud chceme zakázat apport, pak v souboru:

  • /etc/default/apport

namísto enabled=1 dáme enabled=0

kern.log

editovat
  • /var/log/kern.log
  • /var/log/syslog

apport.log.1

editovat
  • /var/log/apport.log.1

.xsession-errors

editovat
  • ~/.xsession-errors