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 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 1
    dnes 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    dnes 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

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

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

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

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

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

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 10:22 | Nová verze

    Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.

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

    Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).

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

    Dotaz: kdialog + progressbar + kopírování souboru

    FrostyX avatar 23.2.2011 17:11 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    kdialog + progressbar + kopírování souboru
    Přečteno: 313×

    Ahoj, potřeboval bych zkopírovat (10GB) soubor a průběh kopírováni zobrazit pomocí progressbaru v aplikaci kdialog. Jenže vůbec nevím jak to kopírováni s kdialogem provázat. Po třech hodinách hledání jsem našel jen jak pracovat s tím progressbarem a to je asi takto:

    dbusRef=`kdialog --progressbar "Initializing" 4`
    qdbus $dbusRef Set "" value 1
    qdbus $dbusRef setLabelText "Thinking really hard"
    sleep 2
    qdbus $dbusRef Set "" value 2
    sleep 2
    qdbus $dbusRef setLabelText "Thinking some more"
    qdbus $dbusRef Set "" value 3
    sleep 2
    qdbus $dbusRef Set "" value 4
    sleep 2
    qdbus $dbusRef close

    Věděl by někdo jak to přepsat prosím ?
    FrostyX.cz | 1984 was not supposed to be an instruction manual.

    Odpovědi

    25.2.2011 00:59 camel1cz | skóre: 25
    Rozbalit Rozbalit vše Re: kdialog + progressbar + kopírování souboru
    Ahoj, odpovídal sem ti v jiném threadu o tom samém, ale asi tě mé řešení nezajímalo :-)

    Tady je skript, co dělá to co chceš s navrhovaným toolem - ten kdialog neznám (sem gnomista :-)
    #!/bin/bash
    PIPE=.progress
    
    if [ ! -p $PIPE ]
    then
        mkfifo $PIPE
    fi
    
    rsync -av --progress .sdata /tmp/ > $PIPE &
    RSYNCPID=$!
    
    cat $PIPE |
       awk '{RS="\r"; sub("%", ""); print $2; fflush();}' |
       zenity --progress --title "Kopírování" \
           --text="Čekejte..." --percentage=0
    
    if [ "$?" -ne 0 ]
    then
        kill $RSYNCPID
    fi
    
    Uprav si proměnnou PIPE a parametry zenity (texty)...
    FrostyX avatar 25.2.2011 03:35 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: kdialog + progressbar + kopírování souboru

    Ahoj, tvá odpověď mě samozřejmě zajímala a děkuji za ni, jenže minule jsi poslal jednořádkový script "zenity --progress". Hned jsem si šel hledat info o zenity, zkoušel s tím pracovat, narazil na kdialog a zkoušel i ten. Problém byl ten, že jsem zenity/kdialog nedokázal propojit s kopírováním. Strávil jsem nad tím poměrně dlouhou dobu a řekl jsem si, že bych dotaz mohl položit trochu jinak / lépe. Právě sedím a píšu prográmek v Qt, který by to udělal a najednou odpověď.

    Děkuji moc, přesně tohle jsem od začátku chtěl. Ještě to zkusím upravit pro použití s kdialogem, ale pokud to nevyjde tak nevadí.

    Měl bych k tomu skriptíku ale jednu otázku. Aby mi to kopírovalo fileA a vytvořilo fileB upravil jsem řádek rsync -av --progress fileA fileB > $PIPE &. Jakou roli v tom má hodnota proměnné PIPE nastavená na začátku ? Nechal jsem totiž .progress a funguje to.

    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    25.2.2011 14:03 camel1cz | skóre: 25
    Rozbalit Rozbalit vše Re: kdialog + progressbar + kopírování souboru
    OK, v poho...

    Ta proměnná PIPE obsahuje cestu k zvláštnímu typu souboru - pojmenované rouře (či jak se to jmenuje česky - v originale named pipe). Je to objekt, do kterého může jedna aplikace psát a druhá z něj číst. Je to stejné jako když napíšeš např. "ls -l | grep xxx", ale nechceš nebo nemůžeš to napsat do jednoho řádku. Výstup si prostě uložíš a později zpracuješ...

    Logika toho skriptu je taková, že rsync vypisuje průběh kopírování na standardní výstup, ten ukládám do PIPE... následně pustím awk skript, kterej ten výstup zpracovává a vypisuje pouze hotová procenta každá hodnota na novém řádku (bez symbolu %)

    To, že to nejde může být: 1) kdialog chce jiný vstup než zenity. zenity čte ze vstupu čísla a interpretuje je jako procenta.

    2) ta named pipe vytvoří ve špatném adresáři a pak se nenajde... zkusil bych tam dát nějakou absolutní cestu - nabízí se /tmp/.progress - to by ale mělo vypisovat nějakou chybu

    3) máš jinou verzi někreré aplikace (rsync?) a nefunguje to parsování... píše to nějakou chybu? Pokud ne, tak doporučuji odladit to postupně...

    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.