abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:22 | Nová verze

    Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 0
    10.5. 19:11 | Nová verze

    Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 7
    10.5. 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    9.5. 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 16
    9.5. 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 32
    9.5. 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 20
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 7
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (64%)
     (8%)
     (13%)
     (16%)
    Celkem 160 hlasů
     Komentářů: 11, poslední 10.5. 18:00
    Rozcestník

    Lehký úvod do "obecného" ACPI

    17.2.2008 05:56 | Přečteno: 3891× | LINUX | Výběrový blog | poslední úprava: 23.2.2008 14:03

    Aneb vše co jste vždy chtěli od ACPI na notebooku ale byli jste líní si to nastavit.

    Pokuď nepoužíváte některou z "user friendly" distribucí, pravděpodobně Váš systém po instalaci neumí mnoho zdánlivě samozřejmých věcí jako přechod do úsporného režimu při odpojení od napájení, zapnutí výstupu na externí monitor nebo uspání po zavření displaye. Následující pojednání je o tom, jak toto napravit a jaké nepříjemnosti Vás při tom můžou potkat.

    ACPI

    je standard tvořící rozhraní mezi HW a OS v oblasti power managementu a konfigurace. "Obsluhuje" všelijaké systémové události jako jsou změny stavu konfiguračních tlačítek, napájení nebo odpojení/připojení zařízení na některých vstupech/výstupech počítače.

    acpid

    je démon reagující na ACPI události. Jeho hlavní pracobní náplní je provádět uživatelem definované akce při různých ACPI událostích. Konfigurace daemona se provádí pomocí konfiguračních souborů v adresáři /etc/acpi/events. Každý soubor v adresáři definuje obvykle akci pro jeden typ ACPI události a jeho struktura je následující:

    event=puvodce_udalosti
    action=program_pro_obsluhu_udalosti %e
    

    Za puvodce_udalosti je možné dosadit cokoliv co váš systém nabízí v adresáři /proc/acpi a to nejenom absolutně, ale i ve formě regulárního výrazu. To umožňuje nestarat se o jednotlivé instance zařízení a provést akci pro celou rodinu zařízení. Pokud tedy chcete reagovat například na "akci baterie", nemusíte udávat, že chcete baterii C1BB - batery/C1BB ale pomocí batery.* lze reagovat na události z libovolné systémem sledované baterie.

    program_pro_obsluhu_udalosti pak udává program, většinou shell script, který se má při dané ACPI události spustit. %e je ACPI daemonem nahrazeno za "textový popis události" což v překladu znamená doplňující informace k události (jedná-li se o vypnutí nebo zapnutí tlačítka, která konkrétní instance zařízení akci vyvolala atd.). Jaký konkrétní údaj pro konkrétní akci acpid posílá lze "vykoukat" z jeho logu (/var/log/acpid). "Obslužné" programy jsou spouštěny pod uživatelem, pod kterým běží acpid, což je standardně root.

    Příklady

    Všechny níže uvedené příklady jsou napsány konkrétně pro HP nx6310, ale měly by být poměrně univerzální...

    Uspání do RAM po zavření notebooku

    /etc/acpi/events/lid:

    event=button/lid
    action=/etc/acpi/lid.sh %e
    

    /etc/acpi/lid.sh:

    #!/bin/sh
    
    # if LID pressed (Display closed) suspend, else exit
    grep -q open /proc/acpi/button/lid/C238/state && exit
    
    # suspend
    CONSOLE=`fgconsole`
    chvt 12
    echo mem > /sys/power/state
    
    # resume
    vbetool post
    chvt $CONSOLE
    

    Poznámky: Suspend script kde není, kromě obnovení stavu VGA, nutné při uspávání/probouzení provádět žádná další kouzla. Porovnejte s s2ram či hibernate...

    Změna frekvence CPU při odpojení od elektrické sítě

    /etc/acpi/events/ac_adapter:

    event=ac_adapter.*
    action=/etc/acpi/ac_adapter.sh %e
    

    /etc/acpi/ac_adapter.sh:

    #!/bin/sh
    
    if [ $4 -eq 0 ]; then
        cpufreq-set -g conservative
    else
        cpufreq-set -g performance
    fi
    

    Poznámky: Parametr $4 udává zda se jedná o připojení/odpojení.

    Zapnutí/vypnutí výstupu na externí monitor

    /etc/acpi/events/video:

    event=video.*
    action=/etc/acpi/video.sh %e
    

    /etc/acpi/video.sh:

    #!/bin/sh
    
    export DISPLAY=:0
    XRANDR=`xrandr`
    
    if echo "$XRANDR" | grep -E 'VGA connected [0-9]+' > /dev/null ; then
        # VGA connected and active, turn it off
        xrandr --output VGA --off
    elif echo "$XRANDR" | grep -E 'VGA connected' > /dev/null ; then
        # VGA connected but not active, turn it on
        xrandr --output VGA --auto --same-as LVDS
    fi
    

    Poznámky: xrandr musí být standardně spouštěn pod vlastníkem displaye, proto je nutné mít ve startovacích scriptech X serveru (například .xinitrc) nastaven přístup k displayi pro roota: xhost +local:root.

    Závěr

    Příklady jsou jak vidno opravdu jednoduché a přímočaré. Jistě by šlo napsat mnohem "univerzálnější" skripty, ale pokuď takové chcete, je nesmyslné mít distribuci, která je již neobsahuje. Používáte-li na svém systému nějaký další zajímavý a použitelný acpid script, podělte se v diskuzi

           

    Hodnocení: 96 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    17.2.2008 09:25 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    Moc hezký zápisek, díky za něj! Už je v záložkách :).
    A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
    belisarivs avatar 17.2.2008 09:52 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    "Lehký úvod do "obecného" ACPI" "Aneb vše co jste vždy chtěli od ACPI na notebooku"

    Tak jak teda? :-)

    Ale jinak moc hezke. Dekuji.

    Muzu jeste poprosit jak vypnout display pokud je notes zavren? Mam HP530 a po zavreni se mi sice display vypne, ale po chvilce se zase zapne. Ma sice cernou celou plochu, ale stejne sviti.

    Diky.
    IRC is just multiplayer notepad.
    17.2.2008 15:34 janskyj | skóre: 11 | blog: linuxuv_blog
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    No ja to delam pomoci radeontool light on
    Krystaly, polovodiče, všechno směšné. Co tak konzole z digitronů, to by bylo něco pro pravé muže. :)
    17.2.2008 16:27 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI

    Něco mi říká, že radeontool na grafické kartě od intelu fungovat nebude...

    Každý má právo na můj názor!
    17.2.2008 15:37 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI

    zkusil bych:

    xset dpms force off
    

    a když to display vypne (což by mělo), tak bych to "namapoval" na LID tlačítko. Pokuď ti display něco nechtěně opět zapíná, může to bejt třeba špatně fungující myš (nebo lokální zemětřesení ;-))

    Každý má právo na můj názor!
    17.2.2008 22:11 Kvakor
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    A co zkusit vbetool? Na vypnuti by melo fungovat vbetool dpms off a na opetovne zapnuti vbetool dpms on.
    vencour avatar 17.2.2008 10:27 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI

    Dík, já mam zatim za vzor snad kompletní acpid skript, všechno jsem neměl ještě čas ověřovat u sebe. Základ mi maká.

    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    belisarivs avatar 17.2.2008 11:09 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    Pro HP 530 neco takoveho neni? Docela by mi to bodlo. Nebo se da v pohode pouzit to z Thinkpadu?
    IRC is just multiplayer notepad.
    vencour avatar 17.2.2008 11:20 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI

    I kdyby nee, máte aspoň mustr, jak by to mohlo vypadat, doplňte si svůj modul a je to?

    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    17.2.2008 18:48 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    Já osobně si dovolím doporučit použití nástroje S2ram.
    17.2.2008 21:24 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI

    Pochop, že tohle neni článek pro uživatele OpenSUSE (Ubuntu, Mandrivy, ...). Pokuď se nechci o svůj systém zajímat, nainstaluju si některou takovou distribuci a doufám, že její autoři všechny tyhle "drobnosti" pořešili. Tohle je pro lidi, co chtěj vědět co přesně se v jejich systému děje (který hardware má se suspendem problémy a jak je obejít) a chtějí si to nastavit přesně sobě na míru.

    Konec konců s2ram je v zápisku zmíněno jako kanón na vrabce, v případě že máte "do it yourself"® distribuci.

    Každý má právo na můj názor!
    17.2.2008 22:23 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    Třeba Ubuntu používá v podstatě totéž, co ty (možná tam chybí ty chvt, nechce se mi tam dívat), akorát pokud běží nějaký powermanager, tak to jde oklikou přes něj (to aby fungovala stejně i softwarová "tlačítka" v logout dialogu). Má to jedinou nevýhodu: na některém HW to nejde a pak je často výrazně jednodušší použít uswsusp nebo suspend2, než vychytat a obejít všechny muchy, co má daný HW. Další věc je, že by někdo mohl ocenit s2both, ten nemá mimo uswsusp alternativu.
    17.2.2008 22:24 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    Nechápu proč kanón. A pokud chceš vědět jaký hack je na tvém systému použit není přece takový problém se podívat na seznam těch identifikátorů co je ve zdrojácích. A alespoň pak pomůžeš i ostatním lidem se stejným notebookem, když funkční kombinaci parametrů pro s2ram pošleš vývojářům. Ostatním ot pak bude chodit out-of-box.
    17.2.2008 22:47 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI

    Protože s2ram obsahuje hacky pro všechny myslitelný chyby HW/ovladačů/systému, tedy i ty co se mě vůbec netýkají. A pomáhat projektům jako je s2ram opravdu nemínim, protože to je akorát cesta do pekel. Problémy se MUSÍ řešit v ovladačích zařízení/kernelu, tak aby žádný s2ram nebylo potřeba a k uspání stačilo prosté echo mem > /sys/power/state.

    Každý má právo na můj názor!
    17.2.2008 23:34 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    Ano, když se někdo bude mými bugreporty zabývat, tak rád pomůžu s řešením problémů v ovladačích zařízení/kernelu. V současné době jsem rád, že můžu použít uswsusp a bude to fungovat.
    17.2.2008 23:40 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    Problémy se MUSÍ řešit v ovladačích zařízení/kernelu, tak aby žádný s2ram nebylo potřeba a k uspání stačilo prosté echo mem > /sys/power/state.
    Možná bys potom mohl poradit Pavlu Machkovi, jak to MUSÍ dělat. Z tvojí reakce se zdá, že o toho kernelu a problémech spojených s uspáváním moc neví ... ;-)
    When your hammer is C++, everything begins to look like a thumb.
    18.2.2008 00:07 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI

    Tvé logické pochody jsou vskutu nadmíru zajímavé...

    Pavel Machek těžko sám opraví všechny "vadné" drivery, a proto, že v současné době se distribuce jako je SUSE bez něčeho takového neobejde, píše kromě "kernel věcí" i s2ram. Z jeho příspěvků do mailinglistů a přednášek nicméně nemám pocit, že by si myslel, že s2ram je skutečné řešení problému...

    Každý má právo na můj názor!
    17.2.2008 21:43 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Lehký úvod do "obecného" ACPI
    Mam hp compaq nx 6110.. Vsechno mi funguje jak ma (debian stable), ale diky za tento prispevek... Opravdu pekne a pomerne inspirativni :-)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.