Ubuntu Uzak Masaüstü (GUI)
Ubuntu Server varsayılan olarak grafiksel bir arayüz içermez. Ancak bir grafiksel arayüz kurabilir ve VNC veya RDP kullanarak uzaktan bağlanabilirsiniz. Bu kılavuz her iki yöntemi de kapsamaktadır.
5901 (VNC) veya 3389 (RDP) bağlantı noktalarını doğrudan internete açmayın. Bağlantıyı güvenli hale getirmek için bir SSH tüneli, WireGuard veya başka bir VPN çözümü kullanın. Bu bağlantı noktalarını güvenlik duvarı üzerinden açmanız gerekiyorsa, erişimi yalnızca güvenilir IP aralıklarıyla sınırlandırın.
Çoğu üretim Ubuntu sunucusu için önerilen kombinasyon şudur: Xfce masaüstü ortamı, uzaktan erişim için xrdp ve güvenli bağlantı için WireGuard veya bir SSH tüneli.
Gerekenler
- Ubuntu sunucusu (20.04 / 22.04 / 24.04)
- Root veya sudo erişimi
- Bağlantı kurmak için bir istemci bilgisayar (Windows veya macOS)
Masaüstü ortamını kurma
Paket listesini güncelleyin:
apt update && apt upgrade -y
Minimal GNOME masaüstünü kurun:
apt install ubuntu-desktop-minimal -y
Üretim sunucuları için genellikle Xfce önerilir; daha az kaynak kullanır ve VNC ile xrdp üzerinden daha güvenilir çalışır:
apt install xfce4 xfce4-goodies -y
Kurulum tamamlandıktan sonra varsayılan önyükleme hedefini grafiksel moda ayarlayın ve sunucuyu yeniden başlatın:
systemctl set-default graphical.target reboot
systemctl set-default graphical.target komutu, varsayılan önyükleme modunu kalıcı olarak değiştirir ve grafiksel ortamın her yeniden başlatmadan sonra otomatik olarak başlamasını sağlar. Yalnızca uzaktan masaüstü erişimine ihtiyaç duyduğunuz başsız bir sunucuda bu adımı atlayabilir ve yalnızca yeniden başlatabilirsiniz.
Seçenek 1. VNC ile bağlanma
VNC (Virtual Network Computing), masaüstünü uzaktan görüntülemenize ve kontrol etmenize olanak tanır. Bu bölümde TigerVNC kullanılmaktadır.
TigerVNC sunucusunu kurma
apt install tigervnc-standalone-server tigervnc-common -y
VNC kullanıcısı oluşturma
VNC'yi root olmayan bir kullanıcıyla çalıştırın. Henüz böyle bir kullanıcı yoksa oluşturun:
adduser vncuser
VNC kullanıcısını sudo grubuna eklemeyin. Bir saldırgan VNC oturumuna erişim sağlarsa, sudo erişimi sunucu üzerinde tam kontrol elde etmesine olanak tanır.
Bu kullanıcıya geçin:
su - vncuser
VNC parolası belirleme
vncpasswd
Bir parola girin ve onaylayın. "Would you like to enter a view-only password?" sorulduğunda n girin.
VNC bir Xorg arka ucuna ihtiyaç duyar. Ubuntu 24.04'te GNOME varsayılan olarak Wayland üzerinde çalışır. GNOME ile VNC kullanmayı planlıyorsanız, aşağıdaki xrdp bölümünde açıklandığı şekilde önce Wayland'ı devre dışı bırakın (/etc/gdm3/custom.conf dosyasında WaylandEnable=false). Aksi takdirde siyah bir ekranla karşılaşabilirsiniz.
Ubuntu 24.04'te dbus-launch varsayılan olarak kurulu olmayabilir. VNC oturumunu başlatırken "command not found" hatası alırsanız, önce şu paketi kurun: apt install dbus-x11 -y
VNC oturumunu yapılandırma
Yapılandırma dizinini ve başlangıç dosyasını oluşturun:
mkdir -p ~/.vnc nano ~/.vnc/xstartup
Aşağıdakileri yapıştırın:
#!/bin/bash export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR exec dbus-launch --exit-with-session gnome-session --session=ubuntu
GNOME yerine Xfce kurduysanız son satırı exec startxfce4 olarak değiştirin.
Dosyayı çalıştırılabilir hale getirin:
chmod +x ~/.vnc/xstartup
VNC sunucusunu başlatma
vncserver :1 -geometry 1920x1080 -depth 24
Bu komut :1 ekranında (5901 bağlantı noktası) bir VNC oturumu başlatır. :2 ekranı 5902 bağlantı noktasını, vb. kullanır.
Sunucuyu durdurmak için:
vncserver -kill :1
Güvenlik duvarı bağlantı noktasını açma
ufw allow 5901/tcp
Mümkünse tüm kaynaklara izin vermek yerine erişimi belirli bir IP aralığıyla sınırlandırın: ufw allow from 192.168.1.0/24 to any port 5901 proto tcp
Windows üzerinden bağlanma
TightVNC veya RealVNC Viewer'ı indirin ve kurun.
İstemciyi açın ve şunu girin: your-server-ip:5901
[IMAGE: vnc-connect-address.png — sunucu adresinin girildiği RealVNC Viewer]
İstendiğinde VNC parolasını girin. Bağlantı kurulduğunda uzak masaüstünü göreceksiniz:
[IMAGE: vnc-xfce-desktop.png — VNC üzerinden görüntülenen uzak masaüstü]
macOS üzerinden bağlanma
macOS yerleşik bir VNC istemcisi içerir. Finder'ı açın, Cmd+K tuşlarına basın ve şunu girin:
vnc://your-server-ip:5901
İstendiğinde parolayı girin.
VNC trafiği varsayılan olarak şifrelenmez. Bağlantıyı SSH üzerinden tünelleyin: ssh -L 5901:localhost:5901 user@your-server-ip komutunu çalıştırın ve ardından VNC istemcinizden localhost:5901 adresine bağlanın.
Seçenek 2. RDP ile bağlanma
RDP (Remote Desktop Protocol), Windows Uzak Masaüstü tarafından kullanılan standart protokoldür. Ubuntu'da xrdp paketi tarafından sağlanır.
xrdp üzerinden GNOME oturumları bazı Ubuntu sürümlerinde, özellikle Wayland etkin olduğunda, kararsız olabilir. Xfce genellikle daha güvenilir bir uzak masaüstü deneyimi sağlar.
Wayland'ı devre dışı bırakma
xrdp bir Xorg arka ucuna ihtiyaç duyar. GDM yapılandırma dosyasını açın:
nano /etc/gdm3/custom.conf
#WaylandEnable=false satırını bulun, yorum işaretini kaldırın ve dosyayı kaydedin:
WaylandEnable=false
xrdp kurulumu
apt install xrdp -y
Hizmeti etkinleştirin ve başlatın:
systemctl enable --now xrdp
xrdp kullanıcısını ssl-cert grubuna ekleme
adduser xrdp ssl-cert
Oturum başlangıç dosyasını yapılandırma
/etc/xrdp/startwm.sh dosyasını açın ve aşağıdaki satırları son exec satırından önce ekleyin:
export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR
Güvenlik duvarı bağlantı noktasını açma
ufw allow 3389/tcp
Mümkünse erişimi belirli bir IP aralığıyla sınırlandırın: ufw allow from 192.168.1.0/24 to any port 3389 proto tcp
xrdp'yi yeniden başlatma
systemctl restart xrdp
Windows üzerinden bağlanma
Win+R tuşlarına basın, mstsc yazın ve Enter'a basın. Sunucunuzun IP adresini girin ve Bağlan'a tıklayın.
[IMAGE: mstsc-connection-dialog.png — sunucu adresinin girildiği Uzak Masaüstü Bağlantısı]
xrdp giriş ekranında oturum olarak Xorg'u seçili bırakın ve Ubuntu kullanıcı adınızı ve parolanızı girin:
[IMAGE: xrdp-login.png — xrdp giriş ekranı]
Giriş yaptıktan sonra uzak masaüstü görüntülenir:
[IMAGE: rdp-xfce-desktop.png — RDP üzerinden görüntülenen uzak masaüstü]
macOS üzerinden bağlanma
App Store'dan Microsoft Remote Desktop'ı kurun.
Add PC'ye tıklayın ve sunucunuzun IP adresini girin.
Ubuntu kullanıcı adınız ve parolanızla giriş yapın.
Karşılaştırma: VNC ve RDP
| VNC | RDP | |
|---|---|---|
| Protokol | Açık standart | Microsoft (xrdp üzerinden açık kaynak uygulaması) |
| Windows istemcisi | Üçüncü taraf yazılım gerekir | Yerleşik (mstsc) |
| macOS istemcisi | Yerleşik (Finder) | Microsoft Remote Desktop (App Store) |
| Şifreleme | Varsayılan olarak yok (SSH tüneli kullanın) | TLS (xrdp tarafından yönetilir) |
| Performans | Orta | Genellikle daha akıcı |
| Çok kullanıcılı destek | Sınırlı | Daha iyi |
Sorun giderme
RDP girişinden sonra siyah ekran — gerekli ortam değişkenlerinin yukarıda açıklandığı şekilde /etc/xrdp/startwm.sh dosyasına eklendiğinden ve Wayland'ın /etc/gdm3/custom.conf dosyasında devre dışı bırakıldığından emin olun. Ardından xrdp'yi yeniden başlatın: systemctl restart xrdp
VNC bağlantısı reddedildi — VNC sunucusunun çalıştığını kontrol edin: vncserver -list. 5901 bağlantı noktasının güvenlik duvarında açık olduğundan emin olun.
VNC oturumu başlatılamıyor — oturumu sonlandırın ve kilit dosyalarını temizleyin, ardından yeniden başlatın:
vncserver -kill :1 rm -f ~/.vnc/*.log ~/.vnc/*.pid vncserver :1
xrdp'de parola girildikten sonra bağlantı kesiliyor veya gri ekran görüntüleniyor — kullanıcı için ~/.xsessionrc dosyasını oluşturun veya düzenleyin ve aşağıdakini ekleyin:
export XDG_SESSION_TYPE=x11
Ayrıca kullanıcının aynı anda yerel bir masaüstü oturumunda oturum açmadığından emin olun — xrdp üzerinden bağlanmadan önce yerel oturumdan çıkış yapın.
xrdp kimlik doğrulama hatası — VNC parolası yerine geçerli bir Ubuntu sistem kullanıcısı ve parolasıyla giriş yaptığınızdan emin olun.
xrdp bağlanıyor ancak hemen bağlantıyı kesiyor — her iki hizmetin durumunu kontrol edin:
systemctl status xrdp systemctl status xrdp-sesman
GNOME VNC üzerinden başlatılamıyor — Ubuntu 24.04'te xorg paketini ayrıca kurmanız gerekebilir: apt install xorg -y