The LBX Mini-HOWTO

Paul D. Smith, psmith@baynetworks.com Diterjemahkan oleh: Yaya Heryadi, yheryadi@necnusa.co.id V1.04, 11 December 1997 Terj. 8 January 1999 LBX (Low Bandwidth X ) merupakan perluasan X Server untuk dapat melakukan kompresi menggunakan protokol X. LBX ditujukan untuk digunakan dalam hubungannya dengan aplikasi X dan sebuah X Server yang dipisahkan oleh sebuah koneksi terhadap jaringan berkecepatan rendah, dengan tujuan untuk meningkatkan waktu tampilan dan waktu respon.

Contents

1 Pendahuluan 2 2 Bagaimana status LBX? 2 3 Target pemakai LBX? 2 4 Siapa yang tidak membutuhkan LBX? 2 5 Bagaimana cara LBX bekerja? 3 6 Apa yang saya butuhkan untuk menggunakan LBX? 3 7 Apa yang tidak saya butuhkan dalam menggunakan LBX? 4 8 Bagaimana saya menjalankan LBX? 4 9 Masalah-masalah yang sering dijumpai 5 10 Dokumentasi 6 11 Alternatif-alternatif 6

11.1 dxpc - Differential X Protocol Compressor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 11.1.1 Keuntungan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 11.1.2 Kerugian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

. Ada sebuah homepage WWW bagi dxpc yang memberikan banyak informasi yang baik, termasuk petunjuk bagaimana berlangganan milis dxpc, akses terhadap source code, serta sejumlah binari untuk berbagai platform: < 127

   11.2 Ssh (Secure Shell)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
   11.3 Mana yang lebih baik? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

12 Catatan dari penterjemah:                                                            8

1 Pendahuluan

Low-Bandwith X (LBX) dibuat atas dasar bahwa pada saat ini tidak setiap orang memiliki
akses terhadap LAN yang cepat atau berada terlalu jauh dari sistem tempat berjalannya
aplikasi mereka.
Protokol X dapat menghasilkan jumlah trafik yang luar biasa, terutama untuk hal-hal yang
nampak sederhana seperti membuat window baru.  Seperti setiap orang yang telah mencoba
menggunakan X melalui sebuah modem dial-in dengan kecepatan 28.8 maupun dengan kecepatan
lain yang lebih tinggi yang dapat digunakan, pembuatan window-window baru dengan X
menyebabkan waktu tunggu yang sangat lama.
LBX pada dasarnya merupakan sebuah skema untuk melakukan kompresi dan caching yang
dirancang untuk meminimumkan besar trafik X yang dihasilkan di antara kedua sistem.

2 Bagaimana status LBX?

Sejak X Consortium mengeluarkan X11R6.3 pada bulan Desember 1996, LBX merupakan sebuah
perluasan penuh dari protokol X. Bagi orang-orang XFree86, yang dimaksud adalah versi 3.3
dari XFree86.

3 Target pemakai LBX?

Apabila Anda menggunakan sebuah modem untuk melakukan dial terhadap sebuah service
provider, kemudian menjalankan aplikasi X pada komputer remote dengan variabel
DISPLAY-nya ditetapkan untuk menggunakan komputer Anda (atau sebaliknya), LBX akan
mempercepat koneksi tsb.  Demikian pula, jika Anda men-set variable DISPLAY dari
sistem-sistem yang dipisahkan melalui WAN (misalnya dari negara-negara lain), ataupun
melalui sambungan berkecepatan rendah lainnya, LBX akan membantu.

4 Siapa yang tidak membutuhkan LBX?

LBX tidak akan berguna, tentunya, apabila Anda hanya menjalankan aplikasi yang bersifat
lokal, atau apabila Anda sama sekali tidak menjalankan X.
Demikian pula, apabila Anda menjalankan X melalui suatu LAN yang cepat, LBX tidak akan
banyak membantu Anda.  Seseorang mengatakan "Jika LBX mengurangi trafik jaringan, apakah
juga akan baik untuk digunakan meskipun dalam LAN yang cepat sekalipun?" Mungkin saja,
Jika tujuan Anda adalah mengurangi trafik jaringan.  Namun apabila tujuan Anda adalah
mendapatkan waktu respon yang lebih baik maka LBX mungkin bukan yang Anda butuhkan.
Meskipun LBX memperkenalkan caching dan kompresi, namun menimbulkan beban pada kedua sisi
(tambahan memori untuk kebutuhan caching, extra CPU untuk melakukan dekompresi).  Apabila

kecepatan sambungan Anda hanya sedang-sedang saja maka LBX akan mengakibatkan perlambatan
secara keseluruhan.

5 Bagaimana cara LBX bekerja?

LBX bekerja dengan menggunakan sebuah server proxy pada sisi klien, yang melakukan
caching dan kompresi.  X Server mengetahui penggunaan sebuah server proxy oleh klien,
dan melakukan dekompresi yang dibutuhkan.
Berikut ini sebuah setup normal bagi klien-klien X yang bersifat remote.  Dalam
pembicaraan kita, LOCAL selalu merupakan komputer yang ada didepan Anda, memiliki monitor
yang Anda lihat; sedangkan REMOTE merupakan komputer remote, merupakan tempat dimana
aplikasi sebenarnya berjalan.
            REMOTE                               LOCAL
        +-----+                                             +-----+
        | APP |-\          Network            +----------+  |     |\
        +-----+  \--------------------------->| X SERVER |=>|     ||
        +-----+  /       (X Protocol)         +----------+  +-----+\
        | APP |-/                                          /_____//
        +-----+
Pada saat menggunakan LBX, sebuah proxy server (lbxproxy) digunakan pada sisi remote,
dan aplikasi tidak berhubungan langsung dengan server LOCAL melainkan berhubungan
dengan lbxproxy.  Proses tsb (lbxproxy) kemudian melakukan caching dan kompresi terhadap
permintaan-permintaan (requests) X dan mengrimkannya.  Hal itu dapat digambarkan seperti
berikut:
       REMOTE                                         LOCAL
                                                                 +-----+
   +-----+  +-------+           Network            +----------+  |     |\
   | APP |->| PROXY |----------------------------->| X SERVER |=>|     ||
   +-----+  +-------+       (LBX/X Protocol)       +----------+  +-----+\
   +-----+   /                                                  /_____//
   | APP |--/
   +-----+
Apa saja yang dilakukan pada saat melakukan caching dan kompresi secara terperinci berada
diluar ruang lingkup dari dokumen ini.

6 Apa yang saya butuhkan untuk menggunakan LBX?

Anda membutuhkan sebuah X Server pada sistem LOCAL yang Anda miliki dengan tambahan LBX
yang terkompile kedalamnya.  Kecuali apabila Anda meminta secara eksplisit untuk tidak
melakukan enable pada saat membangunnya, server-server X11R6.3 akan melakukan enable

terhadap LBX secara otomatis.  Demikian pula, semua server dari XFree86 versi 3.3 akan
melakukan hal yang sama secara default.
Anda dapat menggunakan perintah xdpyinfo untuk melihat apakah server yang Anda miliki
telah memiliki tambahan LBX: jalankan xdpyinfo dan lihat daftar tepat dibawah number of
extensions (jumlah tambahan); Anda seharusnya melihat LBX termasuk kedalam daftar itu.
Selanjutnya, Anda harus mengkompile sebuah program lbxproxy untuk digunakan pada sistem
REMOTE. Ini merupakan bagian yang agak sulit.  Jika sistem remote tidak memiliki tipe
yang sama dengan sistem lokal Anda, maka lbxproxy yang berada pada sistem lokal Anda
tidak akan berguna, tentu saja.
Disayangkan bahwa tidak ada keluaran distribusi dari lbxproxy, sehingga Anda harus
melakukan:
   • Mengambil dan membangun, jika tidak keseluruhannya, X11R6.3 bagi sistem remote, atau
   • Mendapatkan suatu tempat untuk mendapatkan pra-kompilasi biner lbxproxy untuk sistem
     Anda.  Pilihan kedua ini lebih mudah dilakukan tentunya.
lbxproxy merupakan sebuah program tunggal yang langsung dapat dieksekusi.  Program itu
tidak memiliki file-file konfigurasi, file resource, dsb yang terkait dengannya.

7 Apa yang tidak saya butuhkan dalam menggunakan LBX?

Sistem REMOTE tidak memerlukan X Server baru (sistem REMOTE selalu tidak membutuhkan X
Server satupun).
Aplikasi yang ingin Anda jalankan tidak perlu di-link dengan versi X, maupun
librari-librari manapun; Penulis menggunakan secara teratur aplikasi X11R5 komersial
melalui LBX tanpa mendapatkan kesulitan.
Anda tidak memerlukan hak akses sebagai root atau lainnya terhadap sistem REMOTE;
proses lbxproxy berjalan dengan permission akses yang normal.  Lebih lanjut lagi, Anda
dapat menjalankannya langsung dari direktori home Anda:  lbxproxy tidak perlu diinstal
dimanapun.

8 Bagaimana saya menjalankan LBX?

Baiklah, Inilah dia...  sesungguhnya semuanya sangat sederhana.  Gantillah LOCAL dan
REMOTE dibawah ini masing-masing dengan nama komputer untuk komputer lokal Anda maupun
untuk sistem remote (awas jangan sampai tertukar!)
Pada komputer LOCAL
  1. Jalankan X Server Anda
  2. Buatlah agar X Server memberikan izin akses bagi sistem remote.  Dengan menggunakan
     metoda daftar-host, ketiklah xhost +REMOTE. Jika Anda menggunakan xauth maka
     Anda perlu melakukan lebih dari ini; silahkan baca halaman manual xauth(1) untuk

     mendapatkan informasi lebih lanjut.  Anda harus membaca Remote X Apps Mini-HOWTO
     apabila Anda merasa kurang berpengalaman dalam men-setup permission akses bagi
     remote X.
Pada komputer REMOTE
  1. Jalankan lbxproxy dan perintahkan lbproxy agar mengirimkan sesuatu ke X Server,
     seperti berikut:
     $  lbxproxy  -display  LOCAL:0    :1  &
     Perintah ini memerintahkan lbxproxy untuk menggunakan tampilan :1 pada sistem
     REMOTE; apabila sistem itu memiliki lebih dari satu jumlah tampilan maka Anda dapat
     menggunakan tampilan :2 atau yang lainnya.
  2. Set variabel environment DISPLAY yang Anda miliki untuk menunjuk kepada tampilan
     yang disediakan oleh lbxproxy sebagai ganti dari tampilan normal.
     $  DISPLAY=:1
     $  export DISPLAY
     Atau, apabila Anda menggunakan csh atau shell yang sejenis:
     %  setenv  DISPLAY  :1
  3. Apabila Anda menggunakan xauth maka Anda perlu memastikan bahwa cookie tersedia
     secara lokal.  Silahkan baca Remote X Apps Mini-HOWTO untuk mendapat informasi lebih
     lengkap mengenai hal ini.
  4. Jalankan aplikasi X Anda.
Selesailah sudah; semua aplikasi X yang telah dijalankan yang menunjuk ke :1 akan
menggunakan LBX. Tentu saja tidak ada alasan bahwa Anda tidak dapat menjalankan aplikasi
X dengan menunjuk ke LOCAL:0 serta menjalankan keduanya secara bersama-sama.

9 Masalah-masalah yang sering dijumpai

Beberapa masalah umum adalah:
Q)
lbxproxy keluar dengan kesalahan access denied (akses ditolak)
A)
Ini berarti bahwa sistem LOCAL tidak menerima koneksi yang berasal dari sistem REMOTE
yang disebabkan oleh kesalahan permission.  Silahkan baca Remote X Apps Mini-HOWTO untuk
mendapat informasi lebih terperinci mengenai hal ini.
Sebagai tindakan troubleshooting yang sederhana, cobalah menjalankan sebuah aplikasi X
sederhana seperti xclock pada REMOTE dan tampilkan pada sistem lokal tanpa menggunakan
lbxproxy.

        $  xclock  -display   LOCAL:0
Jika hal ini tidak berhasil maka masalahnya terdapat pada xhost ataupun hal-hal yang
mendasar lainnya dari X, dan tidak terletak pada LBX.

10 Dokumentasi

Satu-satunya dokumentasi yang tersedia didalam distribusi standar X adalah halaman manual
lbxproxy(1).
Apabila Anda memiliki akses kedalam struktur direktori dari X source maka informasi yang
menarik mengenai LBX terdapat didalam:
   • xc/doc/specs/Xext/lbx.mif (Framemaker MIF)
   • xc/doc/hardcopy/Xext/lbx.PS.Z (Compressed Postscript)
   • xc/doc/hardcopy/Xext/lbxTOC.html (HTML)
Pembicaraan lebih terperinci mengenai algoritma tertentu terdapat didalam:
   • xc/doc/specs/Xext/lbxalg.mif(Framemaker MIF)
   • xc/doc/specs/Xext/lbxalg.PS.Z(Compressed Postscript)
Apabila Anda tidak memiliki akses ke dalam source X11, Anda dapat menemukan file-file tsb
didalam situs FTP X Consortium.

11 Alternatif-alternatif

Jika Anda tidak menyukai lbxproxy karena berbagai sebab:  Anda tidak puas dengan
kinerjanya, tidak berjalan sesuai keinginan Anda, Anda tidak mau bersusah-payah membuat
lbxproxy untuk komputer remote, atau hanya karena Anda tertarik untuk menggunakan
pilihan-pilihan lain maka sekurang-kurangnya ada paket lain untuk melakukan kompresi
protokol X (adakah yang memiliki paket lainnya?)

11.1 dxpc - Differential X Protocol Compressor

   • Penulis asli:  Brian Pane, brianp@cnet.com
   • Maintainer saat ini:  Zachary Vonler, lightborn@mail.utexas.edu
dxpc pada pokoknya bekerja seperti LBX. Namun, untuk menghindarkan keharusan untuk
mengimplementasikan suatu perluasan X serta memodifikasi program X Server maka dxpc
menggunakan dua buah proxy:  sebuah proxy yang berjalan pada komputer REMOTE seperti
halnya lbxproxy, dan satu proxy lagi berjalan pada komputer LOCAL.

Proxy pada komputer REMOTE melakukan komunikasi diantara klien-klien X dengan proxy
komputer LOCAL, sedangkan proxy komputer LOCAL melakukan komunikasi diantara X Server
dengan proxy komputer REMOTE.
Sehingga bagi klien-klien X maupun X Server, dxpc seolah-olah sebagai protokol X biasa.

11.1.1 Keuntungan

   • dxpc merupakan suatu aplikasi yang sama sekali terpisah yang tidak membutuhkan
     internal X, oleh karena itu dxpc sangat lebih sederhana untuk dikompilasi maupun
     diinstal
   • dxpc di-maintain secara terpisah maka Anda tidak harus menunggu OSF untuk
     mendapatkan versi-versi baru dari X untuk mendapatkan peningkatan maupun perbaikan.
   • dxpc memberikan informasi serta data statistik mengenai kompresi yang lebih banyak
     dan lebih baik dibandingkan lbxproxy.

11.1.2 Kerugian

   • Bukan merupakan suatu bagian standar dari X; Anda harus mendapatkan dan membangunnya
     secara terpisah
   • Sedikit lebih rumit dalam men-setup, karena membutuhkan sebuah proxy pada sisi LOCAL
     maupun pada sisi REMOTE.

11.1.3 Di mana saya bisa mendapatkan dxpc? Source bagi dxpc tersedia di <ftp://ftp.x. org/contrib/utilities/>. Ada sebuah homepage WWW bagi dxpc yang memberikan banyak informasi yang baik, termasuk petunjuk bagaimana berlangganan milis dxpc, akses terhadap source code, serta sejumlah binari untuk berbagai platform: <http:

        //ccwf.cc.utexas.edu/~zvonler/dxpc/>

11.2 Ssh (Secure Shell)

Ken Chase, lbxhowto@sizone.org, mencatat bahwa ssh dapat digunakan untuk melakukan
kompresi.  Meskipun kegunaan utamanya adalah untuk memberikan sekuriti, ssh melakukan
kompresi terhadap data yang dikirimkannya.
Sehingga jika Anda menjalankan X menggunakan suatu sambungan ssh maka Anda akan
mendapatkan sejumlah kompresi secara otomatis.

11.3 Mana yang lebih baik?

Penulis tidak mengetahuinya.  LBX dan dxpc keduanya lebih baik dalam melakukan kompresi
raw dibandingkan dengan ssh.  Tentu saja, ssh memberikan keuntungan tambahan dalam hal
sekuriti.  Dan tentunya, Anda tidak memiliki alasan untuk tidak menggunakan keduanya, ssh
dan salah satu dari LBX atau dxpc, untuk mendapatkan kompresi yang baik maupun sekuriti.

Seharusnya tidak terlalu sukar untuk menjalankan beberapa benchmark terhadap
pilihan-pilihan diatas untuk mendapatkan pengukuran kinerja baik secara secara subjektif
maupun statistik.  Namun demikian, penulis belum pernah melakukannya juga belum
mengetahui seorangpun yang pernah melakukannya.

12 Catatan dari penterjemah:

Penterjemah sudah berusaha menterjemahkan tulisan aslinya sedapat mungkin, namun
tidak mustahil masih ada kekurangan dalam penterjemahan disana-sini.  Apabila ada
saran-saran untuk memperbaiki penterjemahan tulisan ini silahkan disampaikan via e-mail
ke penterjemah, yheryadi@necnusa.co.id, atau koordinator idLDP, mdamt@linux.or.id.