−25%

Windows के सालाना भुगतान पर, 31 अक्टूबर तक। प्लान देखें

EQVPS
शुरू करें

Linux VPS पर डेस्कटॉप कैसे इंस्टॉल करें और रिमोट डेस्कटॉप से कैसे जुड़ें (XFCE + xrdp)

Ubuntu 24.04 VPS पर ग्राफ़िकल डेस्कटॉप जो साधारण रिमोट डेस्कटॉप ऐप से खुलता है: XFCE और xrdp, वे दो डिफ़ॉल्ट सेटिंग जो इसे बिगाड़ती हैं (गलत सेशन, TLS नहीं), और ऐसा तरीका जिसमें पोर्ट 3389 कभी इंटरनेट की तरफ़ नहीं खुलता। डिस्क की जगह और हर सेशन की RAM की माप के साथ।

Linux सर्वर की कोई स्क्रीन नहीं होती, और ज़्यादातर उसे ज़रूरत भी नहीं होती। कभी-कभी होती है: ऐसा ब्राउज़र जिसे सर्वर के अपने पते से चलना हो, ऐसा टूल जिसका सिर्फ़ ग्राफ़िकल इंटरफ़ेस हो, या ऐसा डेस्कटॉप जिसे चालू छोड़कर आप किसी भी कंप्यूटर से वापस आ सकें। यह गाइड Ubuntu 24.04 में हल्का डेस्कटॉप XFCE और xrdp जोड़ती है, ताकि आप उसे उसी रिमोट डेस्कटॉप ऐप से खोलें जो Windows सर्वर के लिए इस्तेमाल करते हैं।

हमने हर कदम अपनी Ubuntu 24.04 इमेज पर जाँचा। दो डिफ़ॉल्ट सेटिंग ने पहली कोशिश बिगाड़ दी, और नीचे हम दोनों ठीक करते हैं। आपको sudo वाला एक सामान्य यूज़र चाहिए; Ubuntu सेटअप गाइड एक बनाती है। उदाहरणों में उसका नाम deploy है।

1. XFCE और xrdp इंस्टॉल करें

sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp

हमारे 2 GB वाले सर्वर पर इसमें करीब साढ़े चार मिनट लगे और 1.7 GB डिस्क लगी (पहले 2.7 GB इस्तेमाल हो रही थी, बाद में 4.4 GB)। xrdp 0.9.24 इंस्टॉल होता है, तुरंत चालू हो जाता है और पोर्ट 3389 पर सुनता है।

2. xrdp से GNOME नहीं, XFCE चलवाएँ

उस यूज़र से लॉग इन करें जो डेस्कटॉप इस्तेमाल करेगा, और यह चलाएँ:

echo xfce4-session > ~/.xsession

इस फ़ाइल के बिना हमारे पहले लॉगिन ने XFCE की जगह GNOME चलाया, और सेशन तुरंत "Oh no! Something has gone wrong" के साथ बंद हो गया। कदम 1 के पैकेज GNOME का सेशन मैनेजर भी साथ ले आते हैं, और Ubuntu उसे डिफ़ॉल्ट बना देता है। ~/.xsession मौजूद हो तो xrdp, XFCE चलाता है।

3. xrdp को TLS इस्तेमाल करने दें

xrdp अपने अलग यूज़र xrdp के रूप में चलता है, और यह यूज़र सर्वर की प्राइवेट की नहीं पढ़ सकता। हमारा पहला कनेक्शन चल गया, लेकिन /var/log/xrdp.log ने दिखाया कि उस पर भरोसा क्यों नहीं करना चाहिए:

Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1

की के बिना xrdp, TLS की जगह पुराने RDP एन्क्रिप्शन पर लौट जाता है। उसे पढ़ने की अनुमति दें और रीस्टार्ट करें:

sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp

अगला कनेक्शन हमारे लॉग में ऐसे दिखा: TLS connection established ... TLSv1.3। आप अपना सर्वर भी इसी तरह जाँच सकते हैं:

sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2

4. पोर्ट 3389 को इंटरनेट से दूर रखें

इंस्टॉल होने के बाद xrdp हर पते पर सुनता है। Windows के उलट xrdp में Network Level Authentication नहीं है, इसलिए जो भी पोर्ट तक पहुँचे उसे पासवर्ड आज़माने के लिए लॉगिन स्क्रीन मिल जाती है। इसे सिर्फ़ सर्वर पर ही सुनने दें:

sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389

आख़िरी लाइन में 127.0.0.1:3389 दिखना चाहिए। हमारे टेस्ट में इसके बाद सर्वर के पते पर 3389 से सीधा कनेक्शन मना हो गया, और अगले कदम वाली टनल चलती रही।

5. SSH से जुड़ें

अपने कंप्यूटर पर एक टनल खोलें। Windows में PowerShell में यही ssh कमांड है:

ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP

NAT प्लान पर -p और डैशबोर्ड वाला निजी SSH पोर्ट जोड़ें। वह विंडो खुली रहने दें। फिर अपने रिमोट डेस्कटॉप ऐप को localhost:13389 पर लगाएँ और deploy के रूप में उसी यूज़र के पासवर्ड से लॉग इन करें:

  • Windows: रिमोट डेस्कटॉप कनेक्शन (mstsc)।
  • macOS: App Store से Windows App।
  • Linux: Remmina, या xfreerdp /v:localhost:13389 /u:deploy।

लोकल पोर्ट 3389 की जगह 13389 है, क्योंकि आपके कंप्यूटर पर 3389 पहले से उसके अपने रिमोट डेस्कटॉप के पास हो सकता है। पहली बार ऐप एक अनजान सर्टिफ़िकेट की चेतावनी देता है। यह सर्वर का सेल्फ़-साइन्ड सर्टिफ़िकेट है, और कनेक्शन वैसे भी SSH के अंदर एन्क्रिप्टेड है।

6. आपको क्या मिलता है

पैनल, फ़ाइल मैनेजर और टर्मिनल वाला XFCE डेस्कटॉप। हमारे सर्वर पर एक सेशन ने करीब 360 MB RAM बढ़ाई: जुड़ने से पहले 388 MB इस्तेमाल हो रही थी, सेशन के दौरान 747 MB।

रिमोट डेस्कटॉप की विंडो बंद करने से लॉग आउट नहीं होता। हमारे टेस्ट में कनेक्शन तोड़ने के बाद भी एक लंबी कमांड चलती रही। जब हम दोबारा जुड़े तो xrdp ने हमें उसी सेशन में लौटा दिया (उसके लॉग में reconnected session ... display :10)। सेशन सच में ख़त्म करने के लिए XFCE मेन्यू में Log Out इस्तेमाल करें।

कौन-सा प्लान

डेस्कटॉप को CPU से ज़्यादा RAM चाहिए। Micro (2 vCPU, 2 GB, 25 GB, $5/महीना) XFCE और हल्के टूल आराम से चलाता है। अगर सेशन में वेब ब्राउज़र खुला रखना है, तो Small लें, जिसमें 4 vCPU और 4 GB हैं, $8/महीना। दोनों NAT प्लान हैं, और यहाँ इससे फ़र्क नहीं पड़ता: रिमोट डेस्कटॉप आपके SSH पोर्ट से गुज़रता है।

अगर आपको असल में Windows सॉफ़्टवेयर चाहिए, तो Windows VPS उसे सीधे चलाता है, और Windows-Small $11/महीना से शुरू होता है। Ubuntu 24.04 Ubuntu VPS पेज पर है और VPS के हर Linux प्लान पर उपलब्ध है। भुगतान Base, Ethereum या Polygon नेटवर्क पर USDT, USDC या ETH में होता है।

सामान्य प्रश्न

क्या मैं Windows के साधारण रिमोट डेस्कटॉप ऐप से जुड़ सकता हूँ?

हाँ। xrdp RDP प्रोटोकॉल बोलता है, इसलिए Windows का बिल्ट-इन रिमोट डेस्कटॉप कनेक्शन, macOS पर Windows App और Linux पर Remmina या xfreerdp सब चलते हैं। आप सर्वर के पते की जगह SSH टनल से localhost से जुड़ते हैं।

क्या यह NAT प्लान पर चलता है?

हाँ। RDP कनेक्शन SSH के अंदर चलता है, और SSH ही वह इकलौता पोर्ट है जिसे NAT प्लान आपके सर्वर तक फ़ॉरवर्ड करता है। यह गाइड हर प्लान पर यही तरीका सुझाती है, क्योंकि पोर्ट 3389 इंटरनेट के लिए बंद रहता है।

डेस्कटॉप कितनी RAM लेता है?

हमारे टेस्ट सर्वर पर XFCE के एक सेशन ने लगभग 360 MB बढ़ाए: इस्तेमाल हो रही मेमोरी 388 MB से 747 MB हो गई। 2 GB वाला Micro प्लान डेस्कटॉप और हल्के टूल के लिए काफ़ी है। अगर सेशन में वेब ब्राउज़र चलाना है, तो 4 GB ज़्यादा आरामदेह है।

मुझे काली स्क्रीन या "Oh no! Something has gone wrong" दिखता है। क्या गड़बड़ है?

xrdp ने XFCE की जगह GNOME चला दिया। कदम 1 के पैकेज GNOME का सेशन मैनेजर भी साथ ले आते हैं, और Ubuntu उसे सिस्टम का डिफ़ॉल्ट बना देता है। लॉग इन करने वाले यूज़र के लिए ~/.xsession फ़ाइल बनाएँ जिसमें xfce4-session लिखा हो, फिर दोबारा जुड़ें।

क्या मैं RDP से root के रूप में लॉग इन कर सकता हूँ?

xrdp डिफ़ॉल्ट रूप से इसकी इजाज़त देता है (/etc/xrdp/sesman.ini में AllowRootLogin=true), लेकिन sudo वाला सामान्य यूज़र इस्तेमाल करना बेहतर है। root को रोकने के लिए AllowRootLogin=false करें और xrdp रीस्टार्ट करें।

टिप्पणियाँ

अभी तक कोई टिप्पणी नहीं। पहले बनें।

एक टिप्पणी छोड़ें

टिप्पणियाँ दिखने से पहले मॉडरेट की जाती हैं।