Bir Ubuntu sunucuya uzaktan erişirken yalnızca komut satırıyla sınırlı kalmak zorunda değilsin. VNC kullanarak sunucuya tam bir grafik masaüstü ortamı ile bağlanmak mümkündür.
VNC Nedir ve SSH’ten Farkı Nedir?
VNC, uzak bir sistemin masaüstünü ağ üzerinden aktararak kontrol etmeye yarayan bir uzaktan erişim yöntemidir. SSH sadece terminal erişimi sağlarken, VNC grafik arayüzle tüm masaüstünü kullanımına sunar. Güvenli bağlantı için SSH, ekran erişimi için ise VNC birlikte tercih edilir.
VNC İçin Neden XFCE Kullanılır?
Uzak masaüstü bağlantılarında düşük kaynak tüketimi büyük önem taşır. XFCE, hafif yapısı sayesinde sistem kaynaklarını yormaz ve VNC üzerinden daha akıcı bir kullanım sunar.

Ubuntu Üzerinde XFCE Masaüstü Kurulumu
Kuruluma başlamadan önce sistem paketlerini güncelleyelim. Ardından XFCE masaüstü ortamını ve temel bileşenlerini yükleyerek grafik masaüstü yapısını hazır hale getirelim.
sudo apt update
sudo apt install xfce4 xfce4-goodies -yVNC Erişim Şifresi Oluşturma
VNC oturumuna bağlanırken istemciden bir şifre istenir. Bu şifreyi oluşturmak için bunu kullanalım.
vncpasswdVNC şifresi oluşturulduktan sonra sunucu artık bağlantı kabul eder. Ancak yanlış yapılandırma yapılırsa bağlantı sonrası siyah ekran problemi ortaya çıkabilir.
XFCE İçin VNC Xstartup Dosyasını Düzenleyelim
VNC sunucusu açıldığında hangi masaüstünün yükleneceğini ~/.vnc/xstartup dosyası belirler. XFCE’nin hatasız açılması için bu dosya yapılandırılmalıdır. Dosyayı düzenlemeden önce açık olan VNC oturumlarının kapatılması gerekir.
vncserver -kill :1Mevcut xstartup dosyasını yedekleyelim
mv ~/.vnc/xstartup ~/.vnc/xstartup.bakYeni dosyayı oluşturalım
nano ~/.vnc/xstartupİçeriğe şunları ekleyelim
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &VNC Sunucusunu Başlatma ve Port Yapısı
Artık VNC sunucusunu başlatabiliriz
vncserverÖrnek bir çıktı şöyle olur
New 'X' desktop is yourhostname:1Bu çıktıdaki :1 ekran numarasıdır. VNC tarafında port hesaplaması şöyle yapılır:
:1→ 5901:2→ 5902:3→ 5903
Yani :1 için VNC portu:
5901İlk kurulumda hızlı test etmek için bu şekilde doğrudan VNC Viewer ile bağlanabilirsiniz.
VNC Trafiğini SSH Tüneli ile Koruma
VNC portlarını firewall üzerinden açmak yerine SSH tüneli kullanmak çok daha güvenlidir. Bu yöntemle tüm bağlantı şifrelenir ve VNC servisi yalnızca yerel bağlantılara izin verir. Güvenli tünel şu komutla oluşturulur.
ssh -L 59000:localhost:5901 -C -N -l KULLANICI_ADI SUNUCU_IP
VNC’yi Systemd ile Otomatik Başlatma
Sunucu her yeniden başlatıldığında VNC’yi manuel çalıştırmamak için systemd servisi oluşturulur.
Servis dosyasını oluşturalım
sudo nano /etc/systemd/system/vncserver@.serviceİçeriği şu şekilde düzenleyelim
[Unit]
Description=Start VNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy
PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.targetSystemd’yi yenileyelim
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1Varsa eski oturumu kapatalım.
vncserver -kill :1Servisi başlatalım ve kontrol edelim
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1Sunucu reboot edildiğinde VNC systemd sayesinde otomatik olarak çalışır. Kullanıcı yalnızca SSH bağlantısını kurar, ardından kendi bilgisayarından SSH tünelini açarak VNC istemcisi ile localhost:59000 adresine bağlanır.
Eğer Linux kullanıyorsan, SSH bağlantını kolaylaştırmak için daha önce anlattığımız Linux Sistemlerde Termius Kurulumu ve İlk Bağlantı rehberinden istemci tarafını hızlıca kurabilirsin.
Ayrıca sanallaştırma tarafında doğrudan fiziksel erişim yerine yönetim yapıyorsan,
aşağıdaki içeriğimiz üzerinden ESXi tarafında SSH erişimini güvenli şekilde aktif edebilirsin.