close

NCV

Navigasyona git Aramaya git

VNC , Sanal Hesaplama anlamına gelir .

VNC , bir istemci bilgisayar aracılığıyla sunucu bilgisayarın eylemlerini uzaktan gözlemlemenizi sağlayan istemci-sunucu yapısına dayalı ücretsiz bir yazılım programıdır . VNC, istemcininkine göre sunucu bilgisayarın işletim sistemine kısıtlamalar getirmez: Bir makinenin ekranını, VNC'yi destekleyen herhangi bir işletim sistemiyle başka bir bilgisayardan veya VNC'ye sahip bir cihazdan bağlanarak paylaşmak mümkündür. müşteri.

VNC'nin orijinal versiyonu Birleşik Krallık'ta , özellikle Cambridge'deki AT&T Olivetti Araştırma Laboratuvarı'nda geliştirildi . Program açık kaynak kodluydu , bu yüzden herkes onu değiştirebilirdi ve bugün aynı kullanım için birkaç program var. Bunun birçok modern türevi GPL lisanslı özgür yazılımdır .

Öğretimde VNC, öğretmen tarafından örneğin bir laboratuvarda ekranını öğrencilerle paylaşmak için kullanılır. Bir teknisyenin deneyimsiz bir kullanıcıya yardım etmesi için de kullanılabilir, teknisyen, kullanıcı tarafından bildirilen sorunu uzaktan görüntüler.

Sunucu programı genellikle, paylaşılan ekranı bir java tarayıcısında görüntülemek için bir HTTP sunucusu olarak işlev görme seçeneğine sahiptir. Bu durumda uzak kullanıcının (istemci) bir VNC istemci programı kurması gerekmez, ancak tarayıcı tarafından otomatik olarak indirilir.

VNC platformdan bağımsızdır, bir işletim sisteminden gelen bir VNC istemcisi , aynı işletim sisteminden veya herhangi bir diğerinden bir VNC sunucusuna bağlanabilir. Hem GUI tabanlı birçok işletim sistemi hem de Java için istemciler ve sunucular vardır . Birden fazla istemci aynı anda bir VNC sunucusuna bağlanabilir. Bu teknolojinin popüler kullanımları arasında uzaktan teknik yardım ve ev bilgisayarından iş bilgisayarındaki dosyalara erişim ya da tam tersi yer alır.

VNC'nin, tipik VNC işlevleri dışında belirli işlevler sunan bir dizi varyantı vardır [ 1 ] ; örneğin, bazıları Microsoft Windows için optimize edilmiştir ; diğerlerinin dosya aktarımı vardır (ki bu gerçekten VNC'nin bir parçası değildir), vb. Birçoğu (ek özellikler olmadan) VNC'nin kendisiyle, bir VNC varyantının bir kullanıcısının diğerinin bir sunucusuna bağlanabilmesi anlamında, diğerleri ise VNC kaynak kodunu temel alır ancak VNC.VNC standardı ile uyumlu değildir.

"VNC" terimi ve RFB , RealVNC Ltd.'nin ABD ve diğer ülkelerdeki tescilli ticari markalarıdır . [ 2 ]

Image
Linux altında VNC , KDE üzerinde .

Tarih

VNC, daha sonra Olivetti ve Oracle Corporation'a ait olan Olivetti & Oracle Araştırma Laboratuvarı'nda (ORL [ 3 ] ) oluşturuldu . 1999'da AT&T laboratuvarı satın aldı ve 2002'de araştırma laboratuvarı çalışmalarını kapattı.

Hâlâ AT&T Araştırma Laboratuvarı'ndayken VNC üzerinde çalışan geliştiriciler: [ 4 ]

  • Tristan Richardson (mucit)
  • Andy Harter (proje yöneticisi)
  • Quentin Stafford Fraser
  • James Hava Durumu
  • Andy Hopper

ORL 2002'de kapandıktan sonra, geliştirme ekibinin birkaç üyesi (Richardson, Harter, Weatherall ve Hopper dahil), bu ad altında özgür yazılım ve ticari VNC yazılımı üzerinde çalışmaya devam etmek için RealVNC'yi yarattı.

Orijinal GPL kaynak kodundan VNC'nin birkaç başka sürümü geliştirilmiştir . Bu tür çatallama , RFB protokolü genişletilebilir olacak şekilde tasarlandığından uyumluluk sorunlarına yol açmamıştır. VNC istemcileri ve sunucuları , her iki uçta da desteklenen en uygun seçenekleri kullanmak için el sıkışarak yeteneklerini tartışır.

Etimoloji

"Sanal Ağ Bilgisayarı/Bilgisayar" adı, Olivetti Araştırma Laboratuvarı'nda (ORL), Videotile adlı ve orada geliştirilmekte olan RFB protokolünü de kullanan ince bir istemcide ortaya çıktı. Esasen, kalem girişi ve ağa hızlı bir ATM bağlantısı olan bir LCD ekrandı. O zamanlar, bir ağ bilgisayarı yaygın olarak "ince istemci" ile eşanlamlı olarak kullanılıyordu. VNC, esasen bu bilgisayar ağının yalnızca yazılım (yani sanal) sürümüdür.

İşlem

Bir VNC sistemi bir istemci, bir sunucu ve bir iletişim protokolünden oluşur.

  • VNC sunucusu , bilgisayarınızdaki ekranınızı paylaşan programdır. Sunucu pasif olarak istemcinin kontrolünü ele geçirmesine izin verir.
  • VNC istemcisi (veya görüntüleyici), sunucuyu izleyen, kontrol eden ve sunucuyla etkileşime giren programdır. İstemci sunucuyu kontrol eder.
  • VNC protokolü ( RFB ) çok basittir, sunucudan istemciye bir grafik ilkelini temel alır ("Belirtilen X,Y konumuna bir piksel verisi dikdörtgeni koy", İspanyolca'da "Belirtilen X'e bir piksel verisi dikdörtgeni koy, Y konumu" ) . X,Y belirtilen) ve istemciden sunucuya olay mesajları .

Normal çalışma yönteminde, bir izleyici (izleyici) sunucudaki bir bağlantı noktasına (varsayılan bağlantı noktası 5900) bağlanır. Alternatif olarak, bir tarayıcı sunucuya bağlanabilir (uygulamaya bağlı olarak) (varsayılan bağlantı noktası 5800). Ve bir sunucu 5500 numaralı bağlantı noktasında "dinleme modunda" bir izleyiciye bağlanabilir. Dinleme modunun avantajlarından biri, sunucu sitesinin güvenlik duvarını 5900 numaralı bağlantı noktasında (veya 5800 ) erişime izin verecek şekilde yapılandırmasına gerek olmamasıdır, sorumluluk kendisine aittir. Kullanıcı görüntüleyicinin daha akıllı olması beklenirken, sunucu sitesi bilgisayar okuryazarı değilse yararlı olan görüntüleyici ile.

Sunucu , istemciye çerçeve arabelleğinin küçük dikdörtgenlerini gönderir. En basit biçiminde, VNC protokolü büyük miktarda bant genişliği kullanabilir , bu nedenle iletişim yükünü azaltmak için çeşitli yöntemler geliştirilmiştir. Örneğin, çeşitli kodlamalar vardır (bu dikdörtgenleri aktarmanın en verimli yolunu belirleme yöntemleri). VNC protokolü, istemci ve sunucunun kullanılacak kodlamayı anlaşmasına izin verir. Tüm istemciler ve sunucular tarafından desteklenen en basit kodlama şekli, verilerin soldan sağa tarama çizgisi sırasında pikseller halinde gönderildiği ve orijinal tam ekran iletildikten sonra yalnızca değişen dikdörtgenlerin aktarıldığı ham kodlamadır. Bu kodlama, ekranın yalnızca küçük bir bölümü çerçeveden çerçeveye değişirse (masaüstünde hareket eden bir fare imleci veya imlece yazılan metin gibi) çok iyi çalışır, ancak bant genişliği talepleri artar. pikseller aynı anda değişir, örneğin bir pencerede gezinirken veya tam ekran bir video izlerken.

VNC varsayılan olarak 5900+ N , [ 5 ] ​[ 6 ]​ TCP bağlantı noktasını kullanır ; burada N , ekran numarasıdır (genellikle: fiziksel bir ekran için 0). Çeşitli uygulamalar ayrıca Java uygulaması olarak bir VNC görüntüleyici sağlamak için 5800+ N bağlantı noktasında temel bir HTTP sunucusu başlatır; bu, herhangi bir Java etkin web tarayıcısı aracılığıyla kolay bağlantı sağlar . İstemci ve sunucu bunu yapacak şekilde yapılandırıldığı sürece farklı bağlantı noktası atamaları kullanılabilir.

Kullanıcının her iki uçta da geniş bant bağlantısı varsa, VNC'yi İnternet üzerinden kullanmak iyi sonuç verir. Ancak, gelişmiş NAT , güvenlik duvarı ve ayrıca gelen ve giden bağlantı geçişi için bağlantı noktası iletme gibi yönlendirici yapılandırması gerektirebilir. Bazı kullanıcılar , İnternet kullanımını çok daha kolay hale getirmek için Hamachi gibi Sanal Özel Ağ (VPN) programları gibi anlık özel ağ uygulamalarını kullanmayı seçebilir . Öte yandan, proxy olarak VPN kullanılıyorsa, LAN bağlantısı olarak bir VNC bağlantısı kurulabilir .

VNC sunucusunun çalıştığı makinenin fiziksel bir ekrana sahip olması gerekmediğini unutmayın. Xvnc , X sunucu standardını temel alan Unix VNC sunucusudur . Xvnc uygulamaları için bir X "sunucusu"dur (yani istemci pencerelerini görüntüler) ve uzak VNC kullanıcıları için bir VNC sunucusudur. Uygulamalar Xvnc'de normal bir X ekranıymış gibi görüntülenebilir, ancak fiziksel bir ekran yerine herhangi bir VNC bağlantı görüntüleyicisinde görünecektir [ 7 ] Ayrıca ekranlı bir makine (iş istasyonu veya ağ sunucusu olabilir), klavye ve fare, VNC sunucusunu bir hizmet veya arka plan programı olarak önyüklemek ve çalıştırmak üzere yapılandırılabilir ve ardından ekran, klavye ve fare kaldırılabilir ve makine form dışı bir konumda saklanabilir. -yol ).

Ayrıca, VNC'nin görüntülediği ekran, mutlaka bir kullanıcı tarafından sunucuda görülen ekranla aynı değildir. Birden çok eşzamanlı X11 oturumunu destekleyen Unix/Linux bilgisayarlarda VNC, belirli bir mevcut X11 oturumuna hizmet edecek veya kendi oturumunuzu başlatacak şekilde yapılandırılabilir. Aynı bilgisayardan birden fazla VNC oturumu çalıştırmak da mümkündür. Microsoft Windows'ta sunulan (sağlanan) VNC oturumu her zaman geçerli kullanıcının oturumudur.

VNC, yaygın olarak platformlar arası bir uzak masaüstü sistemi olarak kullanılır. Örneğin, Mac OS X'in Apple Remote Desktop'ı (ve daha yakın zamanda, ' Leopard' - Mac OS X 10.5'te " Mac'ime Dön ", VNC ile arayüz oluşturur ve sunulduğunda, bir Linux kullanıcısının mevcut masaüstüne bağlanır. x11vnc veya TightVNC ile sunuluyorsa ayrı bir X11 oturumuna . Linux'tan TightVNC , VNC seçeneği etkinleştirilmişse Apple Remote Desktop tarafından sunulan bir Mac OS X oturumuna veya Microsoft Windows çalıştıran bir VNC sunucusuna bağlanır .

Kullanım

Öncelikle şu anda kullanılmakta olan veya sanal bir ekran olabilecek bir grafik ekranı paylaşmalıyız. Windows'ta sadece mevcut ekran paylaşılabilir, sanal ekran oluşturulamaz. Gnu/Linux ve Unix tarafından kullanılan grafiksel X sistemi, bir veya daha fazla sanal ekran oluşturmanıza izin verir.

İlk adım, sanal bir ekran oluşturmak ve paylaşmaktır:

vnc sunucusu

Program çalışır ve makinenin adını ve paylaşılan ekran numarasını makine-adı:ekran-numarası olarak görüntüler . Örneğin, alps.domain.org:2 bildiriyorsa, makine alps.domain.org'dur ve ekran numarası 2'dir.

Mevcut ekranı Gnu/Linux veya Unix'te paylaşmak için:

x0rfbserver

Not: x0rfbserver şu anda geliştirme aşamasında değil (projeden vazgeçildi) bunun yerine kullanın:

x11vnc

Veya KDE ortamında şu seçenek de vardır:

krfb

Her iki sunucu programı, ekran paylaşılırken çalışmaya devam etmesi gereken bir grafik pencere görüntüler.

İkinci adımda, uzak kullanıcı bir VNC istemcisi çalıştırır:

vncviewer makine adı:ekran numarası

Yukarıdaki örneğe göre şöyle olacaktır:

vncviewer alps.domain.org:2

Bir öğretim ortamında ve sanal bir ekranla, eğitmenin öğrencilerle aynı ekranı görebilmesi için bir VNC istemcisi de çalıştırması gerekir. Öğrencilerin sanal ekranı görmesini ancak kontrol etmemesini istiyorsanız, şunları kullanmalıdırlar:

vncviewer -viewonly makine adı:ekran numarası

Kullanılabilirlik

  • GNU/Linux : İstemci ve sunucu programları genellikle RPM veya Debian paketleri olarak mevcuttur . Debian ve Ubuntu gibi türevlerde komut
apt-cache arama vnc

ve Red Hat ve Fedora gibi türevlerde komut

yum arama vnc

Not: DNF (Dandified yum), yum'un halefidir. Fedora 18'de tanıtıldı ve Fedora 22'den (RHEL8 ve CentOS8'in yanı sıra) beri varsayılan paket yöneticisidir, bu nedenle bu sürümlerin kullanıcıları için ve daha sonra [ 8 ] komutu önerilir

dnf arama vnc

sunucular gibi VNC ile ilgili mevcut paketleri listeler: vncserver, thinvncserver, rfb, krfb; ve müşteriler: vncviewer, krdc.

vncviewer istemcisi genellikle masaüstü kullanımına yönelik dağıtımlarda varsayılan olarak kurulur. Sunucu programı veya VNC'nin başka bir çeşidi isteniyorsa, bunlar CD'lerden veya bir dağıtımın paket deposundan indirilerek kurulabilir .

Güvenlik

Varsayılan olarak, VNC güvenli bir protokol değildir. Parolalar düz metin olarak gönderilmez ( telnet'te olduğu gibi), ancak hem şifreleme anahtarı hem de şifrelenmiş parola bir ağdan alınırsa parolayı kırma girişimi başarılı olabilir . Bu nedenle en az 8 karakterlik bir şifre kullanılması tavsiye edilir. Öte yandan, VNC'nin bazı sürümlerinde de 8 karakter sınırı vardır; 8 karakterden uzun bir şifre gönderilirse, fazla karakterler kaldırılır ve kesilen dize şifre ile karşılaştırılır.

Bununla birlikte, VNC, daha güçlü şifreleme ile ekstra bir güvenlik katmanı ekleyen bir SSH veya VPN bağlantısı üzerinden tünellenebilir. SSH İstemcileri tüm büyük platformlar (ve ayrıca birçok küçük platform için) için mevcuttur; SSH tünelleri, UNIX istemcilerinden , Microsoft Windows istemcilerinden , Macintosh istemcilerinden ( Mac OS X ve System 7 ve sonrası dahil) - ve diğerlerinden oluşturulabilir. Bilgisayarlar arasında anında VPN tünelleri oluşturan ücretsiz uygulamalar vardır .

UltraVNC , parola doğrulama ve veri aktarımı dahil olmak üzere tüm VNC oturumunu şifreleyen açık kaynaklı bir eklentinin kullanımını destekler . Ayrıca kimlik doğrulamanın NTLM ve Active Directory kullanıcı hesapları temelinde gerçekleştirilmesine olanak tanır . Ancak, bu tür şifreleme eklentilerinin kullanılması, onu diğer VNC programlarıyla uyumsuz hale getirir. RealVNC , ticari paketinin bir parçası olarak yüksek düzeyde şifreleme sunar. Workspot , AES şifreleme VNC için yamalar yayınladı .

Sınırlamalar

Unicode, VNC 3.x ve altı sürümleri tarafından desteklenmez, bu nedenle pano metnini Latin-1 karakter kümesinin dışına aktarmak imkansızdır .

VNC protokolü piksellere dayalıdır. Bu, büyük bir esnekliğe yol açsa da (yani her tür masaüstü görüntülenebilir), genellikle X11 veya Windows Uzak Masaüstü Protokolü gibi grafik arka plan düzenini daha iyi anlayan çözümlerden daha az verimlidir . Bu protokoller, daha basit bir biçimde (örneğin, "pencere aç", "pencere aç") grafiksel temel öğeler veya daha yüksek düzeyli komutlar gönderirken, RFB yalnızca ham piksel verilerini gönderir .

Referanslar

  1. VNC uzaktan kumanda uygulamaları ailesi: VNC çeşitlerinin bir listesi
  2. http://www.realvnc.com/trademarks.html
  3. ^ "VNC Sıkça Sorulan Sorular (SSS)" . 1999. 15 Ağustos 2000 tarihinde kaynağından arşivlendi . 
  4. RealVNC Yönetici Profilleri
  5. ^ "RealVNC - Sıkça sorulan sorular" . 
  6. ^ "UltraVnc Yapılandırması" . 3 Temmuz 2011 tarihinde kaynağından arşivlendi . 26 Haziran 2011'de alındı . 
  7. AT&T Laboratories Cambridge (1999). "X tabanlı VNC sunucusu" . Sanal Ağ Hesaplama . 19 Mart 2007 tarihinde kaynağından arşivlendi . Erişim tarihi: 24 Mart 2007 . 
  8. ^ "DNF - Fedora Projesi Wiki" . fedoraproject.org . 26 Mart 2020'de alındı . 

Ayrıca

VNC'nin çeşitleri:

Dış bağlantılar