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í
×
    dnes 11:22 | IT novinky

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila (𝕏) open-source robota Microduck. Předobjednat jej lze za 340 eur.

    Ladislav Hagara | Komentářů: 0
    dnes 10:55 | Nová verze

    Open-source autonomní AI agent OpenClaw (Wikipedie) byl vydán ve verzi 2026.8.1 aneb 2.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:55 | Nová verze

    Byla vydána první veřejná preview verze PrusaSliceru 3.0. Přesně 15 let po zveřejnění první verze Slic3ru, které připadlo na 1. září 2011. Jedná se o dosud největší upgrade PrusaSliceru: "Řídili jsme se tím, co skutečně potřebujete, a tak jsme například zcela zahodili stávající uživatelské rozhraní a vytvořili ho znovu od nuly. Přinášíme také nový systém projektů, kompletně přepracované profily navržené pro moderní tiskárny s větším

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 15:55 | Nová verze

    Byl vydán Mozilla Firefox 155.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze Smart Window, zatím ale dostupné pouze pro uživatele v USA, Kanadě a Francii. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 155 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | IT novinky

    Tima Cooka na pozici generálního ředitele společnosti Apple dnešním dnem nahradil John Ternus, který byl dosud odpovědný za hardware. Tim Cook vedl Apple od roku 2011, kdy funkci převzal od později zesnulého spoluzakladatele společnosti Stevea Jobse. Za 15 let v čele Applu více než zdvojnásobil tržní hodnotu firmy.

    Ladislav Hagara | Komentářů: 4
    včera 11:00 | Pozvánky

    Organizátoři konference LinuxDays ukončil veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata pro letošní ročník. Hlasovat můžete do pondělí 7. září, poté bude podle výsledků hlasování sestaven program pro letošní ročník.

    Petr Krčmář | Komentářů: 5
    včera 10:55 | Nová verze

    Servo, engine webového prohlížeče napsaný v Rustu, byl vydán ve verzi 0.5.0. Novinky shrnuje přehled projektu za červenec. Došlo k dalšímu pokroku ve vykreslování webových stránek. Současným cílem projektu je vytvořit komponentu webového prohlížeče jako WebView pro použití v jiných aplikacích.

    |🇵🇸 | Komentářů: 2
    včera 10:44 | IT novinky

    IKEA a XBOX představují kolekci YXSTABY (pdf). Ta přináší designová a praktická řešení, díky nimž se prostor pro hraní během sekundy promění v útulný a harmonický domov.

    Ladislav Hagara | Komentářů: 2
    včera 02:00 | Nová verze

    Jonathan Thomas oznámil vydání verze 4.0 nelineární střižny OpenShot. Nově podporuje nahrávání obrazu a zvuku, vylepšuje uživatelské rozhraní, mj. color grading, přidává další efekty a mnoho dalšího (seznam změn).

    |🇵🇸 | Komentářů: 0
    31.8. 17:22 | Komunita

    Proběhlo hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu si odhlasovali zodpovědné využívání generativní umělé inteligence.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2534 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Zabijácký vypínač

    10.12.2009 20:57 | Přečteno: 1773× | Linux | Výběrový blog | poslední úprava: 12.12.2009 21:28

    Jak jednoduše vypínat, zapínat a přepínat stav bezdrátových zařízení?

    No přeci používáním RF Kill Switch! Protože se mi s posledním jádrem začly chovat rozumě, po softwarové blokaci se samovolně neodblokují - například wifi to s oblibou dělala, jsem si napsal malý skript na obsluhu této vymoženosti. Ano existuje utilita rfkill, ale tam jaksi není ono jednoduché překlopení stavu, proto vlastní řešení, podobnost ostatního je čistě náhodná.

    #!/bin/bash                                          
    SYS_DIR="/sys/class/rfkill"                          
    SYS_FILE="index"                                     
    
    Usage()
    {      
        echo "usage:" >&2
        echo "${0##*/} list" >&2
        echo "${0##*/} block [index|type]" >&2
        echo "${0##*/} unblock [index|type]" >&2
        echo "${0##*/} toggle [index|type]" >&2 
        echo "type:" >&2                        
        echo "all" >&2                          
        cat "$SYS_DIR"/*/type | sort -u >&2     
        exit 1                                  
    }                                           
    
    GetStatusText()
    {              
        case "$1" in
            0)      
                echo "soft blocked"
            ;;                     
            1)                     
                echo "unblocked"   
            ;;                     
            2)                     
                echo "hard blocked"
            ;;                     
        esac                       
    }                              
    
    List()
    {     
        for DIR in "$SYS_DIR"/*; do
            INDEX=$(cat "$DIR"/index)
            NAME=$(cat "$DIR"/name)  
            TYPE=$(cat "$DIR"/type)  
            STATE=$(GetStatusText $(cat "$DIR"/state))
            echo "$INDEX: $NAME: $TYPE: $STATE"       
        done                                          
    }                                                 
    
    SetState()
    {         
        for DIR in "$SYS_DIR"/*; do
            if [ "$3" = "all" ] || [ "$3" = $(cat "$DIR"/"$2") ]; then
                echo "$1" > $DIR/state || exit 1                      
            fi                                                        
        done                                                          
    }                                                                 
    
    Toggle()
    {       
        for DIR in "$SYS_DIR/"*; do
            if [ "$2" = "all" ] || [ "$2" = $(cat "$DIR"/"$1") ]; then
                echo "$((! $(cat "$DIR"/state)))" > "$DIR"/state || exit 1
            fi                                                            
        done                                                              
    }                                                                     
    
    if ! [ -d "$SYS_DIR" ]; then
        echo "${0##*/}: no RF Kill Switch found!"
        exit 1                                   
    fi                                           
    
    if [ "$1" = "list" ]; then
        List                  
        exit 0                
    fi                        
    
    if [ -z "$2" ]; then
        Usage           
        exit 1          
    fi
    
    if cat "$SYS_DIR"/*/type | grep -q ^"$2"$; then
        SYS_FILE="type"
    elif cat "$SYS_DIR"/*/index | grep -q ^"$2"; then
        SYS_FILE="index"
    elif [ "$2" != "all" ]; then
        echo "${0##*/}: no such index or type" >&2
        exit 1
    fi
    
    case "$1" in
        unblock)
            SetState 1 "$SYS_FILE" $2
        ;;
        block)
            SetState 0 "$SYS_FILE" $2
        ;;
        toggle)
            Toggle "$SYS_FILE" $2
        ;;
        *)
            Usage
        ;;
    esac
    
           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    David Watzke avatar 10.12.2009 22:44 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Zabijácký vypínač
        Err "     ${0/*\/} toggle [index|type]"
        Err "type:"
        Err "    all"
        for TYPE in `cat "$SYS_DIR"/*/type | sort | uniq`; do
    ${0##*/} je lepší než ${0/*\/}, když ti jde o oříznutí řetězce od začátku.

    for x in `cat ...` je hrůza. Tohle nejde?
    cat "$SYS_DIR"/*/type | sort -u | while read TYPE
    Dál jsem to neřešil. Neber to jako buzeraci, jen se snažím pomoct... :-) Jo a ještě přesměrování do stderr je obecnější pomocí tohoto chvatu: >&2.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    vogo avatar 10.12.2009 22:51 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Zabijácký vypínač
    jojo, tu je vidět, že jsem dlouho nic nepsal v bashi, bude to chtít si přelouskat nějakou příručku :)
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    11.12.2009 07:40 CET
    Rozbalit Rozbalit vše Re: Zabijácký vypínač
    No pozor. Ono for i in ` comman`;do je bohuzel nekdy nutnosti. Min. ve dvou pripadech.

    Prvni pripad je, kdyz kod v cykly neco cte ze stdin, potom totiz command | while read a;do command2 "$a" ; done probehne pouze jednou, protoze z nejakyho duvodu sezere ten command2 ze stdin zbytek toho vystupu z command. Uz se mi to parkrat stalo, pokud si vzpominam, tak to bylo se ssh. generate-host-list | while read host; do ssh "$host" remote-cmd ; done bezelo jenom jednou pro prvniho hosta.

    Druhy pripad je, kdyz chces v cyklu nastavit nejakou hodnotu, kterou pak pouzijes dal. Pipe totiz vyvola dalsi bash, takze veskere upravy jsou pouze lokalni, cili generate-list | while read item;do if [ $item -gt $max ] ; then max=$item;fi;done ; pracuj-dale-s-max nebude to same jako for item in `generate-list` ; do if [ $item -gt $max ];then max=$item;fi;done;pracuj-dale-s-max
    11.12.2009 09:10 mire
    Rozbalit Rozbalit vše Re: Zabijácký vypínač
    Prvy pripad sa da vyriesit prepinacom "-n" pre ssh, potom ssh necita standardny vstup.
    David Watzke avatar 11.12.2009 13:11 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Zabijácký vypínač
    To druhý je IMHO blbost... S max dál pracovat nemůžeš ani když tam dáš ten for...
    dave@amd64 ~ $ for x in $(echo a b c); do max=$item; done
    dave@amd64 ~ $ echo $max
    
    
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    11.12.2009 13:51 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: Zabijácký vypínač
    kdyz pouzijes spravnou promennou tak muzes
    $ for x in a b c; do max=$x; done
    $ echo $max
    c
    
    David Watzke avatar 12.12.2009 12:52 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Zabijácký vypínač
    Jasně... no jo, jsem tele :-D
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    Založit nové vláknoNahoru

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