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 23:00 | Zajímavý článek

    Sean Heelan se na svém blogu rozepsal o tom, jak pomocí OpenAI o3 nalezl vzdálenou zranitelnost nultého dne CVE-2025-37899 v Linuxu v implementaci SMB.

    Ladislav Hagara | Komentářů: 1
    včera 04:00 | Zajímavý článek

    Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."

    Ladislav Hagara | Komentářů: 7
    včera 00:22 | Nová verze

    Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    23.5. 18:11 | Nová verze

    Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    23.5. 18:00 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 26 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
    23.5. 14:55 | IT novinky

    Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.

    Fluttershy, yay! | Komentářů: 5
    23.5. 12:00 | Nová verze

    Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.

    Pavel Křivánek | Komentářů: 2
    23.5. 04:00 | IT novinky

    Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.

    Ladislav Hagara | Komentářů: 7
    22.5. 21:55 | IT novinky

    1. července Mozilla vypne službu Fakespot pro detekci podvodných recenzí v internetových obchodech. Mozilla koupila Fakespot v květnu 2023.

    Ladislav Hagara | Komentářů: 1
    22.5. 21:33 | IT novinky

    8. července Mozilla vypne službu Pocket (Wikipedie) pro ukládání článků z webu na později. Do 8. října si uživatelé mohou vyexportovat data. Mozilla koupila Pocket v únoru 2017. Několik měsíců byl Pocket integrovanou součástí Firefoxu.

    Ladislav Hagara | Komentářů: 7
    Jaký je váš oblíbený skriptovací jazyk?
     (58%)
     (28%)
     (6%)
     (3%)
     (0%)
     (0%)
     (5%)
    Celkem 99 hlasů
     Komentářů: 6, poslední 22.5. 14:43
    Rozcestník

    Zabijácký vypínač

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