Mengendalikan komputer dari jarak jauh terdengar seperti satu pekerjaan tunggal. Kenyataannya ada dua pendekatan yang sangat berbeda di baliknya. Pendekatan pertama mengirim perintah menggambar: komputer tujuan diminta menyusun sendiri jendela, tombol, dan huruf di layarnya. Pendekatan kedua jauh lebih polos — kirim saja gambar layarnya apa adanya, berulang kali, seperti siaran foto beruntun.

VNC adalah nama untuk pendekatan kedua itu. Hampir seluruh sifatnya berakar dari satu keputusan sederhana tersebut, mulai dari kemampuannya bekerja lintas sistem operasi sampai keamanan bawaannya yang lemah.

Apa Itu VNC dan Kepanjangannya

VNC adalah sistem berbagi layar yang memungkinkan Anda melihat dan mengendalikan komputer lain lewat jaringan, seolah-olah Anda sedang duduk di depannya. Kepanjangan VNC adalah Virtual Network Computing.

Di baliknya bekerja sebuah protokol bernama RFB (Remote Frame Buffer). Nama protokol itu sudah menjelaskan isinya. Framebuffer adalah area memori yang menyimpan gambar mentah dari apa yang sedang tampil di layar, piksel demi piksel. RFB adalah aturan untuk mengirimkan isi area memori tersebut ke komputer lain. Protokol ini didokumentasikan secara terbuka sebagai RFC 6143 pada Maret 2011, ditulis oleh Tristan Richardson dan John Levine.

Asal-usulnya bisa ditelusuri ke Olivetti & Oracle Research Lab di Cambridge, Inggris. AT&T mengakuisisi laboratorium itu pada 1999, lalu menutup kegiatan risetnya pada 2002. Sebagian anggota tim kemudian mendirikan RealVNC untuk melanjutkan pengembangannya.

Perbedaan mendasar VNC dari kebanyakan teknologi sejenis terletak di sini: VNC tidak mengirim perintah "gambar tombol di koordinat ini". VNC mengirim hasil akhirnya berupa piksel. Komputer penerima tidak perlu tahu apa pun soal sistem operasi di seberang sana.

Dua cara remote desktop: kiri Mengirim Perintah lewat dokumen instruksi, kanan Mengirim Piksel seperti VNC.Dua cara remote desktop: kiri Mengirim Perintah lewat dokumen instruksi, kanan Mengirim Piksel seperti VNC.

Cara Kerja VNC: Mengirim Piksel, Bukan Perintah Grafis

Sebuah koneksi VNC melewati tiga fase berurutan sebelum layar muncul.

Fase pertama adalah handshaking. Kedua sisi menyepakati versi protokol RFB yang dipakai, lalu memilih tipe keamanan untuk autentikasi. Fase kedua adalah initialization. Server memberi tahu ukuran layar, format piksel, dan nama desktop kepada klien. Barulah masuk fase ketiga, yang berlangsung selama koneksi hidup.

Di fase ketiga, alurnya berulang terus-menerus. Klien mengirim permintaan pembaruan layar, server membalas dengan potongan layar yang berubah, dan klien mengirimkan balik gerakan mouse serta ketikan keyboard Anda.

Urutan koneksi VNC: viewer dan server sepakati versi RFB, tukar ukuran layar, lalu berulang minta dan kirim piksel.Urutan koneksi VNC: viewer dan server sepakati versi RFB, tukar ukuran layar, lalu berulang minta dan kirim piksel.

Perhatikan kata "yang berubah" pada langkah terakhir. Mengirim seluruh layar setiap kali akan sangat boros. Karena itu RFB mengenal beberapa metode pemadatan yang disebut encoding. Masing-masing punya nomor identitas sendiri: Raw (0), CopyRect (1), RRE (2), Hextile (5), TRLE (15), dan ZRLE (16).

CopyRect adalah contoh paling mudah dipahami. Saat Anda menggeser sebuah jendela ke sisi lain layar, isi jendela itu sama sekali tidak berubah — yang berubah hanya letaknya. Alih-alih mengirim ulang seluruh gambar jendela, server cukup berkata "ambil kotak yang sudah ada di posisi A, pindahkan ke posisi B". Beberapa byte menggantikan puluhan kilobyte.

Encoding yang dipakai dinegosiasikan antara klien dan server. Kalau keduanya sama-sama mendukung ZRLE atau Tight, koneksi akan terasa jauh lebih ringan dibanding Raw yang mengirim piksel tanpa pemadatan sama sekali.

VNC Server dan VNC Viewer: Dua Sisi Koneksi

Kebingungan paling umum saat pertama kali memakai VNC adalah menentukan perangkat lunak mana yang dipasang di mana. Pembagiannya sebenarnya tegas.

VNC server adalah perangkat lunak yang dipasang di komputer yang ingin dilihat. Tugasnya membaca isi framebuffer, memadatkannya, lalu menunggu koneksi masuk. VNC viewer adalah perangkat lunak yang dipasang di komputer yang melihat. Tugasnya menampilkan piksel yang datang dan meneruskan gerakan mouse serta ketikan Anda ke seberang.

Jadi kalau Anda ingin mengakses komputer kantor dari rumah, VNC server dipasang di komputer kantor, dan VNC viewer dipasang di komputer rumah — bukan sebaliknya.

Karena protokolnya terbuka, banyak pihak membuat implementasinya sendiri. Beberapa aplikasi VNC remote desktop yang paling sering Anda temui:

  1. RealVNC Connect: dikembangkan oleh tim asli pencipta VNC, tersedia versi berbayar dengan enkripsi modern dan versi gratis terbatas.
  2. TightVNC: dikenal karena encoding Tight yang hemat bandwidth, populer di Windows.
  3. UltraVNC: banyak dipakai untuk dukungan teknis di lingkungan Windows karena fitur tambahannya.
  4. TigerVNC: turunan dari TightVNC yang lama menjadi pilihan bawaan di distribusi Linux berbasis Red Hat.
  5. x11vnc: menampilkan sesi X yang sudah berjalan di Linux, bukan membuat sesi baru.

Ada satu mode yang sering terlewat, yaitu listening mode. Pada mode ini peran koneksi dibalik: viewer yang menunggu, dan server yang menghubungi viewer. Cara ini berguna saat komputer yang perlu dibantu berada di balik jaringan yang tidak bisa dihubungi dari luar.

Port 5900 dan Aturan Nomor Display

Port bawaan VNC adalah TCP 5900, dan dalam dokumentasi berbahasa Inggris angka ini disebut VNC port. Namun angka itu hanya berlaku untuk display pertama. Aturan sesungguhnya adalah 5900 ditambah nomor display.

Nomor displayPort yang dipakai
:05900
:15901
:25902
:35903

Pola ini bukan kebetulan. RFB meniru konvensi X Window System di Linux, yang memakai pola 6000 ditambah nomor display. Konsekuensinya praktis: satu server bisa menjalankan beberapa sesi VNC sekaligus untuk pengguna berbeda, masing-masing di port sendiri.

Dua nomor port lain juga perlu Anda kenali. Port 5800 ditambah nomor display dipakai sebagian implementasi untuk menyajikan klien Java lewat browser, meski cara ini sudah lama ditinggalkan. Port 5500 dipakai oleh viewer yang sedang menunggu dalam listening mode seperti dijelaskan sebelumnya.

Nomor display yang salah adalah penyebab paling sering koneksi VNC gagal padahal servernya berjalan normal. Kalau server dijalankan di :1, menghubungi port 5900 tidak akan menghasilkan apa-apa.

Fungsi VNC dan Di Mana Ia Masih Dipakai Hari Ini

Fungsi VNC adalah memberi akses visual penuh ke sebuah komputer tanpa harus berada di depannya. Dalam praktik, pemakaiannya terbagi ke beberapa kelompok yang cukup berbeda karakternya.

Yang paling klasik adalah dukungan teknis jarak jauh dan akses ke komputer kerja. Kelompok berikutnya adalah perangkat tanpa monitor, seperti Raspberry Pi atau mesin di rak laboratorium, yang perlu diakses tampilan grafisnya sesekali.

Namun ada pergeseran menarik yang layak Anda ketahui. Di sisi desktop Linux, posisi VNC justru sedang menyusut. Oracle Linux 9 secara resmi menandai TigerVNC sebagai deprecated dengan catatan bahwa solusi remote desktop di masa depan kemungkinan akan memakai RDP. Di lingkungan GNOME, jalur bawaan untuk berbagi layar juga sudah bergeser ke RDP, dan sejumlah distribusi mengirimkan paket remote desktop-nya tanpa dukungan VNC sama sekali.

Di sisi lain, pemakaian VNC di dunia virtualisasi justru semakin mengakar. Kalau Anda pernah membuka konsol web sebuah mesin virtual di panel Proxmox atau penyedia cloud, Anda sedang memakai VNC tanpa menyadarinya. Teknologi di baliknya bernama noVNC, sebuah klien VNC yang ditulis dengan HTML5 dan berjalan langsung di browser.

Arsitekturnya membutuhkan satu komponen tambahan. VNC server bawaan QEMU tidak berbicara WebSocket, sementara browser hanya bisa membuka koneksi WebSocket. Karena itu dipasang proxy di antara keduanya.

Alur konsol web mesin virtual: browser lewat WebSocket ke proxy, proxy ke VNC server QEMU, lalu ke layar mesin virtual.Alur konsol web mesin virtual: browser lewat WebSocket ke proxy, proxy ke VNC server QEMU, lalu ke layar mesin virtual.

Inilah yang membuat VNC tetap relevan bagi pemilik server. Saat konfigurasi jaringan salah atau layanan SSH mati, konsol VNC menjadi satu-satunya jalan masuk yang tersisa. Pengguna VPS berbasis KVM mendapatkan akses ini secara bawaan, dan fungsinya persis seperti menancapkan monitor ke server fisik. Di layanan VPS Indonesia, konsol semacam ini yang Anda pakai ketika server tidak bisa dihubungi lewat jalur normal.

Kelebihan VNC

Kelebihan VNC bukan daftar fitur yang berdiri sendiri. Semuanya adalah akibat langsung dari keputusan mengirim piksel.

  1. Bekerja lintas sistem operasi: karena yang dikirim hanya gambar, server di Linux bisa dilihat dari viewer di Windows, macOS, atau Android tanpa penyesuaian apa pun.
  2. Menampilkan sesi yang benar-benar sedang berjalan: VNC membaca layar fisik apa adanya. Anda melihat persis apa yang dilihat orang yang duduk di depan komputer itu, termasuk pesan error yang sedang tampil.
  3. Bisa melihat sistem yang belum siap: karena tidak bergantung pada sesi desktop pengguna, konsol VNC di lingkungan virtual mampu menampilkan proses booting, menu bootloader, sampai layar kegagalan sistem.
  4. Terbuka dan banyak pilihan: protokolnya berstandar publik, sehingga tersedia banyak implementasi gratis dan sumber terbuka untuk hampir semua platform.
  5. Ringan di sisi server: server VNC tidak perlu membuat sesi desktop baru saat menumpang layar yang sudah ada, sehingga beban tambahannya kecil.

Kelemahan dan Risiko Keamanan VNC

Prinsip yang sama juga melahirkan keterbatasannya, dan bagian ini perlu Anda pertimbangkan serius sebelum memakai VNC.

Kelemahan pertama adalah konsumsi bandwidth. Mengirim gambar selalu lebih berat daripada mengirim perintah menggambar. Pada koneksi lambat, gerakan mouse akan terasa tertinggal dan pemutaran video praktis tidak nyaman. Beban ini tumbuh mengikuti luas layar, sehingga desktop 4K atau susunan beberapa monitor sekaligus menuntut jauh lebih banyak data daripada satu layar 1080p. Encoding membantu, tetapi tidak menghapus sifat dasarnya.

Kelemahan kedua, cakupan protokol dasarnya sempit. RFB mengurus layar, masukan, dan satu hal lagi yang sering terlewat: penyalinan teks. Pesan ClientCutText dan ServerCutText menyalurkan isi papan klip antara kedua sisi, tetapi terbatas pada teks berkarakter Latin-1 — bukan berkas, bukan gambar. Di luar itu, transfer berkas, suara, dan pengalihan printer memang tidak ada di dalam standarnya. Fitur semacam itu adalah tambahan dari masing-masing implementasi, sehingga belum tentu tersedia saat viewer dan server berbeda merek.

Kelemahan ketiga adalah yang paling perlu diwaspadai: keamanan bawaan RFB sangat terbatas. Standarnya mendefinisikan tipe keamanan None (1) yang berarti tidak ada autentikasi sama sekali. Tipe berikutnya, VNC Authentication (2), memakai DES dengan kunci yang diambil dari password yang dipotong ke delapan karakter. Artinya, menetapkan password sepanjang dua puluh karakter tidak menambah keamanan apa pun — dua belas karakter terakhir dibuang begitu saja.

Akibatnya terlihat nyata di lapangan. Riset Cyble yang diberitakan The Register pada Agustus 2022 menemukan lebih dari 8.000 endpoint VNC menghadap internet yang bisa diakses tanpa password sama sekali. Selama periode pemantauan 9 Juli sampai 9 Agustus 2022, tercatat lebih dari enam juta upaya memindai layanan VNC yang berjalan. Sebagian sistem yang terbuka bukan komputer biasa, melainkan panel HMI dan SCADA yang mengendalikan proses industri.

Pola ini mengingatkan pada Telnet, protokol lawas yang ditinggalkan bukan karena salah konfigurasi, melainkan karena keamanannya lemah sejak rancangannya. Password sependek delapan karakter juga membuat percobaan brute force jauh lebih murah bagi penyerang.

VNC, RDP, atau VPN: Tiga Hal yang Sering Tertukar

Ketiganya sering disebut bersamaan padahal pekerjaannya berbeda. Perbedaan paling jelas terletak pada apa yang sebenarnya dikirim melintasi jaringan.

VNC mengirim piksel dan menumpang sesi yang sedang berjalan di layar fisik. RDP mengirim perintah menggambar dan umumnya membuat sesi desktop baru untuk Anda, terpisah dari layar fisik. Karena yang dikirim instruksi dan bukan gambar, RDP jauh lebih hemat bandwidth dan terasa lebih responsif di Windows.

VPN sama sekali bukan alat remote desktop. VPN membangun jalur terenkripsi menuju sebuah jaringan, sehingga komputer Anda seolah berada di dalam jaringan tersebut. VPN tidak menampilkan layar siapa pun. Justru keduanya sering dipakai bersamaan: VPN sebagai jalur amannya, VNC atau RDP sebagai alat melihat layarnya.

Yang dikirim lewat jaringan: VNC mengirim piksel layar, RDP perintah menggambar, VPN jalur terenkripsi bukan layar.Yang dikirim lewat jaringan: VNC mengirim piksel layar, RDP perintah menggambar, VPN jalur terenkripsi bukan layar.

Panduan memilih yang cukup praktis:

  • Pilih RDP kalau pekerjaan harian Anda mengelola komputer atau server Windows.
  • Pilih VNC kalau lingkungannya bercampur, atau kalau Anda perlu melihat layar fisik apa adanya — misalnya server yang macet saat booting.
  • Pilih VPN kalau yang Anda butuhkan akses ke sumber daya jaringan, bukan ke tampilan layar.

Cara Mengamankan Akses VNC

Karena keamanan bawaannya tidak memadai, pengamanan VNC harus dilakukan dari luar protokol. Berikut praktik yang konkret.

  1. Jangan pernah membuka port 5900 langsung ke internet: ini penyebab tunggal dari ribuan sistem terbuka yang ditemukan riset di atas. Batasi agar port VNC hanya bisa dihubungi dari dalam jaringan lokal.
  2. Bungkus koneksi lewat SSH tunnel: SSH akan mengenkripsi seluruh lalu lintas VNC dan meneruskannya ke port lokal Anda. Ini cara paling murah dan paling banyak dipakai.
  3. Atau lewatkan melalui VPN: pilihan yang lebih rapi kalau ada banyak pengguna dan banyak server yang perlu diakses.
  4. Kunci akses per alamat IP di firewall: izinkan hanya alamat kantor atau alamat statis Anda, bukan seluruh dunia.
  5. Pakai implementasi dengan enkripsi modern: VNC Authentication bawaan tidak cukup. Sebagian implementasi menyediakan lapisan enkripsi sendiri di atas RFB — aktifkan kalau tersedia.
  6. Perbarui server VNC yang berumur: masih banyak server berjalan dengan versi yang dirilis belasan tahun lalu, lengkap dengan kerentanan yang sudah lama diketahui publik.
  7. Jangan berharap autentikasi dua faktor dari VNC sendiri: RFB tidak mengenalnya. Kalau Anda membutuhkan lapisan kedua, letakkan di jalur yang membungkusnya — SSH dengan kunci, atau VPN yang sudah memakai dua faktor.

Anggap password VNC sebagai lapisan terakhir, bukan lapisan pertama. Dengan batas delapan karakter, password saja tidak pernah cukup untuk melindungi layanan yang menghadap internet.

Masalah yang Sering Muncul dan Penyebabnya

Beberapa kendala VNC muncul begitu berulang sehingga polanya layak dikenali. Hampir semuanya kembali ke prinsip yang sama: VNC hanya meneruskan isi framebuffer, dan tidak bisa menampilkan apa yang memang tidak ada di sana.

  1. Layar hitam atau abu-abu, hanya ada kursor: keluhan paling sering di Linux, dan penyebabnya bukan koneksi. Berkas ~/.vnc/xstartup tidak menjalankan lingkungan desktop, sehingga sesi berhasil dibuat tetapi tidak ada yang menggambar apa pun ke dalamnya. Yang dikirim memang layar kosong. Perbaikannya menambahkan perintah desktop yang Anda pakai ke dalam xstartup, misalnya exec startxfce4 untuk XFCE.
  2. Connection refused, di Windows muncul sebagai kode 10061: tidak ada yang mendengarkan di port yang Anda hubungi. Dua sebab paling umum adalah layanan VNC yang belum berjalan, dan nomor display yang keliru — Anda menghubungi 5900 padahal server ada di 5901. Kalau keduanya sudah benar, periksa firewall.
  3. "Too many security failures": server memutus koneksi dan memblokir sementara setelah beberapa kali autentikasi gagal. Ini perilaku perlindungan bawaan, bukan kerusakan. Tunggu beberapa menit, atau mulai ulang layanan VNC di server.
  4. "No security types supported": kedua sisi tidak menemukan tipe keamanan yang sama-sama didukung. Ini sering muncul saat server memakai enkripsi khas satu vendor sementara viewer Anda berasal dari implementasi lain. Pakai viewer dari implementasi yang sama dengan servernya.

Satu masalah lagi layak dibahas terpisah karena penyebabnya struktural, bukan salah konfigurasi. Di desktop Linux yang sudah memakai Wayland, server VNC gaya lama seperti x11vnc tidak melihat apa pun. Wayland sengaja tidak mengizinkan sembarang aplikasi membaca isi layar, berbeda dari X11 yang membiarkannya. Penangkapan layar harus melewati portal yang meminta persetujuan Anda lebih dulu, lalu dialirkan sebagai stream PipeWire.

Jalan keluarnya sudah tersedia. TigerVNC 1.16.0, yang dirilis 27 Januari 2026, menambahkan server baru bernama w0vncserver khusus untuk berbagi desktop Wayland. Alternatifnya memakai layanan remote desktop bawaan lingkungan desktop Anda, yang di GNOME sudah terhubung ke PipeWire sejak awal.

Pertanyaan Seputar VNC

VNC digunakan untuk apa? VNC digunakan untuk melihat dan mengendalikan layar komputer lain lewat jaringan. Pemakaian paling umum meliputi dukungan teknis jarak jauh dan mengakses komputer kerja dari lokasi berbeda. Selain itu, VNC dipakai untuk mengelola perangkat tanpa monitor seperti Raspberry Pi, dan membuka konsol mesin virtual di panel penyedia server.

Singkatan VNC? VNC adalah singkatan dari Virtual Network Computing. Protokol yang bekerja di baliknya bernama RFB, kependekan dari Remote Frame Buffer.

Apakah VNC sama dengan VPN? Tidak, keduanya berbeda pekerjaan meski namanya mirip. VNC menampilkan layar komputer lain di layar Anda. VPN membuat jalur terenkripsi ke sebuah jaringan tanpa menampilkan layar apa pun. Keduanya justru sering dipakai berdampingan, dengan VPN sebagai jalur aman untuk koneksi VNC.

VNC Viewer untuk apa? VNC viewer adalah sisi klien yang dipasang di komputer yang Anda pakai untuk melihat. Aplikasi ini menerima piksel dari server, menampilkannya di jendela, lalu mengirimkan balik gerakan mouse dan ketikan keyboard Anda ke komputer tujuan.

Kesimpulan

VNC adalah sistem berbagi layar berbasis protokol RFB yang bekerja dengan mengirimkan piksel, bukan perintah grafis. Keputusan desain tunggal itu menjelaskan hampir semuanya. Dari sana lahir kemampuannya bekerja lintas sistem operasi, konsumsi bandwidth yang besar, dan kemampuannya menampilkan layar fisik apa adanya bahkan saat sistem gagal booting. Dari sana pula lahir keamanan bawaannya yang terbatas pada password delapan karakter.

Pilih VNC saat lingkungan Anda bercampur sistem operasi atau saat Anda perlu melihat kondisi layar sesungguhnya, dan pertimbangkan RDP saat pekerjaan harian Anda berkutat di Windows. Apa pun pilihannya, satu hal tidak bisa ditawar: jangan pernah membiarkan port VNC menghadap langsung ke internet.

Semoga artikel ini membantu.