Skip to content
Bloga geri dönTutorial

Linux uzak masaüstü sunucusu: X11VNC ve RustDesk daemon kurulumu

Tenvo Editorial Team7 dk okuma
Linux uzak masaüstü sunucusu: X11VNC ve RustDesk daemon kurulumu

Linux masaüstüne güvenilir, güvenli ve maliyetli tescilli hizmetlere takılmadan erişim vermeye çalışıyorsunuz — bulduğunuz kılavuzlar ya fazla yüzeysel ya da yalnızca GUI kullanıcılarına yönelik. Bu rehber, gerçek komutlar, systemd birimleri, Docker örnekleri ve sertleştirme adımlarıyla iki pratik sunucu tarafı yaklaşımı gösterir.

Linux masaüstüne insanların (veya kendinizin) güvenilir, güvenli ve pahalı tescilli hizmetlere takılmadan erişmesini sağlamaya çalışıyorsunuz — bulduğunuz kılavuzlar ya fazla yüzeysel ya da yalnızca GUI uzmanlarına yönelik. Bu rehber, linux remote desktop server için iki pratik sunucu tarafı yaklaşım gösterir: bir X oturumunu doğrudan açığa çıkaran denenmiş ve güvenilir bir X11VNC kurulumu ile modern NAT geçişi ve relay için kendi kendinize barındırdığınız bir RustDesk daemon'ı (hbbs/hbbr) — gerçek komutlar, systemd birimleri, Docker örnekleri ve somut sertleştirme adımlarıyla.

Neden bir Linux uzak masaüstü sunucusu çalıştırmalı? Hızlı karar ağacı

Komutlara dalmadan önce: ihtiyaçlarınıza uyan bir modeli seçin.

  • Bir makinedeki fiziksel X oturumuna doğrudan erişmeniz gerekiyorsa (oturum açmış kullanıcıyı destekleme, yerel oturum durumu, çoklu monitörler), X11VNC sunucu tarafında en basit araçtır.
  • NAT geçişi, ID sunucuları, relays ve daha kolay çapraz platform istemci desteği sağlayan bir istemci/sunucu modeli istiyorsanız — ve bu sunucu bileşenlerini kendiniz barındırmak istiyorsanız — RustDesk'in hbbs/hbbr daemon(larını) çalıştırın.
  • Sadece tek seferlik destek için hızlı bir tek makinelik tünel istiyorsanız, bir SSH tüneli veya barındırılan bir hizmet hâlâ daha hızlı olabilir. Strateji ve takaslar için kendi kendine barındırılan uzak masaüstü rehberimize de bakın.

Not: TeamViewer ve AnyDesk gibi ticari ürünler genellikle salt kullanım kolaylığında (otomatik NAT geçişi ve kutudan çıkan optimize edilmiş codec'ler) öne çıkar. Tak-çalıştır güvenilirlik ve ticari destek gerekiyorsa makul seçimlerdir; özellik takasları için rustdesk-vs-anydesk karşılaştırmamıza bakın.

1) X11VNC: fiziksel X oturumunu açığa çıkaran minimal linux uzak masaüstü sunucusu

X11VNC mevcut bir X sunucusuna bağlanır ve güncel masaüstünü servis eder. Bu ayrı bir sanal masaüstü değildir — yerel olarak oturum açmış GUI'nin aynasını sunar. Bu, aynı oturumla etkileşimde bulunmak istediğiniz uzak destek ve yönetim için mükemmeldir.

Önkoşullar ve önerilen sürümler

  • X11 tabanlı masaüstlerinde çalışır. Wayland için kompozitöre özgü uzak API'ler veya farklı bir yaklaşım kullanın.
  • x11vnc >= 0.9.16 kurun (0.9.16+ modern özellikler ve kararlık iyileştirmeleri sağlar).
  • Bir display manager (gdm/lightdm/sddm) veya :0 üzerinde çalışan bir X oturumunuz olduğundan emin olun.

Debian/Ubuntu üzerine kurulum (örnek):

sudo apt update
sudo apt install -y x11vnc xauth

Bir parola dosyası oluşturun (güvenli saklayın):

sudo x11vnc -storepasswd /etc/x11vnc.pass
sudo chown root:root /etc/x11vnc.pass
sudo chmod 600 /etc/x11vnc.pass

Display :0 üzerinde otomatik başlatma için basit bir systemd birimi ( /etc/systemd/system/x11vnc.service olarak yerleştirin):

[Unit]
Description=x11vnc - VNC server for :0
After=display-manager.service

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared -ncache 10
User=root
Restart=on-failure

[Install]
WantedBy=graphical.target

Etkinleştir ve başlat:

sudo systemctl daemon-reload
sudo systemctl enable --now x11vnc.service
sudo systemctl status x11vnc.service

X11VNC için güvenlik notları

  • TCP/5900'ü ek koruma olmadan doğrudan internete açmayın. VNC kimlik doğrulaması LAN kullanımı için kabul edilebilir ama genel ağlarda zayıf kabul edilmelidir.
  • Uzak erişim için bir SSH tünelini tercih edin: ssh -L 5900:localhost:5900 user@your-server ve sonra bir VNC istemcisine localhost:5900 üzerinden bağlanın.
  • Doğrudan TLS gerekiyorsa stunnel veya bir VPN kullanın. Ya da VNC'yi uygun bir güvenlik duvarının arkasına koyun ve VPN erişimi zorunlu kılın.

Performans ipuçları

  • Bant genişliği ani yükselişlerini azaltmak için -ncache 10 kullanın.
  • 1–2 Mbps bağlantılarda yüksek CPU gördüğünüzde, renk derinliğini düşürün veya sıkıştırma bayraklarını kullanın (x11vnc -compresslevel ve -quality seçeneklerini destekler). Deneyin — daha düşük kalite genellikle algılanan tepki hızını iyileştirir.

2) RustDesk daemon: modern uzak erişim için kendi kendine barındırılan relay ve ID sunucusu

RustDesk, NAT arkasındaki peer'leri bile bağlamak için merkezi bir ID sunucusu (hbbs) ve bir relay (hbbr) kullanabilen bir istemci sağlar. Kendi hbbs/hbbr'nizi çalıştırmak, ID'ler ve relay'ler üzerinde tam kontrol sağlar — üçüncü taraf sunuculardan kaçınmak istiyorsanız önemlidir. Kendi kendine barındırılan modelde Linux uzak masaüstü sunucusu dendiğinde çoğu kişinin kastettiği sunucu tarafı kurulum budur.

Neden tek bir ikili yerine hbbs/hbbr çalıştırılmalı? Hbbs ID sunucusudur (kimlik doğrulama, atama), hbbr ise relay sunucusudur (doğrudan P2P başarısız olduğunda medya için TCP/UDP relay). Her ikisi de hafiftir ve genelde Docker içinde çalıştırılır.

Önerilen sürümler: dağıtıma koymadan önce rustdesk server components 1.1.9+ (veya dağıtım zamanındaki en son stabil etiket) kullanın. Üretim dağıtımlarından önce RustDesk projesindeki sürüm notlarını gözden geçirin.

hbbs + hbbr için örnek Docker Compose (minimal)

version: '3.3'
services:
  hbbs:
    image: rustdesk/rustdesk-server:1.1.9
    container_name: rustdesk_hbbs
    restart: unless-stopped
    ports:
      - "21115:21115/tcp"  # hbbs TCP (ID server)
    environment:
      - RUST_LOG=info
    volumes:
      - ./data/hbbs:/data

  hbbr:
    image: rustdesk/rustdesk-server:1.1.9
    container_name: rustdesk_hbbr
    restart: unless-stopped
    ports:
      - "21116:21116/tcp"  # hbbr TCP (relay)
      - "21116:21116/udp"  # hbbr UDP for hole punching/relay
    environment:
      - RUST_LOG=info
    volumes:
      - ./data/hbbr:/data

Portlar ve NAT hakkında notlar

  • Varsayılan RustDesk portları genelde 21115 (hbbs ID sunucusu) ve 21116 (hbbr relay) olarak eşlenir. NAT geçişi için UDP yararlıdır; mümkünse hem TCP hem UDP'yi açın.
  • Sunucuyu genel bir IP'de veya statik IP/DNS olan bir hostta tutun. İstemcilere yapılandırdığınız hostname için bir A/AAAA kaydı kullanın.

İstemci tarafını yapılandırma

RustDesk istemcisini hbbs hostname'inize işaret edecek şekilde ayarlayın ve gerektiğinde relay'i etkinleştirin. Gizlilik için relay kullanımını zorlayabilir veya her iki istemci NAT delme yapabiliyorsa peer-to-peer'e izin verebilirsiniz. İstemci yapılandırma arayüzü sunucunuzun hostname ve portunu kabul eder (örn., server.example.com:21115).

Kendi kendine barındırılan RustDesk daemon dağıtımını güvenli hale getirme

RustDesk'in varsayılan trafiği peer'ler arasında şifrelenir, ancak sunucu bileşenleri kimlik doğrulama ve koordinasyon yapar. Aşağıdaki sertleştirme adımlarını düşünün:

  • hbbs/hbbr'yi bir güvenlik duvarının arkasında çalıştırın ve yalnızca gerekli portları açın (21115 TCP, 21116 TCP/UDP). UFW veya firewall-cmd kullanın; örnek: sudo ufw allow 21115/tcp; sudo ufw allow 21116/tcp; sudo ufw allow 21116/udp.
  • Eklediğiniz web-facing yönetim UI'ları için TLS/HTTPS kullanın. TLS'yi bir reverse proxy (nginx/caddy) üzerinde sonlandırıyorsanız, arka ucu izole halde tutun.
  • Log'ları ve kaynak kullanımını izleyin. RustDesk bileşenleri hafiftir ama bağlantı sayıları ve relay bant genişliğini izlemek istersiniz.
  • hbbs portuna karşı kaba kuvvet girişimleri görürseniz host üzerinde rate-limit ve fail2ban kullanmayı düşünün.

RustDesk mi yoksa X11VNC mi seçilmeli

  • Çapraz platform istemci desteği (Windows/Mac/Linux/Android/iOS), NAT geçişi ve çok sayıda uç nokta için tek bir kendi kendine barındırılan ID/relay gerekiyorsa RustDesk'i seçin. Dağıtılmış filolar için modern bir çözümdür.
  • Belirli masaüstü makinelerine hizmet veriyor ve yerel X oturumu ile etkileşim kurmanız gerekiyorsa X11VNC'yi seçin (örneğin, oturum açmış kullanıcıyı veya grafiksel önyükleme sorunlarını çözme).

Pratik üretim notları ve performans ayarları

Bant genişliği ve CPU: sıkıştırılmış codec'lerle tipik ofis işleri için doğrudan uzak masaüstü oturumlarının 1–5 Mbps arasında bant kullanacağını bekleyin; video veya oyun paylaşımı çok daha yüksek sıçramalar yapacaktır. Kendi relay'inizi (hbbr) barındırıyorsanız relay bant genişliği için bütçe ayırın: 100 eşzamanlı oturum x 2 Mbps = ~200 Mbps sürekli kapasite.

İzleme ve otomatik ölçeklendirme: daha büyük organizasyonlar için hbbs önüne küçük bir HA proxy veya load balancer koyun ve bölgelere dağıtılmış birden fazla hbbr relay çalıştırın. Otomatik ölçeklendirme gerekiyorsa standart konteyner orkestrasyonunu (Docker Swarm veya Kubernetes) kullanın; aksi halde küçük ekipler için tek güçlü bir relay VM yeterlidir.

Loglama ve sorun giderme

  • x11vnc log'ları systemd journal'da görünür: sudo journalctl -u x11vnc.service
  • RustDesk container'ları: docker logs rustdesk_hbbs ve docker logs rustdesk_hbbr başlangıç hataları için. Port erişilebilirliğini ss veya netstat ile kontrol edin ve uzak istemciden UDP/TCP testi yapın.
  • Doğrudan bağlantılar başarısız oluyorsa, ara NAT'lar veya güvenlik duvarları tarafından UDP'nin engellenmediğinden emin olun; birçok taşıyıcı nadir UDP aralıklarını engeller.

Güvenlik karşılaştırması ve satıcıya dair dürüst görüş

Gizlilik ve güvenlik en önceliğinizse, hbbs/hbbr'yi kendi kendinize barındırmak size meta veriler ve relay uç noktaları üzerinde kontrol verir. Ancak TeamViewer veya AnyDesk gibi tescilli satıcılar kutudan çıktığı haliyle daha güçlü NAT geçişi, düşük bant genişlikli bağlantılar için daha iyi proprietary codec'ler ve kurumsal sınıf destek/SLA'lar sağlayabilir. 7/24 ticari destek ve teknik olmayan kullanıcılar için daha kolay onboarding gerekiyorsa daha iyi olabilirler — fakat bu kolaylık bir maliyetle gelir. Fiyat farkları ve takaslar için anydesk-pricing-explained'a bakın.

Canlıya almadan önce pratik kontrol listesi

  1. Hangi modelin size uygun olduğuna karar verin (fiziksel oturumlar için X11VNC vs ID/relay tabanlı uzak erişim için RustDesk).
  2. Sunucuyu sertleştirin: güvenlik duvarı, yalnızca SSH anahtarları, fail2ban ile rate-limiting ve uygulanabilir yerlerde TLS.
  3. Ağınız dışından test edin: relay davranışı, gecikme ve failover'ı doğrulayın.
  4. İzleme (log'lar, bant genişliği, süreç yeniden başlatmaları) ve kesinti durumları için uyarı politikası belirleyin.

İleri okuma ve dahili kaynaklar

Daha geniş kendi kendine barındırılan seçenekleri ve takasları değerlendiriyorsanız, /self-hosted-remote-desktop rehberimizi okuyun. RustDesk ile ticari seçenekler arasındaki özellik karşılaştırması için /rustdesk-vs-anydesk'e bakın.

Son pratik notlar

Her iki yaklaşım da sürdürülebilir, ancak biraz farklı problemleri çözer. X11VNC tek masaüstleri için basit ve öngörülebilirdir; RustDesk daemon(ları) filolar için daha iyi ölçeklenir ve doğru yapılandırıldığında NAT geçişini zarifçe ele alır. Her durumda, şifrelenmemiş VNC'yi doğrudan internete açmayın — her zaman SSH tünelleri, VPN'ler veya düzgün sertleştirilmiş bir relay kullanın.

Kendiniz denemeye hazır mısınız? Tenvo (godeskflow) istemcilerini indirin veya sunucu dokümanlarımızı /download adresinde kontrol edin — fiyatlandırma veya kurumsal seçeneklere ihtiyacınız varsa /pricing'e bakın. Bir test örneği dağıtın, güvenlik duvarı kurallarınızı çalıştırın ve kullanıcı dağıtımından önce istemci davranışını doğrulayın.

Tenvo edinin

Kendiniz denemeye hazır mısınız?

30 cihaza kadar ücretsiz, kredi kartı gerekmiyor. İki dakikada kurulur ve bağlanır.