Skip to content
ब्लॉग पर वापसTutorial

Linux रिमोट डेस्कटॉप सर्वर: X11VNC और RustDesk daemon सेटअप

Tenvo Editorial Team7 मिनट पढ़ें
Linux रिमोट डेस्कटॉप सर्वर: X11VNC और RustDesk daemon सेटअप

आप लोगों (या खुद) को एक लिनक्स डेस्कटॉप से विश्वसनीय, सुरक्षित तरीके से कनेक्ट करने देना चाहते हैं, बिना महंगे प्रोप्रायटरी सेवाओं के जरिए घूमे — और जो मैनुअल मिले हैं वे या तो बहुत सतही हैं या सिर्फ GUI विशेषज्ञों के लिए लिखे गए हैं। यह ग…

आप लोगों (या खुद) को एक लिनक्स डेस्कटॉप से विश्वसनीय, सुरक्षित तरीके से कनेक्ट करने देना चाहते हैं, बिना महंगे प्रोप्रायटरी सेवाओं के जरिए घूमे — और जो मैनुअल मिले हैं वे या तो बहुत सतही हैं या सिर्फ GUI विशेषज्ञों के लिए लिखे गए हैं। यह गाइड सर्वर-साइड के दो व्यावहारिक दृष्टिकोण दिखाता है: X11VNC का एक परखा हुआ सेटअप जो सीधे एक X सत्र को एक्सपोज़ करता है, और एक self-hosted RustDesk daemon (hbbs/hbbr) जो आधुनिक NAT traversal और relay के लिए काम आता है — साथ में वास्तविक कमांड, systemd यूनिट, Docker उदाहरण और कॉन्क्रीट हार्डनिंग कदम।

लिनक्स रिमोट डेस्कटॉप सर्वर क्यों चलाएँ? त्वरित निर्णय वृक्ष

कमांड्स में उतरने से पहले: अपनी जरूरत के अनुसार एक मॉडल चुनें।

  • यदि आपको किसी मशीन के फिजिकल X सत्र (लॉग्ड-इन यूजर, लोकल सेशन स्टेट, मल्टीपल मॉनिटर्स) तक डायरेक्ट एक्सेस चाहिए, तो X11VNC सर्वर-साइड का सबसे सरल टूल है।
  • यदि आप एक क्लाइंट/सर्वर मॉडल चाहते हैं जो NAT traversal, ID सर्वर, relay और क्रॉस-प्लेटफ़ॉर्म क्लाइंट को सपोर्ट करे — और आप उन सर्वर कम्पोनेंट्स को self-host करना चाहते हैं — तो RustDesk के hbbs/hbbr daemon(s) चलाएँ।
  • यदि आपको सिर्फ एक त्वरित सिंगल‑मशीन टनल चाहिए एक-बार के सपोर्ट के लिए, तो SSH टनल या कोई होस्टेड सर्विस अभी भी तेज़ विकल्प हो सकती है। रणनीति और tradeoffs के लिए हमारी self-hosted remote desktop गाइड देखें।

नोट: व्यावसायिक उत्पाद जैसे TeamViewer और AnyDesk अक्सर शुद्ध सुविधा में बेहतर होते हैं (ऑटोमेटिक NAT traversal और ऑप्टिमाइज़्ड codecs आउट‑ऑफ़‑द‑बॉक्स)। यदि आपको प्लग‑एंड‑प्ले विश्वसनीयता और कमर्शियल सपोर्ट चाहिए तो वे वाजिब चुनाव हैं; फीचर tradeoffs के लिए rustdesk-vs-anydesk में तुलना देखें।

1) X11VNC: फिजिकल X सत्र को एक्सपोज़ करने वाला न्यूनतम लिनक्स रिमोट डेस्कटॉप सर्वर

X11VNC मौजूदा X सर्वर से कनेक्ट होता है और करंट डेस्कटॉप सर्व करता है। यह कोई अलग वर्चुअल डेस्कटॉप नहीं है — यह लोकली लॉग इन GUI का मिरर पेश करता है। इसलिए यह उन रिमोट सपोर्ट और एडमिनिस्ट्रेशन केसों के लिए उत्कृष्ट है जहाँ आप उसी सत्र के साथ इंटरैक्ट करना चाहते हैं जो लोकल यूजर देख रहा है।

पूर्वापेक्षाएँ और अनुशंसित वर्ज़न

  • X11-आधारित डेस्कटॉप पर काम करता है। Wayland के लिए compositor-विशिष्ट रिमोट APIs या अलग दृष्टिकोण का उपयोग करें।
  • x11vnc >= 0.9.16 इंस्टॉल करें (0.9.16+ आधुनिक फीचर्स और स्थिरता सुधार सपोर्ट करता है)।
  • सुनिश्चित करें कि आपके पास एक डिस्प्ले मैनेजर (gdm/lightdm/sddm) या :0 पर चल रहा एक X सेशन है।

Debian/Ubuntu पर इंस्टॉल (उदाहरण):

sudo apt update
sudo apt install -y x11vnc xauth

पासवर्ड फ़ाइल बनाएं (सुरक्षित स्थान पर स्टोर करें):

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

डिस्प्ले :0 पर ऑटो‑स्टार्ट के लिए सरल systemd यूनिट (इसे /etc/systemd/system/x11vnc.service के रूप में रखें):

[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

इनेबल और स्टार्ट करें:

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

X11VNC के लिए सुरक्षा नोट्स

  • TCP/5900 को इंटरनेट पर सीधे एक्सपोज़ न करें बिना अतिरिक्त सुरक्षा के। VNC authentication LAN उपयोग के लिए ठीक है पर सार्वजनिक नेटवर्क पर इसे कमजोर माना जाना चाहिए।
  • रिमोट एक्सेस के लिए SSH टनल को प्राथमिकता दें: ssh -L 5900:localhost:5900 user@your-server और फिर VNC क्लाइंट को localhost:5900 पर कनेक्ट करें।
  • यदि डायरेक्ट TLS चाहिए तो stunnel या VPN का उपयोग करें। या VNC को proper फ़ायरवॉल के पीछे रखें और VPN एक्सेस की आवश्यकता तय करें।

परफॉर्मेंस टिप्स

  • डेस्कटॉप कंटेंट तेज़ी से बदलने पर बैंडविड्थ स्पाइक्स कम करने के लिए -ncache 10 उपयोग करें।
  • जब 1–2 Mbps लिंक पर हाई CPU दिखे, तो कलर डेप्थ कम करें या compression फ्लैग्स (x11vnc में -compresslevel और -quality) प्रयोग करें। परीक्षण करें — कम क्वालिटी अक्सर बेहतर प्रत्यक्ष अनुभव देती है।

2) RustDesk daemon: आधुनिक रिमोट एक्सेस के लिए self-hosted relay और ID सर्वर

RustDesk एक क्लाइंट प्रदान करता है जो एक केंद्रीय ID सर्वर (hbbs) और एक relay (hbbr) का उपयोग कर सकता है ताकि peers NAT के पीछे भी कनेक्ट कर सकें। अपना खुद का hbbs/hbbr चलाने से आपको IDs और relays पर पूरा नियंत्रण मिलता है — जो तीसरे पक्ष के सर्वरों से बचना चाहने पर महत्वपूर्ण है। यह सर्वर-साइड सेटअप वही है जिसका अधिकांश लोग उल्लेख करते हैं जब वे self-hosted मॉडल में लिनक्स रिमोट डेस्कटॉप सर्वर माँगते हैं।

क्यों hbbs/hbbr एकल बाइनरी के बजाय? Hbbs ID सर्वर है (authentication, assignment), hbbr relay सर्वर है (TCP/UDP relay मीडिया के लिए जब डायरेक्ट P2P फेल हो)। दोनों हल्के हैं और सामान्यतः Docker में चलाए जाते हैं।

अनुशंसित वर्ज़न: rustdesk सर्वर कम्पोनेंट्स 1.1.9+ (या तैनाती के समय उपलब्ध नवीनतम stable टैग) का उपयोग करें। प्रोडक्शन रोलआउट से पहले RustDesk प्रोजेक्ट पर रिलीज नोट्स अवलोकन करें।

hbbs + hbbr के लिए उदाहरण Docker Compose (न्यूनतम)

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

पोर्ट्स और NAT पर नोट्स

  • डिफ़ॉल्ट RustDesk पोर्ट्स सामान्यतः मैप किए जाते हैं 21115 (hbbs ID server) और 21116 (hbbr relay)। NAT traversal के लिए UDP उपयोगी है; जहाँ संभव हो TCP और UDP दोनों खोलें।
  • सर्वर को सार्वजनिक IP पर रखें या ऐसे होस्ट पर रखें जिसकी static IP/DNS हो। उस hostname के लिए A/AAAA रिकॉर्ड का उपयोग करें जिसे आप क्लाइंट में कॉन्फ़िगर करेंगे।

क्लाइंट साइड का कॉन्फ़िगर करना

RustDesk क्लाइंट को अपने hbbs hostname की ओर इंगित करें और आवश्यकता अनुसार relay सक्षम करें। आप प्राइवेसी के लिए relay उपयोग को फ़ोर्स कर सकते हैं या यदि दोनों क्लाइंट NAT punch-through कर सकें तो peer-to-peer की अनुमति दें। क्लाइंट कॉन्फ़िगरेशन UI आपके सर्वर के hostname और पोर्ट स्वीकार करती है (उदाहरण के लिए server.example.com:21115)।

self-hosted RustDesk daemon तैनाती को सुरक्षित बनाना

RustDesk का डिफ़ॉल्ट ट्रैफ़िक peers के बीच एन्क्रिप्टेड होता है, पर सर्वर कम्पोनेंट्स authenticate और coordinate करते हैं। इन हार्डनिंग कदमों पर विचार करें:

  • hbbs/hbbr को फ़ायरवॉल के पीछे चलाएँ और केवल आवश्यक पोर्ट खोलें (21115 TCP, 21116 TCP/UDP)। UFW या firewall-cmd का उपयोग करें; उदाहरण: sudo ufw allow 21115/tcp; sudo ufw allow 21116/tcp; sudo ufw allow 21116/udp।
  • किसी भी वेब‑फेसिंग एडमिन UI के लिए TLS/HTTPS का उपयोग करें। यदि आप TLS को एक reverse proxy (nginx/caddy) पर terminate करते हैं, तो backend को अलग रखें।
  • लॉग्स और रिसोर्स उपयोग की निगरानी करें। RustDesk कम्पोनेंट हल्के हैं पर कनेक्शन काउंट्स और relay बैंडविड्थ पर नज़र रखें।
  • यदि आप hbbs पोर्ट पर ब्रूट‑फोर्स देख रहे हैं तो होस्ट पर rate-limiting और fail2ban पर विचार करें।

कब RustDesk चुनें बनाम X11VNC

  • जब आपको क्रॉस‑प्लेटफ़ॉर्म क्लाइंट सपोर्ट (Windows/Mac/Linux/Android/iOS), NAT traversal, और कई endpoints के लिए एक self-hosted ID/relay चाहिए — तब RustDesk चुनें। यह वितरित फ़्लीट्स के लिए आधुनिक समाधान है।
  • जब आप विशिष्ट डेस्कटॉप मशीनों की सर्विस कर रहे हों और लोकल X सत्र के साथ इंटरैक्ट करना आवश्यक हो (उदाहरण: लॉग्ड‑इन यूजर का ट्रबलशूटिंग या ग्राफिकल बूट इश्यूज़) — तब X11VNC चुनें।

प्रायोगिक प्रोडक्शन नोट्स और परफॉर्मेंस ट्यूनिंग

बैंडविड्थ और CPU: सामान्य ऑफिस कार्यों के लिए संकुचित कोडेक्स के साथ डायरेक्ट रिमोट डेस्कटॉप सेशन्स आम तौर पर 1–5 Mbps लेते हैं; वीडियो या गेम्स का स्क्रीन‑शेयरिंग काफी अधिक स्पाइक्स देगा। यदि आप अपना खुद का relay (hbbr) होस्ट कर रहे हैं तो relay बैंडविड्थ का बजट रखें: 100 concurrent सेशन्स @ 2 Mbps ≈ ~200 Mbps लगातार क्षमता।

मॉनिटरिंग और ऑटोस्केलिंग: बड़ी संस्थाओं के लिए, hbbs के सामने छोटा HA proxy या load balancer लगाएँ, और क्षेत्रीय रूप से वितरित कई hbbr relays चलाएँ। यदि auto-scaling चाहिए तो सामान्य कंटेनर ऑर्केस्ट्रेशन (Docker Swarm या Kubernetes) उपयोग करें; अन्यथा छोटे टीम्स के लिए एक अच्छा relay VM पर्याप्त है।

लॉगिंग और ट्रबलशूटिंग

  • x11vnc के लॉग systemd जर्नल पर दिखते हैं: sudo journalctl -u x11vnc.service
  • RustDesk कंटेनर: docker logs rustdesk_hbbs और docker logs rustdesk_hbbr स्टार्टअप त्रुटियों के लिए देखें। पोर्ट रीचेबिलिटी की जाँच के लिए ss या netstat का प्रयोग करें और रिमोट क्लाइंट से UDP/TCP परीक्षण करें।
  • यदि डायरेक्ट कनेक्शन्स विफल हों, तो पुष्टि करें कि UDP को intermediate NATs या फ़ायरवॉल द्वारा ब्लॉक नहीं किया जा रहा है; कई कैरियर्स अनकॉमन UDP रेंजेस ब्लॉक करते हैं।

सिक्योरिटी तुलना और विक्रेता‑निष्पक्ष दृष्टिकोण

यदि सुरक्षा और प्राइवेसी आपकी शीर्ष प्राथमिकताएँ हैं, तो hbbs/hbbr को self-host करने से आपको मेटाडेटा और relay endpoints का नियंत्रण मिलता है। हालाँकि, TeamViewer या AnyDesk जैसे प्रोप्रायटरी वेन्डर बेहतर आउट‑ऑफ़‑द‑बॉक्स NAT traversal, लो‑बिटरेट proprietary codecs और एंटरप्राइज़‑ग्रेड सपोर्ट/SLAs दे सकते हैं। यदि आपको 24/7 कमर्शियल सपोर्ट और नॉन‑टेक्निकल उपयोगकर्ताओं के लिए आसान ऑनबोर्डिंग चाहिए तो वे बेहतर हो सकते हैं — पर यह सुविधा लागत के साथ आती है। anydesk-pricing-explained में प्राइसिंग और tradeoffs देखें।

लाइव जाने से पहले व्यावहारिक चेकलिस्ट

  1. निर्णय लें कि कौन सा मॉडल आपकी जरूरत के अनुरूप है (X11VNC फॉर फिजिकल सत्र बनाम RustDesk फॉर ID/relay‑आधारित रिमोट एक्सेस)।
  2. सर्वर को हार्डन करें: फ़ायरवॉल, केवल SSH‑कीज़, fail2ban rate‑limiting, और जहाँ लागू हो TLS।
  3. अपने नेटवर्क के बाहर से टेस्ट करें: relay व्यवहार, लैटेंसी, और failover सत्यापित करें।
  4. मॉनिटरिंग सेट करें (लॉग्स, बैंडविड्थ, प्रोसेस रिस्टार्ट्स) और आउटेज के लिए अलर्ट नीति बनाएं।

और पढ़ें और आंतरिक संसाधन

यदि आप व्यापक self-hosted विकल्पों और tradeoffs का मूल्यांकन कर रहे हैं तो हमारी self-hosted गाइड /self-hosted-remote-desktop पढ़ें। RustDesk और कमर्शियल विकल्पों के बीच विशेष फ़ीचर तुलना के लिए /rustdesk-vs-anydesk देखें।

अंतिम व्यावहारिक नोट्स

दोनों दृष्टिकोण में रखरखाव संभव है, पर वे थोड़े अलग समस्याओं का समाधान करते हैं। X11VNC सिंगल डेस्कटॉप के लिए सरल और पूर्वानुमेय है; RustDesk daemon(s) फ़्लीट्स के लिए बेहतर स्केल करते हैं और सही कॉन्फ़िगरेशन पर NAT traversal को gracefully संभालते हैं। किसी भी स्थिति में, असँकुचित VNC को सीधे इंटरनेट पर एक्सपोज़ न करें — हमेशा SSH टनल, VPN, या ठीक से हार्डन किए गए relay का उपयोग करें।

क्या आप इसे खुद आज़माना चाहते हैं? Tenvo (godeskflow) क्लाइंट डाउनलोड करें या हमारे सर्वर डॉक्स /download पर देखें — और यदि आपको प्राइसिंग या एंटरप्राइज़ विकल्प चाहिए तो /pricing देखें। एक टेस्ट इंस्टेंस डिप्लॉय करें, अपने फ़ायरवॉल नियमों का परीक्षण करें, और यूज़र्स को रोलआउट करने से पहले क्लाइंट व्यवहार का सत्यापन करें।

Tenvo प्राप्त करें

खुद आज़माना चाहेंगे?

30 उपकरणों के लिए मुफ्त, किसी क्रेडिट कार्ड की आवश्यकता नहीं। दो मिनट में चालू और कनेक्ट।