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 digu-
nakan 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.
______________________________________________________________________
Daftar Isi
1. Pendahuluan
2. Bagaimana status LBX?
3. Target pemakai LBX?
4. Siapa yang tidak membutuhkan LBX?
5. Bagaimana cara LBX bekerja?
6. Apa yang saya butuhkan untuk menggunakan LBX?
7. Apa yang tidak saya butuhkan dalam menggunakan LBX?
8. Bagaimana saya menjalankan LBX?
9. Masalah-masalah yang sering dijumpai
10. Dokumentasi
11. Alternatif-alternatif
11.1 (TT
11.1.1 Keuntungan
11.1.2 Kerugian
11.1.3 Di mana saya bisa mendapatkan
11.2 Ssh (Secure Shell)
11.3 Mana yang lebih baik?
12. Catatan dari penterjemah:
______________________________________________________________________
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:
o Mengambil dan membangun, jika tidak keseluruhannya, X11R6.3 bagi
sistem remote, atau
o 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:
o xc/doc/specs/Xext/lbx.mif (Framemaker MIF)
o xc/doc/hardcopy/Xext/lbx.PS.Z (Compressed Postscript)
o xc/doc/hardcopy/Xext/lbxTOC.html (HTML)
Pembicaraan lebih terperinci mengenai algoritma tertentu terdapat
didalam:
o xc/doc/specs/Xext/lbxalg.mif(Framemaker MIF)
o 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
o Penulis asli: Brian Pane, brianp@cnet.com
o 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
o dxpc merupakan suatu aplikasi yang sama sekali terpisah yang tidak
membutuhkan internal X, oleh karena itu dxpc sangat lebih sederhana
untuk dikompilasi maupun diinstal
o dxpc di-maintain secara terpisah maka Anda tidak harus menunggu OSF
untuk mendapatkan versi-versi baru dari X untuk mendapatkan
peningkatan maupun perbaikan.
o dxpc memberikan informasi serta data statistik mengenai kompresi
yang lebih banyak dan lebih baik dibandingkan lbxproxy.
11.1.2. Kerugian
o Bukan merupakan suatu bagian standar dari X; Anda harus mendapatkan
dan membangunnya secara terpisah
o Sedikit lebih rumit dalam men-setup, karena membutuhkan sebuah
proxy pada sisi LOCAL maupun pada sisi REMOTE.
11.1.3. Source bagi dxpc tersedia diurlnam . 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:urlnam Di
mana saya bisa mendapatkan 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.
------------------------------------------------------------------
Dokumen terbaru ada di http://ldp.linux.or.id Kontak Mohammad DAMT
bila berminat membantu Indonesia LDP.