VNC Server Kullanımı

Bu yazımızda Vnc server ile ekran paylaşımından bahsedeceğim.  Focus HMI operatör panellerinde vnc server bağlantısı default  açık ve şifresiz şekilde ayarlanmıştır.  Bu yüzden herhangi bir değişiklik yapmadan panelimize vnc server aracılığıyla bağlanabiliriz.

Yapmamız gereken ana bilgisayarımızdan Vnc Viever benzeri programları açıp Focus HMI IP’miz ile bağlanmak.

Vnc Viever’i buradan indirebilirsiniz.

Vnc Viever programını açtıktan sonra yapmamız gereken “Enter a VNC Server address or search” kısmına ip adresimizi ve sonuna vnc serverin tanımladığı port numarasını “5900” giriyoruz.

Açılan uyarı kısmına “Continue” tıklayıp pencereyi kapatıyoruz.

Bu işlemlerden sonra Focus HMI panelimize bağlantımız tamamlandı. Vnc server aracılığıyla panelimizi kontrol edebiliriz.

VNC serverinizi şifreli kullanmak istiyorsanız “VNC Server Şifre Oluşturma” yazımızı inceleyebilirsiniz.

VNC Bağlantı Kontrol Scripti

VNC bağlantısında problem oluştuğu zamanlar için projenize VNC’nin tekrar başlatılmasını sağlayan bir script ekleyebilirsiniz.

import java.lang.reflect.Method;
import java.net.*;
import java.io.*;
public class NewScript{
	public static short VncState;
	
	public NewScript(Class Accessing){
		Thread newThread = new Thread(() -> { 
			try{
				if(VncState >= 2){
					VncState = 0;
					Runtime.getRuntime().exec("x11vnc -display :0 -shared -forever"); 
				}else{
					try (Socket socket = new Socket("192.168.0.11", 5900)) {
						VncState = 1;
		               } catch (UnknownHostException ex) {        
		               	VncState = 2; 
		               	Runtime.getRuntime().exec("x11vnc -R stop");                
		               } catch (IOException ex) {        
		               	VncState = 3;             
		               	Runtime.getRuntime().exec("x11vnc -R stop");
		               }  
				}    
				Method setValue = Accessing.getMethod("setValue", String.class, Object.class);		
				setValue.invoke(Accessing, "VncState", VncState);
			}catch(Exception exp){
				javax.swing.JOptionPane.showMessageDialog(null , exp.getMessage());
			}
        	});
        	newThread.start(); 		
	}
}

Yeni bir script oluşturup yukarıdaki kodu kopyalayın. Derleme işlemini yaptıktan sonra scripti kaydederken vereceğiniz isim class ismi olarak kullanılacağı için türkçe karakter kullanmayın. VncTest olarak kaydettim.

Oluşturduğunuz script için ayarlar kısmında script bölümünden nasıl çalışacağı seçimini yapabilirsiniz.

Dakikada bir çalışması için “Her Dakika” kısmında oluşturduğum scripti seçtim.

Leave a Reply