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í
×
    včera 21:11 | Nová verze

    Byla vydána nová major verze 6.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Založena je na Debianu 12 Bookworm a GNOME 43. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.10.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky Ladislav Hagara | Komentářů: 18
    včera 09:00 | Zajímavý software

    Jose Fernandez z Netflixu představil nástroj bpftop pro monitorování eBPF programů.

    Ladislav Hagara | Komentářů: 1
    včera 08:00 | Nová verze

    Incus (GitHub), komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 0.6 (YouTube). Vyzkoušet jej lze online ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 0
    26.2. 19:22 | IT novinky

    Společnost Broadcom prodává svou End-User Computing (EUC) Division (Workspace ONE a Horizon) koupenou se společností VMware investiční společnosti KKR za 4 miliardy dolarů.

    Ladislav Hagara | Komentářů: 0
    26.2. 14:44 | IT novinky

    Začal veletrh MWC Barcelona 2024 (Mobile World Congress). Firmy představují své novinky. Lenovo například ThinkBook s průhledným displejem (YouTube).

    Ladislav Hagara | Komentářů: 1
    26.2. 12:55 | Nová verze

    Byla vydána nová verze 1.46.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Vypíchnout lze podporu randomizace MAC adresy na základě Wi-Fi sítě (wifi.cloned-mac-address=stable-ssid). Schváleno pro Fedora Linux 40.

    Ladislav Hagara | Komentářů: 0
    25.2. 22:00 | Zajímavý článek

    Byly zveřejněny výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2023 Annual Rust Survey Results. Téměř 70 % účastníků průzkumu vyvíjí na Linuxu, 85 % pro Linux, téměř 62 % používá Visual Studio Code, …

    Ladislav Hagara | Komentářů: 5
    25.2. 21:11 | Nová verze

    Dlaždicový správce oken, resp. kompozitor pro Wayland Sway byl vydán ve verzi 1.9 založené na wlroots 0.17. Měl by poskytovat lepší výkon a přidává několik konfiguračních voleb, příkazů atd.

    Fluttershy, yay! | Komentářů: 0
    25.2. 13:33 | Nová verze

    Byla vydána nová verze 2.44.0 distribuovaného systému správy verzí Git. Přispělo 85 vývojářů, z toho 34 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Kolik máte nálepek na víku notebooku?
     (18%)
     (59%)
     (5%)
     (3%)
     (5%)
     (9%)
    Celkem 412 hlasů
     Komentářů: 18, poslední včera 20:10
    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: 249×

    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.