Portál AbcLinuxu, 3. května 2025 23:48
Linux je stabilní systém, ale i tak někdy se stane, že jej potkají nějaké problémy. V takovém případě doporučuji vyzkoušet, co umí magická klávesa SysRQ.
Klávesa SysRQ je určena k řešení problémů v případě, že se něco nad kernelem pokazí. Používají ji také vývojáři k debugování. Běžně s její pomocí dokážete resetovat X server, případně vám dokáže pomoct v případě, že musíte restartovat celý počítač - předejdete poškození souborového systému.
Ke správné funkci musí být její podpora zakompilovaná v kernelu, což zajišťuje volba Magic SysRQ Key
v části Kernel Hacking
. Dále musí být její použití povoleno - to zkontrolujete tak, že si vypíšete obsah v /proc/sys/kernel/sysrq
pomocí příkazu
cat /proc/sys/kernel/sysrq
V případě, že příkaz vypíše číslo 1, je vše v pořádku. Pokud číslo 0, tak musíte její funkci povolit. Můžete tak učinit dočasně, pomocí příkazu
echo "1" > /proc/sys/kernel/sysrq
nebo trvale přidáním řádku kernel.sysrq = 1
do souboru /etc/sysctl.conf
. To provedete třeba příkazem
echo "kernel.sysrq = 1" >> /etc/sysctl.conf
ALT+F{1,2,3,4,5,6}
a přepnout se tak do textové konsole, ze které můžete killnout x-server.init
.init
.init
.Pokud použijete SysRQ klávesu k sestřelení X serveru, tak nejspíše nedostane čas obnovit text mode na terminálu. To může způsobit, že terminál bude nečitelný. Pokud se tak stane, vyzkoušejte příkaz reset
, možná se vám podaří vrátit čitelný terminál.
K možnostem SysRQ je možné také přistupovat pomocí souborového systému /proc. Konkrétně pomocí souboru /proc/sysrq-trigger
. Pokud do tohoto souboru pošlete písmeno, které připojujete k Alt+SysRQ, například
echo "h" > /proc/sysrq-trigger
tak se stane totéž, jako byste stiskli kombinaci kláves Alt+SysRQ+h - bude tedy na termínál vypsána nápověda ke klávese SysRQ.
Nemusí být až tak špatný nápad si tohle vytisknout a umístit někde poblíž počítače; až to budete potřebovat, tak se na tuhle stránku nejspíše nebudete moct dostat :-).
Více informací, i když v angličtině, najdete v souboru /usr/src/linux/Documentation/sysrq.txt
.
Uvolní myš a klávesnici z držení X serveru.
Opravdu to funguje? Když se mi kousnou Xka takhle brutálně, že už nereaguje ani myš nebo klávesnice, tak typicky nepřeklopím ani stav Num Locku či Caps Locku zobrazovaný diodou, takže se mi moc nezdá, že by ta klávesnice ještě nějak reagovala.
Super klavesnice.
Vzdy me zajimalo jak vypada japonska klavesnice, alespon trochu vim jak pisi hiraganu/katakanu.
/var/log/messages
:
Jul 15 07:15:19 Jasonn kernel: SysRq : Keyboard mode set to XLATEProblém je v tom, že ani předtím ani potom počítač nereaguje ani na Alt+Fx, ani na Ctrl+Alt+Fx.
Jul 15 00:12:24 Jasonn kernel: irq 18: nobody cared (try booting with the "irqpoll" option) Jul 15 00:12:24 Jasonn kernel: Jul 15 00:12:24 Jasonn kernel: Call Trace: Jul 15 00:12:24 Jasonn kernel: <IRQ> [<ffffffff8026e9fe>] __report_bad_irq+0x1e/0x80 Jul 15 00:12:24 Jasonn kernel: [<ffffffff8026ec96>] note_interrupt+0x236/0x2b0 Jul 15 00:12:24 Jasonn kernel: [<ffffffff8026f885>] handle_fasteoi_irq+0xd5/0x100 Jul 15 00:12:24 Jasonn kernel: [<ffffffff8020ca4d>] do_IRQ+0xbd/0x1b0 Jul 15 00:12:24 Jasonn kernel: [<ffffffff80207b90>] default_idle+0x0/0x50 Jul 15 00:12:24 Jasonn kernel: [<ffffffff80209fc1>] ret_from_intr+0x0/0xa Jul 15 00:12:24 Jasonn kernel: <EOI> [<ffffffff80207bb9>] default_idle+0x29/0x50 Jul 15 00:12:24 Jasonn kernel: [<ffffffff80207d92>] cpu_idle+0x82/0xc0 Jul 15 00:12:24 Jasonn kernel: [<ffffffff805b67aa>] start_kernel+0x24a/0x2a0 Jul 15 00:12:24 Jasonn kernel: [<ffffffff805b6148>] _sinittext+0x148/0x180 Jul 15 00:12:24 Jasonn kernel: Jul 15 00:12:24 Jasonn kernel: handlers: Jul 15 00:12:24 Jasonn kernel: [<ffffffff88031180>] (usb_hcd_irq+0x0/0x60 [usbcore]) Jul 15 00:12:24 Jasonn kernel: [<ffffffff88031180>] (usb_hcd_irq+0x0/0x60 [usbcore]) Jul 15 00:12:24 Jasonn kernel: [<ffffffff88d69cbd>] (nv_kern_isr+0x0/0x8a [nvidia]) Jul 15 00:12:24 Jasonn kernel: Disabling IRQ #18 Jul 15 00:12:30 Jasonn kernel: NVRM: Xid (0001:00): 16, Head 00000001 Count 00000000 Jul 15 00:12:31 Jasonn kernel: NVRM: Xid (0001:00): 8, Channel 00000020Řekl bych, že v takovém případě můžu být rád, že jádro zareaguje aspoň na ten remount read-only a sync.
cat /proc/sys/kernel/sysrq
438
Něco je špatně
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.