Konversi KVM Image Ke VirtualBox

Tulisan ini masih berkait dengan tulisan sebelumnya tentang virtualisasi dengan KVM Linux. Saat membuat virtual machine dengan KVM, aplikasi qemu-kvm akan membuat sebuah virtual harddisk dengan format *.img. Virtual harddisk ini dapat dipasangkan juga pada VirtualBox. Dengan begitu OS yang sudah dipasang di KVM, bisa dijalankan juga di virtual machine-nya VirtualBox.

Untuk dapat menggunakan virtual harddisk ini kita perlu mengkonversi dulu menjadi format *.vdi. Berikut ini adalah contoh proses konversi menggunakan perintah VBoxManage bawaan VirtualBox :

ttirtawi@macmini:~ $ VBoxManage convertfromraw -format VDI centos65-template.img  centos65-template.vdi
Converting from raw image file="centos65-template.img" to file="centos65-template.vdi"...
Creating dynamic image with size 8589934592 bytes (8192MB)...
ttirtawi@macmini:~ $

Di contoh tadi, virtual disk dari KVM berukuran 8GB sementara hasil konversinya cuma berukuran 836MB. Ini karena saat membuat virtual machine KVM, saya memilih opsi “Allocate entire disk now”, artinya KVM melakukan reservasi terlebih dahulu sebesar 8GB. Sementara VirtualBox membuat VDI yang sesuai jumlah data yang sudah dipakai. Meskipun pada akhirnya VirtualBox VM akan mengenali virtual harddisk tersebut sebagai harddisk berukuran 8GB.

ttirtawi@macmini:~ $ ls -thlr centos65-template.*
-rw-------  1 ttirtawi  staff   836M May 31 21:51 centos65-template.vdi
-rw-------  1 ttirtawi  staff   8.0G May 31 17:25 centos65-template.img
ttirtawi@macmini:~ $ 

Memasang Wireshark Versi Lama Di MacPorts

Di tulisan sebelumnya (Sekilas Tentang MacPorts) saya menuliskan bahwa kita bisa memasang beberapa versi port bersamaan (meskipun hanya 1 yang aktif). Di posting tersebut saya mencoba memasang Wireshark versi 1.10.7. Saya bisa mencari versi terdahulu dari sebuah port dari website http://trac.macports.org. Misalnya seperti contoh tangkapan layar di bawah ini :

Revision Browser

Sebagai contoh saya ingin memasang Wireshark versi yang lebih lama, misalnya 1.10.6. Yang perlu dicatat adalah Revision number yang menghasilkan Wireshark versi 1.10.6. Dari website tadi saya dapat nomor revisinya 118753.

Revision Number Wireshark Upgrade 1.10.6

Untuk memasang port versi lama ini langkah-langkahnya adalah sebagai berikut :

  1. Saya perlu mengambil port revision number 118753 dengan menggunakan svn. SVN (subversion) adalah aplikasi untuk kontrol versi, ini biasanya digunakan para developer software untuk mengontrol perubahan yang dilakukan pada source code software-nya. Perintah svn di Mac OSX sudah termasuk dalam paket XCode Command Line Tools. Perintah yang perlu saya gunakan adalah seperti contoh berikut ini :
    ttirtawi@macmini:Downloads $ svn co -r 118753 http://svn.macports.org/repository/macports/trunk/dports/net/wireshark
    A    wireshark/files
    A    wireshark/files/patch-configure.diff
    A    wireshark/files/patch-epan-dissectors-pacet-dtls.c.diff
    A    wireshark/files/patch-svnversion
    A    wireshark/Portfile
    Checked out revision 118753.
    ttirtawi@macmini:Downloads $ 
    

    Saya bisa melakukan perintah ini di direktori mana saja. Perintah svn akan mengambil direktori wireshark dari server SVNnya Macports.

  2. Selanjutnya saya bisa lihat versi port yang ada di direktori tersebut :
    ttirtawi@macmini:Downloads $ cd wireshark/
    ttirtawi@macmini:wireshark $ port info
    wireshark @1.10.6 (net)
    Variants:             no_adns, no_geoip, no_gnutls, no_ipv6, no_libgcrypt, no_libsmi, no_lua, no_rtp, no_ssl, no_x11, universal
    
    Description:          A network analyzer that lets you capture and interactively browse Ethernet frames. Packet data can be read from a file, or live from a
                          local network interface.
    Homepage:             http://wireshark.org/
    
    Build Dependencies:   pkgconfig
    Library Dependencies: adns, libgcrypt, libgeoip, glib2, libsmi, lua, gnutls, gtk2, openssl, portaudio, libpcap, kerberos5, zlib
    Conflicts with:       wireshark-devel
    Platforms:            darwin
    License:              GPL-2 GPL-3
    Maintainers:          opendarwin.org@darkart.com
    ttirtawi@macmini:wireshark $ 
    

    Benar bahwa port yang diambil tadi adalah Wireshark versi 1.10.6.

  3. Selanjutnya untuk memasang port Wireshark 1.10.6 tersebut saya tinggal gunakan perintah port install seperti pada contoh berikut ini :
    ttirtawi@macmini:wireshark $ port install
    --->  Computing dependencies for wireshark
    --->  Fetching distfiles for wireshark
    --->  Attempting to fetch wireshark-1.10.6.tar.bz2 from http://jog.id.distfiles.macports.org/macports/mpdistfiles/wireshark
    --->  Attempting to fetch wireshark-1.10.6.tar.bz2 from http://www.wireshark.org/download/src/
    --->  Verifying checksums for wireshark
    --->  Extracting wireshark
    --->  Applying patches to wireshark
    --->  Configuring wireshark
    --->  Building wireshark
    --->  Staging wireshark into destroot
    --->  Installing wireshark @1.10.6_0
    --->  Deactivating wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
    --->  Cleaning wireshark
    --->  Activating wireshark @1.10.6_0
    --->  Cleaning wireshark
    --->  Updating database of binaries: 100.0%
    --->  Scanning binaries for linking errors: 100.0%
    --->  No broken files found.
    ttirtawi@macmini:wireshark $ 
    
  4. Bila proses instalasi port tadi sudah selesai saya bisa melihat ada 2 port Wireshark yang terpasang & hanya versi 1.10.6 yang aktif.
    ttirtawi@macmini:wireshark $ port installed wireshark
    The following ports are currently installed:
      wireshark @1.10.6_0 (active)
      wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
    ttirtawi@macmini:wireshark $ 
    
  5. Contoh lain bila saya ingin memasang port Wireshark versi 1.2.5. Revision number-nya adalah 61926.
    ttirtawi@macmini:Downloads $ svn co -r  61926 http://svn.macports.org/repository/macports/trunk/dports/net/wireshark
    svn: E000017: Can't create directory '/Users/ttirtawi/mydata/Downloads/wireshark/.svn': File exists
    ttirtawi@macmini:Downloads $ 
    

    Pada contoh di atas muncul error dari perintah svn karena direktori wireshark sudah ada. Saya perlu menghapus dulu direktori wireshark atau pindah menggunakan direktori lainnya.

    ttirtawi@macmini:Downloads $ rm -r wireshark/
    ttirtawi@macmini:Downloads $ svn co -r  61926 http://svn.macports.org/repository/macports/trunk/dports/net/wireshark
    A    wireshark/files
    A    wireshark/files/patch-svnversion
    A    wireshark/Portfile
    Checked out revision 61926.
    ttirtawi@macmini:Downloads $
    ttirtawi@macmini:wireshark $ port install
    --->  Computing dependencies for wireshark
    --->  Dependencies to be installed: c-ares
    --->  Fetching distfiles for c-ares
    --->  Attempting to fetch c-ares-1.10.0.tar.gz from http://jog.id.distfiles.macports.org/macports/mpdistfiles/c-ares
    --->  Verifying checksums for c-ares
    --->  Extracting c-ares
    --->  Configuring c-ares
    --->  Building c-ares
    --->  Staging c-ares into destroot
    --->  Installing c-ares @1.10.0_0
    --->  Activating c-ares @1.10.0_0
    --->  Cleaning c-ares
    --->  Fetching distfiles for wireshark
    --->  Attempting to fetch wireshark-1.2.5.tar.bz2 from http://jog.id.distfiles.macports.org/macports/mpdistfiles/wireshark
    --->  Verifying checksums for wireshark
    --->  Extracting wireshark
    --->  Configuring wireshark
    --->  Building wireshark
    --->  Staging wireshark into destroot
    --->  Installing wireshark @1.2.5_0
    --->  Deactivating wireshark @1.10.6_0
    --->  Cleaning wireshark
    --->  Activating wireshark @1.2.5_0
    --->  Cleaning wireshark
    --->  Updating database of binaries: 100.0%
    --->  Scanning binaries for linking errors: 100.0%
    --->  No broken files found.
    ttirtawi@macmini:wireshark $ 
    ttirtawi@macmini:wireshark $ port installed wireshark
    The following ports are currently installed:
      wireshark @1.2.5_0 (active)
      wireshark @1.10.6_0
      wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
    ttirtawi@macmini:wireshark $ 
    ttirtawi@macmini:~ $ MacPorts/bin/wireshark -version
    wireshark 1.2.5
    
    Copyright 1998-2009 Gerald Combs <gerald@wireshark.org> and contributors.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    Compiled with GTK+ 2.24.23, with GLib 2.40.0, with libpcap 1.5.3, with libz
    1.2.8, without POSIX capabilities, without libpcre, with SMI 0.4.8, with c-ares
    1.10.0, without Lua, with GnuTLS 3.1.22, with Gcrypt 1.5.3, with MIT Kerberos,
    with GeoIP, without PortAudio, without AirPcap.
    NOTE: this build doesn't support the "matches" operator for Wireshark filter
    syntax.
    
    Running on Darwin 13.2.0 (MacOS 10.9.3), with libpcap version 1.5.3, GnuTLS
    3.1.22, Gcrypt 1.5.3.
    
    Built using gcc 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40).
    ttirtawi@macmini:~ $ 
    

Sampai tahap ini saya punya 3 port Wireshark yang terpasang :

ttirtawi@macmini:~ $ port installed wireshark
The following ports are currently installed:
  wireshark @1.2.5_0 (active)
  wireshark @1.10.6_0
  wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
ttirtawi@macmini:~ $ 

Bila saya ingin kembali menggunakan Wireshark versi 1.10.7, saya cukup mengaktifkannya dengan perintah port activate seperti contoh di bawah ini :

ttirtawi@macmini:~ $ port activate wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
--->  Computing dependencies for wireshark
--->  Deactivating wireshark @1.2.5_0
--->  Cleaning wireshark
--->  Activating wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
--->  Cleaning wireshark
ttirtawi@macmini:~ $
ttirtawi@macmini:~ $ port installed wireshark
The following ports are currently installed:
  wireshark @1.2.5_0
  wireshark @1.10.6_0
  wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11 (active)
ttirtawi@macmini:~ $ 
ttirtawi@macmini:~ $ MacPorts/bin/wireshark -version
wireshark 1.10.7 (Git Rev Unknown from unknown)

Copyright 1998-2014 Gerald Combs <gerald@wireshark.org> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with GTK+ 2.24.23, with Cairo 1.12.16, with Pango 1.36.3, with
GLib 2.40.0, with libpcap, with libz 1.2.8, without POSIX capabilities, without
libnl, with SMI 0.4.8, without c-ares, with ADNS, with Lua 5.2, without Python,
with GnuTLS 3.1.22, with Gcrypt 1.5.3, with MIT Kerberos, with GeoIP, with
PortAudio V19-devel (built May 23 2014 02:29:07), with AirPcap.

Running on Mac OS X 10.9.3, build 13D65 (Darwin 13.2.0), with locale
en_US.UTF-8, with libpcap version 1.5.3, with libz 1.2.8, GnuTLS 3.1.22, Gcrypt
1.5.3, without AirPcap.
       Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz

Built using clang 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40).
ttirtawi@macmini:~ $ 

Memperbaiki Tampilan Wireshark Di Mac OSX

Wireshark menggunakan GTK untuk menghasilkan tampilan grafisnya. Setelah memasang Wireshark melalui MacPorts, saya dapati tampilan Wireshark seperti ini :

Wireshark Default Tanpa Clearlook GTK+

Menurut saya tampilan Wireshak ini sangat jelek, tidak senada dengan environment Mac OSX. Beberapa referensi di Internet menyarankan untuk menggunakan GTK Theme Clearlooks untuk memperbaiki tampilan Wireshark. Pertama kali memasang Wireshark, hanya ada 1 theme seperti ini :

ttirtawi@macmini:~ $ port installed | egrep "gtk|gnome|theme"
  gnome-common @3.12.0_0 (active)
  gtk-doc @1.20_2+python27 (active)
  gtk2 @2.24.23_0+x11 (active)
  hicolor-icon-theme @0.13_0 (active)
ttirtawi@macmini:~ $ 

GTK Theme Clearlooks tersedia dalam port gnome-themes. Supaya bisa mengganti-ganti GTK Themes saya perlu memasang port gtk-theme-switch juga. Berikut adalah langkah-langkahnya :

ttirtawi@macmini:~ $ port -v install gtk-theme-switch
ttirtawi@macmini:~ $ launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
ttirtawi@macmini:~ $ port -v install gnome-themes
ttirtawi@macmini:~ $ port installed | egrep "gtk|gnome|theme"
  gnome-common @3.12.0_0 (active)
  gnome-icon-theme @3.12.0_0 (active)
  gnome-themes @2.32.1_0 (active)
  gtk-doc @1.20_2+python27 (active)
  gtk-engines2 @2.20.2_3 (active)
  gtk-theme-switch @2.0.4_2 (active)
  gtk2 @2.24.23_0+x11 (active)
  gtk3 @3.12.2_0+x11 (active)
  hicolor-icon-theme @0.13_0 (active)
ttirtawi@macmini:~ $ 

Setelah itu saya bisa menjalankan perintah switch2 untuk mengaktifkan GTK Theme yang saya inginkan :

Switch2 Untuk Memilih GTK Theme

Setelah menggunakan theme Clearlooks, sekarang tampilan Wiresharknya jadi lebih enak untuk dilihat :

Wireshark Dengan Clearlook GTK+

Virtualisasi Dengan KVM Linux

Sekilas Tentang Virtualisasi

Saya sudah cukup lama menggunakan Virtualbox untuk melakukan virtualisasi OS. Virtualisasi gampangnya dapat diartikan menjalankan suatu OS di dalam OS. Dengan virtualisasi kita bisa punya beberapa komputer virtual (virtual machine=VM) sekaligus. Misalnya di Mac saya bisa memasang OS Windows 7 dalam sebuah VM. Saya juga bisa punya beberapa VM berisi Linux, dan aneka macam OS lainnya. Dulu sebelum kenal Virtualbox, bila saya menggunakan sebuah notebook pasti saya pasang 2 OS di dalamnya. Saya perlu menentukan akan boot ke OS Linux atau Windows. Sistem dual boot seperti itu memang lebih powerful karena OS langsung berinteraksi dengan hardware komputer. Akan tetapi memasang beberapa OS dalam satu komputer seperti itu sangat tidak praktis.

Dalam dunia virtulisasi komputer (physical computer) disebut sebagai host sementara semua virtual machine akan disebut sebagai guest. Virtualbox membantu saya untuk melakukan beberapa hal seperti misalnya :

  • mengakses aplikasi yang hanya tersedia di Windows tanpa harus punya komputer/laptop dengan OS Windows.
  • mencoba varian distro Linux baru tanpa perlu melakukan instal ulang atau dual boot.
  • bereksperimen dengan Linux server, Solaris server, dsb.
  • melakukan eksperimen networking (routing, load balancing, firewall) dengan beberapa VM sekaligus.

Bayangkan bila saya tidak punya VM, berapa banyak komputer (komputer dalam arti fisik sebenarnya) yang harus saya miliki untuk melakukan eksperimen-eksperimen tadi. Dengan menggunakan VM, saya jadi bisa melakukan testing yang memerlukan beberapa komputer sekaligus. Selama komputer saya punya kapasitas memori dan kapasitas harddisk yang cukup, saya bisa membuat banyak VM & menjalankannya sekaligus.

Ada beberapa macam aplikasi virtualisasi seperti misalnya :

  • Virtualbox
  • VMware
  • KVM
  • Xen Hypervisor
  • Oracle VM
  • Proxmox

Aplikasi-aplikasi tersebut biasanya dikenal sebagai hypervisor. Hypervisor menurut Wikipedia didefinisikan sebagai berikut :

A hypervisor or virtual machine monitor (VMM) is a piece of computer software, firmware or hardware that creates and runs virtual machines.

Teknologi virtualisasi sendiri dapat digolongkan menjadi 3 macam :

  • Full Virtualization, yang termasuk dalam kategori ini adalah Virtualbox, KVM. Full Virtualization maksudnya adalah komputer host akan melakukan emulasi perangkat keras (hardware) yang digunakan oleh guest. Guest tidak tahu kalau mesin yang digunakannya adalah virtual machine. Full virtualization ini adalah tipe virtualisasi yang paling fleksibel. Kita tidak perlu menggunakan OS dengan kernel khusus. Kita bisa langsung menginstal sistem operasi layaknya kita menginstal OS pada komputer fisik. Kelemahan full virtualization adalah guest tidak bisa mendapat kecepatan akses penuh saat mengakses hardware (misalnya menulis/membaca data dari dalam harddisk atau bertukar data lewat network interface). Lambatnya akses Input/Output ini akibat dari emulasi hardware yang dilakukan oleh host.
  • Paravirtualization (PV), yang termasuk dalam kategori ini contohnya adalah Xen Hypervisor. PV mengatasi kendala yang dimiliki oleh full virtualisation. OS yang dipasang pada VM adalah versi termodifikasi dari sistem operasi (operating system/OS) aslinya. Misalnya, RedHat Linux menyediakan kernel-xen untuk PV guest. Guest VM sadar kalau mesin yang dipakainya adalah virtual machine. Sistem ini memiliki throughtput yang jauh lebih baik daripada full virtualization & boleh dibilang yang paling baik di antara 3 tipe virtualisasi. Sayangnya kita terikat pada pemilihan OS. Guest hanya bisa menggunakan OS yang memang sudah disiapkan untuk berjalan di atas paravirtualized VM.
  • Para-virtualized driver : sistem ini adalah kombinasi dari kedua sistem sebelumnya. OS yang dipasang pada guest adalah OS biasa (native OS). Hanya saja ada tambahan driver khusus yang perlu dipasang di komputer guest. Meskipun Virtualbox termasuk dalam kategori Full virtualization, Virtualbox bisa termasuk juga dalam kategori ini. Virtualbox menyediakan “Virtualbox Guest Addition”. Virtualbox Guest Addition menyediakan driver-driver khusus untuk perangkat seperti network interface, video card, dsb. Sistem ini menawarkan fleksibilitas dalam pemilihan OS sekaligus menawarkan performa I/O yang lebih baik daripada full virtualization.

Menginstal KVM

Tulisan ini akan jadi catatan pribadi saya tentang langkah-langkah menginstal KVM pada CentOS Linux 6.5. KVM adalah teknologi virtualisasi yang terintegrasi dengan kernel Linux. KVM pertama kali diintegrasikan ke dalam kernel linux sejak versi kernel 2.6.20.

Dalam percobaan ini saya menggunakan notebook Fujitsu S6140 dengan spesifikasi seperti berikut ini :

  • CPU Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz
  • 3GB RAM
  • Harddisk 160GB
  • CentOS 6.5 (@base packages)

Untuk bisa menggunakan KVM, komputer host harus memiliki CPU dengan fitur “hardware virtualization extension”. Pada CPU Intel fitur ini dikenal dengan nama vmx (Intel VT Extention). Sementara pada CPU AMD, fitur tadi dikenal dengan nama “svm” (AMD-V Extention).

Notebook Fujitsu yang saya gunakan sudah dilengkapi dengan vmx. Untuk memastikan saya bisa menggunakan perintah berikut ini :

root@centosdev02:~# egrep "svm|vmx" /proc/cpuinfo
flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm ida dts tpr_shadow vnmi flexpriority
flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm ida dts tpr_shadow vnmi flexpriority
root@centosdev02:~# 

Berikut ini adalah langkah-langkah yang perlu dilakukan untuk menyiapkan KVM :

Continue reading

VNC Via SSH Tunnel Dengan Putty

Di tulisan sebelumnya saya menyebut soal penggunaan SSH tunnel untuk mengakses VNC. SSH tunnel dipakai bila VNC Server hanya bisa diakses dari localhost. Bila kita menggunakan SSH dengan command line, tunneling bisa dilakukan dengan menggunakan tambahan opsi -L. Namun bila saya sedang menggunakan Windows, saya hanya punya Putty sebagai SSH client. Tulisan ini adalah contoh bagaimana menggunakan Putty untuk membuat SSH tunnel. Untuk mengakses VNC dari Windows saya menggunakan aplikasi RealVNC. Aplikasi RealVNC dapat diunduh gratis dari websitenya RealVNC.

  1. Sama seperti yang sudah saya contohkan di tulisan sebelumnya, saya tidak bisa langsung mengakses VNC melalui IP publik.

    Saya akan mendapati error “Connection refused” seperti pada gambar di bawah ini :

  2. Saya perlu membuat SSH tunnel terlebih dulu dengan menggunakan Putty. Dengan menggunakan Putty saya akan mengakses IP publik VNC Server (192.168.10.41)

  3. Di sisi kiri Putty ada opsi untuk membuat SSH Tunnel.

  4. Masukkan informasi “Source port” & “Destination” lalu klik tombol Add. Source adalah port Windows, sementara Destination adalah IP loopback VNC Server.

    Ini artinya semua request ke port 5902 Windows akan di-forward ke port 5902 milik VNC Server.

  5. Hasil akhirnya seperti ini :

  6. Lalu kita kembali lagi ke halaman muka Putty (seperti pada gambar poin#2) untuk mulai membuka SSH session ke VNC Server.

  7. Bila kita belum pernah mengakses server ini sebelumnya via SSH, Putty akan menampilkan informasi untuk menerima SSH Key dari remote server. Untuk melanjutkan koneksi kita bisa klik tombol Yes.

  8. Setelah koneksi SSH sukses kita bisa kembali lagi ke aplikasi RealVNC. Hanya saja kali ini saya tidak lagi menggunakan IP publik VNC Server tapi menggunakan IP loopback Windows (127.0.0.1). Jadi seolah-olah saya mengakses IP lokal Windows di port 5902. Padahal yang terjadi adalah VNC akan meneruskan request saya ini melalui SSH ke port 5902 milik VNC Server.

  9. Biasanya akan muncul jendela peringatan unencrypted connection, kali ini kita bisa abaikan saja peringatan ini dengan mengklik tombol Continue.

  10. Saat koneksi ke VNC Server sukses, akan muncul jendela yang meminta kita untuk memasukkan VNC password.

  11. Bila kita memasukkan VNC password yang benar, kita langsung mendapati halaman desktop VNC Servernya. Karena mesin vm01 pada contoh ini menggunakan Gnome Desktop Environment, yang muncul pertama kali ada halaman login Gnome. Setelah login saya segera mendapati desktop mesin vm01.