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

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

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

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 13
    dnes 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 17
    včera 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 12
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 4
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 17
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    10.7. 21:00 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    10.7. 12:55 | Bezpečnostní upozornění

    Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 393 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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: 274×

    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.