Merekam gambar layar berukuran besar dengan VNC

oleh Viktor Horvath, <viktor@ibiblio.org> (artikel #393). Diterjemahkan Ke Indonesia Oleh: Gerry Sabar <wjava86 /at/ hotmail.com>

Abstrak:

Antara sebuah "tip" dan artikel, pada kesempatan ini penulis akan memperlihatkan cara membuat perekam gambar pada monitor berukuran besar. Perekaman menggunakan VNC virtual desktop. Tidak ada sihir, hanyalah sebuah petunjuk bagi siapa pun yang tidak mengetahui kelebihan VNC.

 

Pengantar

Sudah umum bahwa sebuah gambar (atau rekaman gambar pada monitor) lebih berharga daripada ribuan kata. Tetapi bayangkan gambar yang ingin anda rekam terdiri lebih dari banyak halaman layar. Sebuah gambar berukuran besar sebagai contohnya tidak bisa dikirim ke PostScript atau PDF.

Pada kasus saya, saya ingin memperlihatkan bagaimana saya memperbaiki sebuah teks. Saya ingin melihat orang lain melihat perubahan yang telah saya buat. Sekarang itu hanyalah persoalan sederhana pada diff. Namun bagaimana jika orang lain tidak tahu cara menggunakan diff? Atau terlebih dia memiliki sistem tanpa peralatan grafis diff yang bagus seperti TkDiff atau KDiff3 [1] ? Jadi saya lebih memilih untuk mengirim sebuah gambar hasil tangkapan layar dari KDiff3 view saya. Tetapi jendelanya terdiri lebih drai lima halaman. Anda harus menggulung layar ke bawah (scroll down). Merekam lima gambar pada monitor dan menggabungkannya pada GIMP adalah salah satu caranya. Membuat sebuah layar virtual berukuran besar dan merekam gambar pada monitor akan saya jelaskan di sini.  

Apa itu VNC?

Saya tidak perlu menjelaskan lagi mengenai Virtual Network Computing yang sudah ada di web [2]. Singkatnya, sebuah desktop(output layar, input keyboard dan mouse) digunakan bersama-sama dalam sebuah jaringan. Komputer yang desktop-nya ingin digunakan bersama-sama menggunakan VNC server. Desktop komputer yang ingin anda lihat dan kendalikan dalam sebuah jendela menggunakan VNC client. VNC pertama kali dikembangkan di University of Cambridge, Inggris dan AT&T. Markas besar VNC sekarang terletak di perusahaan RealVNC yang berasal dari Inggris [3]. VNC protocol tidak hanya gratis, tetapi juga bisa digunakan pada berbagai sistem operasi. Anda bisa mengendalikan desktop Mac OS X dari GNU/Linux dan sebaliknya. Di samping itu terdapat banyak peralatan dan gagasan seputar VNC.

Pada Microsoft Windows dan Mac OS X, anda hanya memiliki sebuah desktop. Pada Unix dan GNU/Linux anda bisa membuat desktop lainnya (walau pun terdaapt program untuk menjalankan desktop yang akan digunakan bersama-sama [4]), pada saat yang sama anda juga bisa memiliki X server pada komputer tersebut. Sebenarnya VNC desktop yang baru adalah X desktop yang "dibungkus" oleh VNC. Jika komputer anda menjalankan firewall atau jika anda ingin mengamankan komunikasi, anda bisa menggunakan SSH untuk koneksi VNC (disediakan oleh komputer yang anda hubungkan ke komputer pusat jaringan server SSH) [5].  

VNC vs. X11

Seperti yang mungkin anda tahu, anda bisa memindahkan sebuah jendela X11 melalui jaringan. Menyuruh program aplikasi berjalan pada komputer A dan melihat jendelanya pada komputer B. Perbedaan utama dari VNC adalah:

  • VNC memperlihatkan keseluruhan desktop (biasanya termasuk pengatur jendela)
  • Dengan VNC, jika koneksi terputus, anda cukup menyambungkan kembali client anda. tidak ada yang hilang, seperti sebuah sesi "layar". Hal seperti ini lebih sulit jika menggunakan X11 dan koneksi terputus.
  • Terdapat berbagai mode pengiriman data. Jika koneksi anda lambat, anda bisa mengurangi ketajaman warna. Pemampatan juga bisa dilakukan untuk meminimalkan data yang dikirim.
  • Saya menemukan banyak program aplikasi yang terlihat lebih cepat merespon, seperti tidak menunggu saya melihat tombol sebelum program siap menerima input. Tetapi, memetakan antara layout keyboard yang berbeda pada server dan client bisa membingungkan. Sehingga anda akan mendapatkan pengalaman yang lebih baik dengan sejumlah program aplikasi yang menggunakan X11.

 

Instalasi, konfigurasi dan memulai VNC server

Setiap distribusi utama menyediakan paket VNC server dan client. Jika anda beruntung, anda telah memiliki perintah seperti vncserver atau xvncviewer. Pada Debian dan temannya, anda bisa mendapatkannya, sebagai superuser:
apt-get install vncserver xvncviewer
Saya mengerjakan ini pada komputer yang menggunakan Debian, tetapi tidak ada perbedaan yang mencolok di antara distribusi lainnya.

Umumnya, anda cukup mengetikkan:
vncserver :1 -localhost
dan anda telah menjalankan sebuah X server bekerja pada layar:1, diakses dengan menghubungkan ke VNC server yang menerima pada port 5900 + nomor tampilan, jadi pada kondisi ini adalah port 5901. Karena parameter localhost , anda hanya berhubugan secara local atau melalui SSH.

Anda bisa menghubungi server ini dengan client:
xvncviewer :1
Jika anda mengamankan koneksi VNC anda dengan sebuah password (menggunakan vncpasswd), anda harus memasukkannya sekarang. Kemudian, dekstop anda akan muncul dalam sebuah jendela.

Tetapi, mungkin dikarenakan pada script permulaan individu saya pada ~/.xsessions, window manager tidak muncul pada client (atau lebih buruknya lagi, memunculkan jendela error yang baru terus-menerus). Jadi saya harus keluar dari vncserver:
vncserver -kill :1
dan membuat sebuah file ~/.vnc/xstartup dengan hanya sebuah konfigurasi minimalis (exec icewm). Ini adalah konfigurasi untuk X server yang dimulai oleh VNC, bukan konfigurasi VNC itu sendiri! Konfigurasi VNC terletak di /etc/vnc.conf dan ~/.vncrc. Saya harus menulis pada yang terakhir untuk menggunakan xstartup yang baru saya buat, jadi ~/.vnvrc saya terlihat seperti berikut:
$vncStartup = "~/.vnc/xstartup";

Sekarang kita ingin merekam gambar berukuran besar, jadi mulai VNC server sebesar yang anda inginkan. Saya pikir lebih baik lebarnya agak lebih kecil daripada ukuran lebar layar aslinya supaya cukup memiliki satu arah untuk digulung. Tetapi mungkin anda memerlukan ukuran yang lebih lebar untuk kebutuhan anda.
vncserver :1 -localhost -depth 16 -geometry 950x5000
Hubungkan seperti sebelumnya (xvncviewer :1).  

Merekam layar VNC

selebihnya mudah: mulai jalankan program aplikasi window mana yang ingin anda rekam. Saya suka malas dan menggunakan editor gambar GIMP yang cukup dikenal. Pada saat ini, tentu saja anda harus mulai menjalankannya di dalam desktop VNC, seperti anda menjalankan program aplikasi. Kemudian anda bisa melakukan "File -> Acquire -> Screen Shot". Anda mungkin hanya ingin menyimpan outputnya saja dan kemudian melakukan penyuntingan pada desktop yang normal untuk menghindari penggulungan. Terkadang anda harus menggulung layar sedikit sampai anda menemukan jendela yang baru saja dibuka!  

Persyaratan Hardware

Anda tidak perlu memori video yang berukuran besar untuk melakukan ini. Komputer saya berumur lima tahun, dan kartu grafiknya bahkan berumur 10 tahun (RAM 4MB). Anda cukup menunggu seentar, hanya itu saja.  

Hasil yang saya hasilkan

Ini hanyalah sebuah contoh, saya membandingkan dua versi dari bagian yang sama pada menual Debian-installer versi Jerman pada KDiff3. Klik pada gambar berikut untuk melihat resolusi asli.  

Referensi

Semua diakses pada 15 November 2006.

[1] Dua dari sekian banyak utility diff:
TkDiff: http://tkdiff.sourceforge.net
KDiff3: http://kdiff3.sourceforge.net

[2] VNC di Wikipedia:
http://en.wikipedia.org/wiki/VNC
Sejumlah informasi lainnya oleh Tim Waugh untuk majalah Red Hat:
http://cyberelk.net/tim/articles/VNC/index.html

[3] Halaman web RealVNC:
http://www.realvnc.com

[4] x11vnc (satu halaman yang panjang):
http://www.karlrunge.com/x11vnc/
Juga, RealVNC versi 4 dan selebihnya diklaim bisa di-share pada sesi X11 terbaru

[5] Jason's Web Thingy: Securing a VNC connection with OpenSSH
http://www.trekweb.com/~jasonb/articles/vnc_ssh.shtml
Dari halaman VNC lama AT&T/Cambridge: Making VNC more secure using SSH
http://www.cl.cam.ac.uk/research/dtg/attarchive/vnc/sshvnc.html

Tentang Penulis:

[Photo of the Author]

Penulis sekarang ini tahun terakhir mahasiswa bidang informatika (dan sedikit neurobiologi) pada University of Hamburg, Jerman. Di waktu luang, Penulis suka mendayung, merekam dan mendengar buku audio, software gratis dan informasi yang terbuka untuk umum serta filosofinya