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 03:11 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

    Ladislav Hagara | Komentářů: 0
    dnes 02:33 | IT novinky

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

    Ladislav Hagara | Komentářů: 0
    včera 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 01:33 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    15.11. 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.11. 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 4
    14.11. 14:22 | Bezpečnostní upozornění

    V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.

    Ladislav Hagara | Komentářů: 5
    14.11. 13:22 | Nová verze

    Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    14.11. 10:33 | IT novinky

    Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.

    Ladislav Hagara | Komentářů: 47
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (18%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 358 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Zabijácký vypínač

    10.12.2009 20:57 | Přečteno: 1526× | 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.