Hlavní navigace

Kouzelná klávesa aneb PrintScreen jak ho neznáte

Petr Baudiš

Už je to asi opravdu dlouho co jste naposledy stiskli PrintScreen, pamatujete ještě? Vedle ScrollLocku a Pause se krčí ona klávesa, a často nese i druhou popisku, a to SysRq, což znamená Systém Request, neboli 'Požadavek systému' - prostě chcete dát svému milovanému OS najevo, že od něj chcete něco víc krom půlhodinového chrochtání disku. Avšak SysRq má v Linuxu mnoho netušených možnosti, o kterých se obyčejné ve většině manuálu nedozvíte...

Tato klávesa je vůbec velice zvláštní, když ji totiž normálně zmáčknete, nestane se vůbec nic. Aby se jen ona klávesa dostala od klávesnice do počítače, musíte zmáčknout Alt+SysRq. Pokud byste to udělali pod DOSem, udělá se normálně to, co byste také od PrintScreen čekali – takže se vám na papíře ocitne výpis obrazovky (když se to podaří – takový Norton Commander vypadá dosti hrozně, nezkoušejte to). Ale co se stane třeba v Linuxu? Rovnou si odpovíme: nic ;-).

A teď bychom mohli skončit, pokud bych tento článek ovšem psal před rokem 1997 – Linux totiž přesto tuto klávesu podporuje a dá se s ní dělat spousta užitečných věcí. Počítač je přetížený? Či jste ho natolik zmučili, že už vás prostě ignoruje? Je vám líto vašeho filesystému, a tak s rukou na resetu přemýšlíte co dělat? A teď s triumfálními fanfárami nastupuje právě klávesa SysRq. Pokud ve vašem jádru ještě stále bliká alespoň drobounké světélko života, a ještě stále je schopno si přečíst, co mu píšete na klávesnici, jste schopni díky SysRq například ukončit (poslat SIGTERM) či zavraždit (SIGKILL) všechny procesy puštěné na aktuální konzoli, všechny procesy obecně, či dokonce všechny procesy včetně initu (nedělejte to moc často), a hlavně synchronizovat všechny filesystémy, případně je ještě odmontovat (resp. remountovat jako r/o). Můžete se také zkusit vzpamatovat z podivného přenastavení klávesnice či monitoru nějakým zlým programem (vivat svgalib či dosemu), prohlédnout si registry, alokaci paměti či seznam procesů, změnit level logování (co vše vám jádro píše drze přímo do konzole), nebo rovnou rebootovat či shutdownovat, a to vše kdykoli je jádro ještě alespoň v trochu provozuschopném sta­vu…

Líbí se vám to? Ale jak na to, říkáte. Aby to vůbec mohlo fungovat, musíte mít zkompilované jádro s podporou ‚magic SysRq key‘, kteroužto naleznete v poněkud útlé sekci konfigurace jménem Kernel hacking (ono tam nic jiného krom toho SysRq stejně není, takže to snad najdete). Pokud nevíte, jestli to váš předkompilovaný kernel umí, vyzkoušejte níže uvedený postup a uvidíte sami…

Takže máte pod rukama kernel s podporou SysRq, tak si to hned vyzkoušíme. Přepněte do nějaké konzole v textovém režimu a s nějakou rozumnou aplikací (např. logovací konzole bude ideální), a stiskněte Alt+SysRq, podržte a zároveň stiskněte například ‚h‘. Měl by se vám vypsat krátký helpík, který vám řekne co vše SysRq umí – pokud se nevypíše, zkuste to bez Alt, jestli to stále nejde, asi to s tou podporou SysRq ve vašem jádře nebude tak žhavé – ale doufám že jsem vás navnadil tak, že při příští kompilaci vašeho kernelu si tuto podporu zapnete (kernel se zvětší nepatrně a nezpomalí prakticky vůbec – doufám ovšem jen že máte jádro nějaké rozumné verze).

A teď si můžete začít hrát. Alt+SysRq+S vám udělá to stejné jako příkaz ‚sync‘, U vám udělá to stejné jako ‚mount -o remount -r -a‘, tedy přepne všechny připojené filesystémy na readonly, takže se jim při rebootu nic zlého nastane. P vám zobrazí obsah všech registrů, T seznam všech procesů (dosti rozvleklý), M přehled o použité paměti, E se pokusí ukončit všechny procesy, I je zavraždí, a L zavraždí i init. Pokud chcete killnout jen proces který právě běží na současné konzoli (a nenechá vás přepnout jinam – opět vivat dosemu, svgalib a Xy), zmáčkněte K (ono tajemné SAK znamená System Attention Key ;-)). R přepne mód klávesnice z přímého (raw) do XLATu, tzn. o klávesnici se opět stará jádro a ne váš program – opět vivat zhavarované svgalib či X. Čísílka 0–8 určují co vše se vám bude psát na konzoli (0: nic [skoro], 8: vše), a konečně Béčkem váš computer rebootujete a (pokud je to podporováno a nakonfigurováno) Očkem ho vypnete.

Takže hodně štěstí s vaší novou hračkou a hlavně moc nemačkejte Alt+SysRq+L či B… Originální dokumentaci a povídání okolo si můžete přečíst v /usr/src/linux/Do­cumentation/sys­rq.txt, zdrojáky pro otrlé jsou /usr/src/linux/dri­vers/char/key­board.c a /usr/src/linux/dri­vers/char/sys­rq.c. A perlička na konec (buďme také trochu patrioti) – napsal to (podobně jako spousta dalších užitečných věciček) chudý český student Martin Mareš ;-).

Našli jste v článku chybu?

9. 10. 2000 14:20

kamil (neregistrovaný)

to cerw: http://www.root.cz/clanek.phtml?id=294

6. 10. 2000 17:09

Cica (neregistrovaný)

Treba sa prehrabat starsimi clankami, niekde som to tu videl. Volalo sa to, ze Ako na nepotrebne klavesy, alebo tak nejak podobne. Inac principialne ide o zmenu klavesovej mapy.

Vitalia.cz: 7 originálních adventních kalendářů pro mlsné

7 originálních adventních kalendářů pro mlsné

120na80.cz: Rovnátka, která nejsou vidět

Rovnátka, která nejsou vidět

120na80.cz: Boreliózu nelze žádným testem prokázat

Boreliózu nelze žádným testem prokázat

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

DigiZone.cz: V Plzni odstartovalo Radio 1

V Plzni odstartovalo Radio 1

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Lupa.cz: Levný tarif pro Brno nebude, je to kartel

Levný tarif pro Brno nebude, je to kartel

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Měšec.cz: Za palivo zaplatíte mobilem (TEST)

Za palivo zaplatíte mobilem (TEST)

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Měšec.cz: Exekuční poradna: ptejte se online

Exekuční poradna: ptejte se online

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte