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 20:22 | IT novinky

    Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Zajímavý software

    Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 05:55 | Komunita

    O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.

    Ladislav Hagara | Komentářů: 10
    včera 05:22 | Komunita

    Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.

    Ladislav Hagara | Komentářů: 4
    včera 04:00 | Humor

    Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 7
    27.3. 13:00 | Komunita

    Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.

    Ladislav Hagara | Komentářů: 10
    27.3. 12:11 | Nová verze

    Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.

    Ladislav Hagara | Komentářů: 2
    27.3. 02:22 | Komunita Ladislav Hagara | Komentářů: 11
    26.3. 23:22 | Komunita

    Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.

    Ladislav Hagara | Komentářů: 3
    26.3. 22:33 | Nová verze

    Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (2%)
     (5%)
     (1%)
     (14%)
     (24%)
    Celkem 1181 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Automount s UDisks2 pod Awesome WM

    31.3.2016 22:00 | Přečteno: 1701× | Linux | Výběrový blog

    Od prechodu z KDE na Awesome ma trápi chýbajúce GUI pre pripájanie. Preto som sa rozhodol napísať jednoduchý applet pre pripájanie a odpájanie diskov.

    Plán útoku

    Awesome WM je desktopové prostredie napísané v C. Konfiguruje sa ce lua skript, v ktorm je možné napísať si prakticky vlastný WM.

    Najskôr som hľadal v awesome dokumentácii a narazil som na hrozne zdokumentovaný modul dbus. Predpokladal som, že si s nim vystačím. Chyba ;-)

    Implementácia

    Kompletné zdrojové kódy som zverejnil na githube. V nasledujúcich pár riadkoch popíšem ako som došiel k takej príšernosti (mimochodom to je už po odstránení callback hell).

    Najskôr časť, ktorá odchytáva zmeny v UDisks2 podstrome:

    local capi = { dbus = dbus }
    
    
    if capi.dbus then
        capi.dbus.add_match("system", "interface='org.freedesktop.DBus.ObjectManager', member='InterfacesAdded'")
        capi.dbus.add_match("system", "interface='org.freedesktop.DBus.ObjectManager', member='InterfacesRemoved'")
        capi.dbus.connect_signal("org.freedesktop.DBus.ObjectManager",
            function (data, text)
                if data.path == "/org/freedesktop/UDisks2" then
                    -- Skenovanie
                end
            end
        );
    end

    Predpokladám, že dbus API sa dá použiť len na odchytávanie signálov (z dkumentácie sa nevyzná hádam ani divá sviňa). Na volanie metód som použil samostatnú knižnicu.

    Pár knižníc pre komunikáciu s DBus-om sa povaľuje na githube, ale väčšina z nich je opustená. Rozhodol som sa namiesto špecializovanej knižnice využiť GLib bindingy lgi.

    Informácie o blokových zariadeniach sa dajú získať jediným volaním metódy GetManagedObjects rozhrania org.freedesktop.DBus.ObjectManager na objekte /org/freedesktop/UDisks2 uzla org.freedesktop.UDisks2. Teoreticky to znie pekne no prakticky som neprišiel na spôsob ako v lua iterovať cez vrátený zoznam zariadení.

    Kvôli tejto drobnosti najskôr volám metódu Introspect rozhrania org.freedesktop.DBus.Introspectable. Táto metóda vracia hnusné xml (prečo vlastne xml keď DBus dokáže vraciať štuktúrované dáta?). Keďže som nechcel ťahať so sebou ďalšie závislosti kvôli xml (ah zlatý python so štandardnou knižnicou) rozhodol som sa parsovať xml pomocou regulárnych výrazov (zajtra je prvý apríl, hádam som si na to nemohol nájsť lepšiu dobu).

    local lgi       = require 'lgi'
    local Gio       = lgi.require 'Gio'
    local GLib      = lgi.require 'GLib'
    
    local system_bus = Gio.bus_get_sync(Gio.BusType.SYSTEM)
    
    
    local function rescan_devices()
        system_bus:call(
            'org.freedesktop.UDisks2',
            '/org/freedesktop/UDisks2/block_devices',
            'org.freedesktop.DBus.Introspectable',
            'Introspect',
            nil,
            nil,
            Gio.DBusConnectionFlags.NONE,
            -1,
            nil,
            function(conn, res)
                local ret, err = system_bus:call_finish(res);
                local xml = ret.value[1];
                if err then
                    print(err);
                    return;
                end
                for device in string.gmatch(xml, 'name="([^"]*)"') do
                    -- Mame zariadenie
                end
            end
        );
    end

    Informácie o blokových zariadeniach sa potom v callbacku získajú volaním:

    system_bus:call(
        'org.freedesktop.UDisks2',
        '/org/freedesktop/UDisks2',
        'org.freedesktop.DBus.ObjectManager',
        'GetManagedObjects',
        nil,
        nil,
        Gio.DBusConnectionFlags.NONE,
        -1,
        nil,
        function(conn, res)
            -- Spracovanie
        end
    )
    

    Nudný kód, ktoý parsuje informácie o zariadeniach vynechám. Pozrime sa ešte na funkcie pripojenia a odpojenia zariadenia:

    local function mount_device(device)
        if not device.Mounted then
            ret, err = system_bus:call_sync(
                'org.freedesktop.UDisks2',
                '/org/freedesktop/UDisks2/block_devices/' .. device.Device,
                'org.freedesktop.UDisks2.Filesystem',
                'Mount',
                GLib.Variant.new_tuple({
                    GLib.Variant('a{sv}', {})
                }, 1),
                nil,
                Gio.DBusConnectionFlags.NONE,
                -1,
                nil
            );
    
            if err then
                naughty.notify({
                    preset = naughty.config.presets.critical,
                    text = tostring(err),
                });
            else
                device.Mounted = tostring(ret.value[1]);
            end
        end
    
        if module.filemanager == nil then
        else
            awful.util.spawn_with_shell(module.filemanager .. ' "' .. device.Mounted .. '"');
        end
    end
    
    
    local function unmount_device(device)
        if device.Mounted then
            ret, err = system_bus:call_sync(
                'org.freedesktop.UDisks2',
                '/org/freedesktop/UDisks2/block_devices/' .. device.Device,
                'org.freedesktop.UDisks2.Filesystem',
                'Unmount',
                GLib.Variant.new_tuple({
                    GLib.Variant('a{sv}', {})
                }, 1),
                nil,
                Gio.DBusConnectionFlags.NONE,
                -1,
                nil
            );
    
            if err then
                naughty.notify({
                    preset = naughty.config.presets.critical,
                    text = tostring(err),
                });
            end
        end
    end
    

    Metódy Mount aj Unmount vyžadujú jeden argument (type slovník string: variant). Po pripojení spúšťam správcu súborov. Odpojenie nespúšťa žiadnu akciu.

    Integrácia do awesome

    Súbor udisks.lua stačí uložiť do adresára, kde sa nachádza rc.lua. V rc.lua sa importuje modul a prípadne sa nastaví správca súborov:

    udisks = require("udisks")
    udisks.filemanager = "konqueror"

    Widget sa pridá do panelu volaním:

    layout:add(udisks.widget)

    Do témy sa musia ešte pridať cesty k súborom (pripojené / odpojené zariadenie, prípadne je možné rozlíšiť zariadenia podľa rozhrania cez ktoré sa pripájajú napr USB, fallback je "default"):

    theme.removable_default_mounted   = themes_dir .. "/icons/removable_default_mounted.png"
    theme.removable_default_unmounted = themes_dir .. "/icons/removable_default_unmounted.png"
    theme.removable_usb_mounted       = themes_dir .. "/icons/removable_usb_mounted.png"
    theme.removable_usb_unmounted     = themes_dir .. "/icons/removable_usb_unmounted.png"

    Ikony mám zverejnené v tomto repozitári.

    Výsledok

    Jeden obrázok za 1000 slov ;-) Pripájanie ľavým myšítkom, odpájanie pravým.

    Screenshot        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Tomáš Bžatek avatar 31.3.2016 22:35 Tomáš Bžatek | skóre: 29 | Brno
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    Proc nepouzit primo GVolumeMonitor, ktery je skrze gvfs abstrakci nad backendy, jednim z nichz je udisks2? Sice jsou to dve vrstvy navic, ale API je mnohem jednodussi a prijemnejsi.

    https://developer.gnome.org/gio/stable/GVolumeMonitor.html
    Koupim litajiciho tucnaka
    mirec avatar 31.3.2016 23:02 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    print(Gio.GVolumeMonitor)
    nil

    Alebo sa to volá inak?

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    1.4.2016 12:04 marek_hb
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    jak se to chová při MTP, PTP a podobných protokolech?
    mirec avatar 1.4.2016 12:54 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    Momentálne sa skenujú len blokové zariadenia s rozhraním org.freedesktop.UDisks2.Partition a org.freedesktop.UDisks2.Filesystem. MTP a PTP samozrejme tieto rozhrania nemajú. Podmienku, ktorá ktorá vyraďuje zariadenia bez týchto rozhraní nie je problém vyhodiť.

    V tom prípade znie otázka: podporuje UDisks2 MTP a PTP? U mňa je konfigurácia udisks2 pravidiel v /lib/udev/rules.d/80-udisks2.rules. Žiadne MTP / PTP tu nevidím. Oficiálna dokumentácia k UDisks2 nehovorí nič o MTP / PTP / možnosti rozšíriť / nakonfigurovať čokoľvek.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    1.4.2016 13:30 marek_hb
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    já právě u většiny řešení co jsem zkoušel pro nějaká lehčí prostředí narazil na nespolupráci s kamerou/telefonem/mp3 a podobně - normáln flashky ok, ale tady byl obvykle problém ...
    mirec avatar 1.4.2016 13:42 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    Problém je v tomto prípade, že si to každé prostredie rieši posvojom. Pri flashkách je to v pohode, tam sa o montovanie stará udisks.

    V GNOME na to majú vlastný gvfs (ten aspoň používa fuse ak sa nemýlim), v KDE kio (takže spolupráca s neKDE-čkovými programami škrípe).

    Ideálne by bolo keby MTP / PTP normálne obsluhovalo UDisks2 (zase tak rozdielne oproti bežným diskom nie je, vyhodili by sa rozhrania pre partície, mount / umount by mohol riešiť kľudne gvfs / iný fuse). Možno sa to aj dá nejak ohnúť, ale pri neexistujúcej dokumentácii a prístupe vývojárov "však to funguje samo, o nič sa nemusíte starať" ani neviem čím začať.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    1.4.2016 18:02 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    MTP se proti souborovému systému dost liší. Samozřejmě pokud chceš jenom zkopírovat „soubory“ v největším rozlišení, tak se dá předstírat, že se jedná o souborový systém. Pak ale bude problém s uživateli, co chtějí něco víc. Bude se jich desktopové prostředí při připojení ptát, jestli chtějí skutečné MTP nebo jako MTP? Ono stačí řešit náhledy obrázků, aby člověk viděl rozdíl.
    mirec avatar 1.4.2016 18:18 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    Myslím, že väčšie ľudí by stačilo keby to pripojilo virtuálny filesystém a dali by sa odtiaľ stiahnuť fotografie v raw / max kvalite. (i keď možno som len ja divný, ale ja od toho fakt viacej nechcem)

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    2.4.2016 12:10 marek_hb
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    mě by stačilo, kdyby se mi gopro připojilo jako normální flešku - takhle to musím řešit přes externí čtečku karet (jinak se sice přes MTP připojí, ale při zkopírování pár MB se odpojí ...)

    a čtečka má zase tu featuru, že microsd bere jen do 8 GB - větší buď nenačte, nebo zase po chvíli odpojí...

    takže abych se dostal k datům v kameře, tak musím vyndat kartu, strčit ji do redukce a tu do čtečky a pak to jde...

    ale pozor - pod windows samozřejmě žádný problém ...

    (aktuální ARCH + KDE 5.6 nebo kolik)

    a to je vlastně asi taky trochu odpověď na tohle :-/
    mirec avatar 2.4.2016 16:18 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    Hmm, ja nie som moc zástancom vyhadzovania starých vecí, ale na tú čítačku by som sa fakt vykašľal. Ja mám šmejd i-tec za 6€ a 16/32GB karty fungujú v pohode (SD, CF, Memory stick, Micro SD a podobné kraviny). Mám aj internú čítačku, ale priznám sa, že som ju ešte ani neskúšal. Fotoaparát sa mi zobrazuje ako normálny ata disk, takže tam to neriešim.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    2.4.2016 17:42 marek_hb
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    já bych ji i vyhodil (jako jsem už poslal do popelnice dvě interní čtečky a proto mám teď externí - abych aspoň nemusel lízt do bedny až zase odejde) kdyby neplatila podmínka:

    pod windows to funguje

    z kamery, telefonu soubory normálně dostanu - pod linuxem mi to připomíná stav před 5 nebo kolika lety když začaly flešky a bylo to taky takový období magie ...
    mirec avatar 2.4.2016 18:15 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    Tu by som z toho stavu neobviňoval Linux. Výrobcovia sú prasce a občas to ani na inom sytéme než windows nevyskúšajú. Pokojne môže byť chyba vo win vďaka ktorej to práve funguje, alebo je rozdiel len v časovaní a latenciách (napr. ak linux bude mať menšiu latenciu a bude posielať požiadavku skôr než stíha hardvér, ktorý to má blbo implementované).

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    2.4.2016 18:21 marek_hb
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    Těžko říct, zatím používám adaptér a nechávám to být - nedělám to denně,tak se to dá vydržet. Ale většinou to zablbne vždycky když to nejmíň potřebuju... :-/
    4.4.2016 12:36 Ondrej Santiago Zajicek
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    ale pozor - pod windows samozřejmě žádný problém ...

    Ja jsem mel pro zmenu opacny problem. Pouzivam normalni flashku, jednou jsem ji potreboval pripojit pod Windows a narazil jsem na to, ze nebyly videt jine partitions nez prvni. Rikal jsem si, ze je pitomost, aby je Windows na USB proste ingorovaly, nebot clovek muze pripojit HDD pres USB-to-SATA redukci a partitions tam vidi, nicmene po rade pokusu a googleni jsem zjistil, ze opravdu to tak je. Windows prectou z popisu USB mass storage zarizeni bit 'je to flashka' a na takovem ignoruji dalsi partitions a (AFAIK) nedaji se presvedcit k opaku.

    Pod Linuxem samozrejme zadny problem ...
    Josef Kufner avatar 1.4.2016 18:32 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    Např. audio CD se řeší tak, že tam je několik struktur pro různé pohledy na to, co tě zrovna zajímá. Na druhou stranu, tím MTP se obvykle zpřístupňuje filesystém v telefonu, takže stačí udělat stejné mapování.
    Hello world ! Segmentation fault (core dumped)
    mirec avatar 1.4.2016 18:35 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    Pri CD si pamätám ešte kio slave, ktoré dokázli zobraziť skladby ako súbory a dalo sa to krásne kopírovať (aj s automatickým prekódovaním do mp3 / ogg). Bola to pekná doba no teraz už nemám na notebooku ani DVD mechaniku.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Josef Kufner avatar 1.4.2016 18:47 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    Ano, přesně to jsem myslel.
    Hello world ! Segmentation fault (core dumped)
    21.4.2016 02:18 ChronicPain | blog: chronicPain
    Rozbalit Rozbalit vše Promin, ale toto je oprav...
    Promin, ale toto je opravdu ubohe. I kdyz imho ma autor a drzitel prav pravo si hajit sve vlastnictvi, musim uznat, ze mne tvuj prispevek pobavil.
    http://www.klaus.sk/ – energeticky úsporné vykurovacie systémy
    1.4.2016 13:50 Jardík
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    Bál bych se, že pokud používáš blokující volání, tak můžeš zasekat celý WM při čekání na odpověď, pokud půjde třeba o pomalé médium. Ale to jen teoreticky, třeba to neblokuje.
    mirec avatar 1.4.2016 13:56 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    Áno, správne, blokuje to, viem o tom, prepíšem to ;-) Niekde v kóde používam call, ale pri montovaní call_sync, ani neviem prečo som to považoval za dobrý nápad :-D

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    mirec avatar 1.4.2016 15:55 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    Prepísal som volania na asynchrónne, teraz by to už hádam nemalo blokovať wm.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    5.4.2016 10:28 Halis
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM
    Já jsem s awesome wm spokojeně pouzival udiskie v trayi
    mirec avatar 5.4.2016 12:44 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automount s UDisks2 pod Awesome WM

    To som skúšal, ale nejak mi tá potvora nechce montovať disky. Unmount funguje ok, ale mount nereaguje.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    21.4.2016 09:48 ChronicPain | blog: chronicPain
    Rozbalit Rozbalit vše System mi me konani umozn...
    System mi me konani umoznuje, ostatni jej alespon zatim toleruji, tak proc bych se nesnazil maximalizovat miru sve spokojenosti?
    http://www.klaus.sk/ – energeticky úsporné vykurovacie systémy

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.