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

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 5
    dnes 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    dnes 03:55 | Nová verze

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Komunita

    Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.

    Ladislav Hagara | Komentářů: 1
    28.11. 18:55 | Humor

    Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.

    Ladislav Hagara | Komentářů: 15
    28.11. 12:44 | Zajímavý software

    Společnost Collabora vydala (YouTube) na LibreOffice založený desktopový kancelářský balík Collabora Office. Pro Windows, macOS a Linux. Se stejným uživatelským rozhraním jako Collabora Online. Svůj desktopový kancelářský balík s rozhraním LibreOffice pojmenovala Collabora Office Classic.

    Ladislav Hagara | Komentářů: 13
    28.11. 12:00 | Nová verze

    Glen MacArthur vydal AV Linux (AVL) a MX Moksha (MXM) 25. S linuxovým jádrem Liquorix. AV Linux (Wikipedie) je linuxová distribuce optimalizována pro tvůrce audio a video obsahu. Nejnovější AV Linux vychází z MX Linuxu 25 a Debianu 13 Trixie. AV Linux přichází s desktopovým prostředím Enlightenment 0.27.1 a MX Moksha s prostředím Moksha 0.4.1 (fork Enlightenmentu).

    Ladislav Hagara | Komentářů: 0
    27.11. 17:55 | Nová verze

    Ubuntu pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).

    Ladislav Hagara | Komentářů: 0
    27.11. 14:33 | IT novinky

    Zástupci členských států EU se včera shodli na návrhu, který má bojovat proti šíření materiálů na internetu zobrazujících sexuální zneužívání dětí. Nařízení známé pod zkratkou CSAM a přezdívané chat control mělo množství kritiků a dlouho nebyla pro jeho schválení dostatečná podpora. Pro schválení byla potřeba kvalifikovaná většina a dánské předsednictví v Radě EU se snažilo dosáhnout kompromisu. Návrh nakonec po dlouhých týdnech

    … více »
    Ladislav Hagara | Komentářů: 15
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 420 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Guacamole - HTML5 remote desktop

    19.8.2013 16:30 | Přečteno: 3224× | Výběrový blog | poslední úprava: 19.8.2013 17:23

    V lednu jsem tady zveřejnil příspěvek o tunelování skrz korporátní proxy, samozřejmě takové řešení není zrovna ve shodě s bezpečnostní politikou, ale mít přístup k vlastnímu linuxovému systému se prostě hodí, tak jsem se rozhodl toto řešení "zlegalizovat".

    Jednoduše jsem přestěhoval ssh do web browseru, vlk se nažral a koza zůstala celá. Ale když už tak už, co takhle přístup k plnému Xfce desktopu přes webový prohlížeč. Nakonec, taky je to jen otázka instalace několika balíků a jednoduché konfigurace.

    Hezky od začátku

    Jedná se o kombinaci debian+xfce+xrdp+guacamole+lighttpd (reverzní proxy), a začneme hezky od začátku roztočením nové VM s minimální instalací debianu.

    Nainstalujeme základní balíčky a xfce (a lightdm):

    aptitude install openssh-server vim xfce4 lightdm sudo
    

    Teď stačí zapnout lightdm pomocí "service lightdm start" a přihlásit se do Xfce (lightdm také naskočí po rebootu).

    Osobně mi výchozí vzhled Xfce moc nesedí, takže ještě doinstaluji Greybird téma (které závisí na gtk3-engines-unico a gtk2-engines-murrine) a ikonky elementary.

    aptitude install gtk3-engines-unico gtk2-engines-murrine
    

    Samotné greybird téma je možné stáhnout z http://shimmerproject.org/project/greybird/ a stačí rozbalit tarball do ~/.themes. Obdobně, elementary ikonky stačí rozbalit do ~/.icons. A po té v Xfce v menu "Settings->Appearance" vybrat příslušné téma a ikonky.

    Xrdp

    Teď už je čas na xrdp. Jak už to tak bývá, instalace není o nic složitější než:
    aptitude install xrdp
    

    Můžeme otestovat buď pomocí "xfreerdp adresa_serveru" z linuxu (xfreerdp je v debianu/ubuntu v balíčku freerdp-x11) a nebo pomoci klienta z Windows. Samozřejmě je potřeba si dát pozor, aby připojení někde po cestě neblokoval firewall (tcp port 3389).

    Guacamole

    Další na řade je guacamole (samotná RDP->HTML5 proxy). Guacamole je rozděleno do dvou balíků (guacd: demon, který funguje jako proxy mezi RDP, VNC, SSH apod. a guacamole protokolem, který pak interpretuje javascript běžíci v prohlížeči; guacamole: jednoduchá webová aplikace v javě, která stojí mezi guacd a prohlížečem).
    aptitude install guacd libguac-client-rdp0 guacamole guacamole-tomcat
    

    Co se týka konfigurace guacamole, stačí přidat uživatele, nastavit heslo a povolit připojení k vybraným serverům. K tomu slouží /etc/guacamole/user-mapping.xml - ten by měl vypadat přibližně takto (pozn.: heslo zatím nastavte dočasné na otestování, než v posledním kroku přidáme HTTPS reverzní proxy).

    <user-mapping>
        <!-- documentation: http://guac-dev.org/Configuring%20Guacamole -->
        <authorize username="luv" password="abclinuxu">
            <protocol>rdp</protocol>
            <param name="hostname">localhost</param>
            <param name="port">3389</param>
        </authorize>
    </user-mapping>
    
    Poté je potřeba vyresetovat tomcat.
    service tomcat6 restart
    

    To je vše :-). Teď stačí v prohlížeči otevřít http://server:8080/guacamole ... magic! (Ale pozor, v této staré verzi guacamole se kurzor zobrazuje jako vysloveně miniaturní černá tečka, což je ze začátku dost matoucí).

    Lighttpd (mod_proxy) a https

    Samozřejmě začneme nainstalovánim lighttpd

    aptitude install lighttpd
    

    Vygenerujeme self-signed ssl certifikát

    cd /etc/lighttpd/
    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out key.pem -days 3650 -nodes
    
    V /etc/lighttpd/lighttpd.conf pak stači přidat "mod_proxy" do sekce server.modules a také následující řádky:
    server.port = 443
    ssl.engine = "enable"
    ssl.pemfile = "/etc/lighttpd/key.pem"
    proxy.server  = ( "" => ( ( "host" => "127.0.0.1", "port" => "8080" ) ) )
    
    Ještě můžeme přidat následující rewrite pravidlo, které automaticky přidá "/guacamole/" před vsechny URL (snažší než nastavovat výchozí servlet v tomcatu ;-) ):
    url.rewrite-once = ( "(.*)" => "/guacamole/$1" )
    
    Kompletní lighttpd config pak může vypdat třeba takto:
    server.modules = (
            "mod_compress",
            "mod_proxy",
            "mod_rewrite",
    )
    
    server.port = 443
    ssl.engine = "enable"
    ssl.pemfile = "/etc/lighttpd/key.pem"
    proxy.server  = ( "" => ( ( "host" => "127.0.0.1", "port" => "8080" ) ) )
    
    url.rewrite-once = ( "(.*)" => "/guacamole/$1" )
    
    server.document-root        = "/var/www"
    
    server.errorlog             = "/var/log/lighttpd/error.log"
    server.pid-file             = "/var/run/lighttpd.pid"
    server.username             = "www-data"
    server.groupname            = "www-data"
    
    Nové nastavení můžeme otestovat z prohlížeče na adrese https://server

    Závěrečná čistka

    Také by bylo záhodno, aby se na tomcat nedalo připojit přímo, ale pouze přes reverzní proxy o kterou se nám stará lighttpd. V /etc/tomcat6/server.xml najdeme tag "Connector" a přidáme atribut address="127.0.0.1"
        <Connector address="127.0.0.1" port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   URIEncoding="UTF-8"
                   redirectPort="8443" />
    
    A vyresetujeme tomcat:
    service tomcat6 restart
    
    Ještě bych doporučil změnit heslo v guacamole, když už teď bude všechno chodit přes https. A rovnou můžeme uložit nové heslo v user-mapping.xml jako md5 hash. Nejdříve vygenerujeme md5 hash:
    cat | tr -d '\n' | md5sum
    
    A do tagu authorize přidáme atribut encoding="md5". Nový /etc/guacamole/user-mapping.xml pak může vypadat takto:
    <user-mapping>
        <!-- documentation: http://guac-dev.org/Configuring%20Guacamole -->
        <authorize username="luv" password="a1f0ce24f2a7d1731f768c0b655ca3b5" encoding="md5">
            <protocol>rdp</protocol>
            <param name="hostname">localhost</param>
            <param name="port">3389</param>
        </authorize>
    </user-mapping>
    

    Závěr

    Rozjet remote desktop přístupný přes webový prohlížeč není žádná rocket science, a tak si v příštím díle ukážeme, proč to dělat jednoduše, když to jde složitě ... a budeme patchovat, kompilovat, řesit vlastní deployment xrdp a guacamole, rozchodíme si xrdp a guacamole i se zvukem a také se zbavíme závislosti na šílenosti jménem tomcat.        

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    19.8.2013 18:06 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Hm, něčeho podobného by šlo dosáhnout s Xspice + spice-html5. V moderních distribucích bez kompilací. ;-) K testování spice-html5 jsem se nedostal, nicméně podle ohlasů by to chodit mělo.
    19.8.2013 18:26 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Podle toho "bez kompilaci" hadam, ze reagujes na ten zaver kde zminuju provoz Xrdp s podporou presmerovani zvuku ... pokud je Xspice a spice-html5 primo v distru a fakt to chodi se zvukem bez problemu tak proc ne. Pokud ale neni potreba presmerovani zvuku, tak bych se drzel overeneho a sel do Guacamole, to ostatne bude brzo(?) podporovat i SPICE.
    19.8.2013 19:05 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Jo to pardon, spice-html5 zvuk neumí. Jakmile spice jako takový přejde na Opus, mělo by to být v html5 verzi brzy.
    19.8.2013 19:26 dizz | skóre: 21 | blog: Dizzyho_Blog
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Diky borci, davam do TODO listu s cim si hrat ;-)
    Chuck Norris dohral GNU/Linux... a dvakrat!
    20.8.2013 16:34 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    To si teprv pockej na druhy dil :-)
    20.8.2013 19:21 kyytaM | skóre: 35 | blog: kyytaM | Bratislava
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    A kombinacia XRDP s FreeRDP-WebConnect? :)
    20.8.2013 20:06 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    In particular it relies on the Canvas and the WebSockets feature.
    Neprojde pres korporatni proxy :-)
    20.8.2013 20:23 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    A par dalsich duvodu:
    • Guacamole je overenejsi a ma balicky primo v Debianu
    • aktivni vyvoj a kvalitni dokumentace
    • umi radu ruznych protokolu (a dokonce i presmerovani zvuku)
    Max avatar 20.8.2013 22:39 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Zajímavé. Osobně mám postavený terminal server na FreeNX, ale už je to relativně mrtvoučká záležitost a hledám něco lepšího. Důležité také je, aby to dobře lítalo na pomalejších lajnách. Zatím spíš jen dělám menší průzkum, každopádně jsem myslel, že spice je k lince mnohem šetrnější, nebo se pletu?
    Zdar Max
    Měl jsem sen ... :(
    20.8.2013 23:56 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Jo jasne, na tohle Xrdp idealni asi nebude (navic v tom setupu co jsem zde popsal Xrdp pouziva VNC ke komunikaci s X serverem (Xvnc) ).
    27.8.2013 07:47 boar | skóre: 25 | Praha
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Zdar Vypada to pekne, ale ja hledam alternativu logmein/teamview ale na vlastnim serveru. potrebuju, aby zakaznik (popripade maminka:-) kliknul na odkaz/stahnul exe/nebo tak ... a ja jsem mel v tu chvili moznost se k nemu pripojit.

    Zasadni problem je, ze zakaznik (i ja) muzeme byt v tu chvili za natem. Jedine co jsem nalezl, je ultravnc single click. http://www.uvnc.com/downloads/single-click.html nicmene je to celkem krkolomne, a pouziva to nejaky nekompatabilni RFB protokol. - nefunguje to na linuxu s kazdym vnc. navic, nejdriv u sebe musim udelat ssh tunel na server s port forwardem a pustit vnc klienta v modu listen, a pak zakaznik muze spusit jakysi exe, (ktery se mimochodem generuje na strankach uvnc).

    Moje predstava je: zakaznik vleze na www.mujserver.nekde/link_pro_remote stahne + spusti exe/stahne + spusti jar ja provedu vncview mujserver:nejakyport a hotovo.

    Nejake tipy ?

    Založit nové vláknoNahoru

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