LBX, alebo je X11 po sieti mrtve?

06.05.2006 16:32 | blackhole_ventYl

notebook mam spojeny s desktopom chabou linkou (seriovy laplink, ktory sotva znesie 14 kB/s). obycajny forward Xka cez ssh je na tejto linke setsakramentsky pomaly. Rozhodol som sa preto najst nieco, co by Xko aspon jemne zrychlilo, ked nie start, tak aspon beh.

Tym niecim moze byt napriklad LBX (low bandwidth X), co je extensiona pre X server urcena priamo k tomuto ucelu. Funguje asi tak, ze cachuje content posielany z aplikacie na strane servera (aby sa nemusel posielat znova), niektore synchronne eventy vyriesi na strane servera bez toho, aby event poslala aplikacii a podobne.

Co treba k rozchodeniu LBX? V prvom rade treba mat podporu LBX v X serveri. Podpora je defaultna predpokladam, ze minimalne pre cele X11R6. O tom, ci X server podporuje LBX sa mozno presvedcit pomocou:

xdpyinfo | grep LBX

ak dostaneme aspon jeden riadok, LBX je pritomne. Na druhej strane (tam, kde chceme spustat aplikacie), treba mat program lbxproxy. Obvykle je sucastou balika X servera.

Ak chceme spustit nejaky Xovsky program tak, aby vyuzival LBX, je nutne po prihlaseni na vzdialeny pocitac, napriklad takto:

ssh -X -C uzivatel@pocitac

najprv povolit pristup k X serveru pre cely localhost (v opacnom pripade treba narabat s autentifikacnymi cookies) na lokalnom pocitaci. potom mozno spustit na vzdialenom pocitaci lbxproxy a to asi takto:
lbxproxy -pn -display :10 :63 &
export DISPLAY=:63

prepinac -pn sposobi, ze lbxproxy nebude strajkovat, ak sa mu nepodari osedlat IPv6. pri nepouziti tohto prepinaca pojde do teplych krajin lbxproxy a skor ci neskor aj cely stroj, ked ho lbxproxy uplne zaloaduje nekonecnou sluckou pri nadvazovani socketov. zaujimave je, ze je ten prepinac nedokumentovany. prepinac -display :10 hovori, ze lbxproxy ma komunikovat s LBX capable X serverom na displayi :10 a :63 hovori, ze LBX ma prijimat spojenia na displayi :63. kedze mame zapnute ssh s povolenym forwardovanim X, na displayi :10 na vzdialenom pocitaci bude posluchat ssh, ktory bude vsetky spojenia forwardovat na nas lokalny pocitac. To, ci ssh pocuva na displayi 10 sa da ovplyvnit v konfigurakoch sshd.

Nasledne mozno spustit lubovolnu X aplikaciu a po chvili cakania, nez sa zacachuje nam bude relativne svizne bezat nadialku prakticky cokolvek (mplayer neskusajte :] ).

V manualovych strankach k lbxproxy sa mozno docitat o nejakych dalsich tweakoch, ako napriklad "skratovanie eventov" a "skratovanie chyb", co je asi nieco take, ze event vyvolany na serveri sa neposle aplikacii k obsluhe, ale obsluzi sa serverom podla najlepsieho vedomia a svedomia, co vsak moze viest k padom aplikacii (a obvykle aj vedie). Skratovanie chyb je podobna zalezitost, ale tyka sa len vzniklych chyb, co obvykle nesposobuje ziadne brutalne pady aplikacii.

Vysledkom nasadenia LBX u mna bolo to, ze som dokazal mozillu prevadzkovat na linke, ktora mala velmi blizko dialupovemu pripojeniu slovenskych telekomunikacii s packet lossom niekde od 5 do 10 %.

    • super 06.05.2006 | 21:57
      Avatar bhole   Používateľ

      taketo clanky si tu predstavujem. pohodicka ;)

    • fjjjha 07.05.2006 | 13:42
      Avatar WooDy   Používateľ

      o tomto som nevedel. dost zeujimava vec.

    • taky jsem o tom 07.05.2006 | 15:19
      Avatar blackhole   Návštevník

      taky jsem o tom nevedel...libi se mi to.

    • super clanok, vhodny hlavne 07.05.2006 | 19:23
      Avatar blackhole   Návštevník

      super clanok, vhodny hlavne pre tych co maju slabsie linky alebo merany traffic (ako ja). btw. co to je za notebook, ze je zosietovany cez seriovy ? starsi kamarat bez sietovky ? tiez som sa s jednym takym lucil len velmi tazko :(

      • notebook 07.05.2006 | 19:44
        Avatar blackhole_ventYl   Používateľ

        notebok je ASUS L7300 Intel Celeron 433 MHz, od vyroby dostal do vienka modem (neviem, ci pod linuxom chodi), mam k nemu aj intelacku sietaren kombinovanu s modemom do picimici, ale problem je v tom, ze moj desktop ma momentalne len jednu sietaren, ktorou je pripojeny do internetu a druhu niet kam dat, lebo vsetky zvysne funkcne PCI porty su zabrane. Jedine riesenie, co mi ostalo, bolo hodit na to pppd a zosietovat do cez laplink.

        Ale mas pravdu v tom, ze tak komplikovane riesenie som pouzil len preto, ze som ho mal dobre preskumane este z cias, ked som mal stary 486tkovy notebook, ktory nemal ani CDromku, ani modem, ani sietaren a nemal som skade splasit picimici sietovku, tak som tam nasukal minimalnu instalaciu linuxu cez diskety a zvysok nasosal cez laplink...

        ---
        Riadit pracu programatorov je ako past macky.

        --- Cuchat s nadchou, to je ako sniffovat bez promiscu.
    • NX 08.05.2006 | 09:35
      Avatar blackhole   Návštevník

      Pokial mas slabu linku, tak skus este pozriet aj NX. Co sa tyka sirky prenosoveho pasma a moznosti, tak to jednoznacne vedie: http://kozo.bloguje.sk/238934-nx-nova-dimenzia.html

      • cool 08.05.2006 | 10:03
        Avatar blackhole_ventYl   Používateľ

        no yo :) pokial som pochopil spravne, tak NX vytvara kompletny virtual desktop :) mne sa prave LBX paci z toho dovodu, ze nic netreba instalovat (LBX extenzna je k dispozicii skoro vzdy) a lbxproxy mozes mat pripravene k behu kdekolvek (skoro ziadne zakerne zavislosti) a okna spustane nadialku sa chovaju tak, akokeby boli lokalne (mozes z nich kopirovat obsah schranky a podobne).

        ale kazdopadne vyskusam

        ---
        Riadit pracu programatorov je ako past macky.

        --- Cuchat s nadchou, to je ako sniffovat bez promiscu.
    • LBX a speed 08.05.2006 | 12:44
      Avatar blackhole_ventYl   Používateľ

      prave sedim u kamosa doma, som cez ssh pritunelovany na svoj domajsi komp, mam firefoxa nabehnuteho cez LBX a pisem tento prispevok :)

      az na to, ze sa firefox spustal trocha dlhsie a ze pred zobrazenim stranky je chvilu v okne tma, to ide uplne smooth :)

      ---
      Riadit pracu programatorov je ako past macky.

      --- Cuchat s nadchou, to je ako sniffovat bez promiscu.