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

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 6
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    12.6. 16:33 | Bezpečnostní upozornění

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 11
    12.6. 11:33 | Nová verze

    Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.

    |🇵🇸 | Komentářů: 0
    12.6. 03:33 | Bezpečnostní upozornění

    Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.

    Ladislav Hagara | Komentářů: 2
    11.6. 14:11 | Komunita

    Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.

    Ladislav Hagara | Komentářů: 5
    11.6. 10:44 | Nová verze

    Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    11.6. 04:44 | Nová verze

    Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1906 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: vlastni acpi script

    7.8.2012 09:07 martin
    vlastni acpi script
    Přečteno: 393×
    ahoj, konečně jsem se dokopal k tomu že si pořádně ošetřím ovládání notasu
    ale nejak se mi to zaseklo na získávání dat parsovaním výpisu.
    Tady je kus kodu. Čísla kláves a selektování sedí.Ty jsem získal pomocí
    "acpi_listen".Jen nějak nechápu proč je proměnná TOUCHPAD pořád prázdná.
    Žádný záznam v logu pořád jen
    Aug  7 08:21:44 1201N martin: Touchpad is:
    Aug  7 08:21:44 1201N martin: Error in parsing synclient!!!
    
    #!/bin/sh
    case "$1" in
        hotkey)
            case "$3" in
                00000037)
                    TOUCHPAD=`synclient -l | grep TouchpadOff | awk '{print $3}'`
                    logger "Touchpad: $TOUCHPAD"
                    case "$TOUCHPAD" in
                        0)
                             echo 0 > /sys/class/leds/eeepc::touchpad/brightness
                             synclient TouchpadOff=1
                             unclutter -idle 2 -root &
                             notify-send "Touchpad is OFF"
                             ;;
                        1)
                             echo 1 > /sys/class/leds/eeepc::touchpad/brightness
                             synclient TouchpadOff=0
                             pkill unclutter
                             notify-send "Touchpad is ON"
                             ;;
                        *)
                             logger "Error in parsing synclient !!!"
                             ;;
                    esac
                    ;;
                  *)
                    logger "Unknown Media Key: $1 / $2 / $3"
                    ;;
    ..... atd, atd
    

    Přitom když přepíšu jen to parsování do test souboru

    #!/bin/sh
    TOUCHPAD=`synclient -l | grep TouchpadOff | awk '{print $3}'`
    echo $TOUCHPAD
    

    nastavím mu +x a vyzkouším tak jede normálně.
    Je to můj první bash script tak pomalu na mě, studoval jsem bash asi 5min :)
    Dík za pomoc.

    Odpovědi

    7.8.2012 09:25 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: vlastni acpi script

    Bolo by vhodne sem dat cely skript, tak ako je a nie len cast.

    7.8.2012 13:45 martin
    Rozbalit Rozbalit vše Re: vlastni acpi script
    Příloha:
    Ok,
    No problemo. Všechno funguje až na parsování touchpad statusu.
    10.8.2012 07:58 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: vlastni acpi script

    Ono to funguje, len si tam spravil chybu. Odkazujes na 3. (slovom treti) argument namiesto 2 v sekcii pre hotkey. :)

    
    #!/bin/sh
    # Default acpi script that takes an entry for all actions
    
    minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`
    maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`
    setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
    
    set $*
    
    case "$1" in
        hotkey)
            # povodny zapis 
            # case "$3" in
            case "$2" in
                00000037)
                    TOUCHPAD=`synclient -l | grep TouchpadOff | awk '{print $3}'`
                    logger "Touchpad is: $TOUCHPAD"
                    case "$TOUCHPAD" in
                            0)
                                    echo 0 > /sys/class/leds/eeepc::touchpad/brightness
                                    synclient TouchpadOff=1
                                    unclutter -idle 2 -root &
                                    logger "Touchpad si ON"
                                    ;;
                            1)
                                    echo 1 > /sys/class/leds/eeepc::touchpad/brightness
                                    synclient TouchpadOff=0
                                    pkill unclutter
                                    logger "Touchpad is OFF"
                                    ;;
                            *)
                                    logger "Error in parsing synclient!!!"
                                    ;;
                    esac
                    ;;
                *)
                    logger "Unknown mediakey $1 / $2 / $3 / $4"
                    ;;
            esac
            ;;
        button/mute)
            case "$2" in
                MUTE)
                    logger "Mute button pressed: $2"
                    amixer set Master toggle
                    ;;
                *)
                    logger "ACPI action undefined: $2"
                    ;;
            esac
            ;;
        button/volumedown)
            case "$2" in
                VOLDN)
                    amixer set Master 2dB- unmute
                    ;;
                *)
                    logger "ACPI error volumedown"
                    ;;
            esac
            ;;
        button/volumeup)
            case "$2" in
                VOLUP)
                    amixer set Master 2dB+ unmute
                    ;;
                *)
                    logger "ACPI Error volumeup"
                    ;;
            esac
            ;;
        button/power)
            case "$2" in
                PBTN|PWRF)
                    logger "PowerButton pressed: $2"
                    poweroff
                    ;;
                *)
                    logger "ACPI action undefined: $2"
                    ;;
            esac
            ;;
        button/sleep)
            case "$2" in
                SLPB|SBTN)
                    echo -n mem >/sys/power/state
                    ;;
                *)
                    logger "ACPI action undefined: $2"
                    ;;
            esac
            ;;
        ac_adapter)
            case "$2" in
                AC|ACAD|ADP0)
                    case "$4" in
                        00000000)
                            echo -n $minspeed >$setspeed
                            #/etc/laptop-mode/laptop-mode start
                            ;;
                        00000001)
                            echo -n $maxspeed >$setspeed
                            #/etc/laptop-mode/laptop-mode stop
                            ;;
                    esac
                    ;;
                *)
                    logger "ACPI action undefined: $2"
                    ;;
            esac
            ;;
        battery)
            case "$2" in
                BAT0)
                    case "$4" in
                        00000000)
                            logger 'Battery online'
                            ;;
                        00000001)
                            logger 'Battery offline'
                            ;;
                    esac
                    ;;
                CPU0)
                    ;;
                *)  logger "ACPI action undefined: $2" ;;
            esac
            ;;
        button/lid)
            case "$3" in
                close)
                    logger 'LID closed'
                    ;;
                open)
                    logger 'LID opened'
                    ;;
                *)
                    logger "ACPI action undefined: $3"
                    ;;
        esac
        ;;
        *)
            logger "ACPI group/action undefined: $1 / $2 / $3 / $4"
            ;;
    esac
    
    # vim:set ts=4 sw=4 ft=sh et:
    
    10.8.2012 09:06 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: vlastni acpi script

    A mozno je to sprostost, co som napisal. Ale podstata je, ze by bolo viac nez vhodne skontrolovat, ake argumenty sa pouzivaju. Daj si tam kontrolne body, napr. echo $3 pred case a tak podobne, pripadne echo $@ alebo najlepsie obe.

    10.8.2012 12:41 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: vlastni acpi script
    Zkuste třeba přidat řádky:
    synclient -l | grep TouchpadOff > /nekam/kde/lze/zapisovat/ttest1 2> /nekam/kde/lze/zapisovat/ttest1_err
    synclient -l > /nekam/kde/lze/zapisovat/ttest2 2> /nekam/kde/lze/zapisovat/ttest2_err
    
    před TOUCHPAD=`synclient -l … a stisknout a juknout do těch souborů.
    A ještě bych si před tím case vypsal parametry, klidně třeba
    echo "Vstupní parametry '$1'  '$2'  '$3'" > /nekam/kde/lze/zapisovat/ttest0
    Samozřejmně můžete všechno do jednoho souboru pomocí >> to už je na Vás.
    PS: TouchpadOff může nabývat tří hodnot 0,1,2
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    11.8.2012 15:11 martin
    Rozbalit Rozbalit vše Re: vlastni acpi script
    Jak jsem psal.
    Problem neni s podminkami, tam je vse ok. hodnoty mi odchytava spravne.
    o tom svedci i rozsvecovani led diody pro touchpad.
    problem je v tom ze se mi proste ten prikaz `synclient` ani nevykona :(.
    zrovna tak hlaska v notifikatoru se nikdy nezobrazi.
    11.8.2012 16:13 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: vlastni acpi script
    Zkuste napsat celou cestu, např. /usr/bin/synclient, a vemte v potaz že ten acpi skript se pouští pod rootem.
    11.8.2012 16:23 martin
    Rozbalit Rozbalit vše Re: vlastni acpi script
    Díky,
    To jsem zkoušel taky a nic.
    Ted jsem vsak znovu asi objevil kolo.
    Skript uz bezi v plne parade a jeste jsem par veci dopsal.

    Stacilo na zacatek skriptu dopsat:
    export XAUTHORITY=/home/martin/.Xauthority
    export DISPLAY=":0"
    

    a uz to beha jak ma.ten DISPLAY bych pochopil ale XAUTHORITY ???
    dokaze mi to nekdo objasnit kdyz musi vedet ze bezi pod rootem.
    Dik.
    11.8.2012 16:35 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: vlastni acpi script
    No a to byste se právě dozvěděl v těch dvou souborech ttest1_err a ttest2_err,
    asi by tam bylo něco jako: Failed to connect to X Server.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    11.8.2012 18:47 martin
    Rozbalit Rozbalit vše Re: vlastni acpi script
    Ano bylo tam presne ono v test2_err.
    exportoval jsem DISPLAY ale stale nic.chybelo tomu XAUTHORITY.
    a to me mate.
    proste by me zajimalo na co root potrebuje prava k pristupu na muj Xserver.
    Nikdy jsem toto neresil :( ale alespon jsem ted o neco chytrejsi.
    11.8.2012 19:11 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: vlastni acpi script
    Vysvětlení bude asi nějak takto (¡jen úvaha!): synclient nastavuje touchpad pro X-ka a musí komunikovat z Xserverem a musí vědět komu to nastavuje, tedy i kterou xseesion, a v .xauthority je uložena cookie, přes kterou se synclient autorizuje vůči Xserveru a tím vlastně komunikuje pod rolí určenou v .xauthority a tím pádem nastaví touchpad pro vaši session.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    11.8.2012 19:28 martin
    Rozbalit Rozbalit vše Re: vlastni acpi script
    Krásné a 'polopatické' vysvětlení.
    Tím se i vysvětluje proč všechno ostatní fungovalo.
    Díky.

    Založit nové vláknoNahoru

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

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