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í
×
    dnes 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 6
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 48
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 15
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 880 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Zabijácký vypínač

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