SSD Nodes Learn 🎉 VPS $5.50/மாதம் முதல்
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-16

Linux VPS-ல் Remote Desktop அமைப்பது எப்படி?

Linux VPS-ல் xrdp மற்றும் XFCE பயன்படுத்தி graphical desktop அமைக்கும் முறையை அறியுங்கள். பாதுகாப்பான SSH tunneling மூலம் இணைப்பது எப்படி மற்றும் RustDesk பயன்பாடு குறித்து விரிவாகப்

Linux VPS-ல் remote desktop என்பதன் உண்மையான பொருள்

"Linux VPS-ல் remote desktop" என்று தேடும்போது இரண்டு வெவ்வேறு தயாரிப்புகள் முடிவுகளாகக் கிடைக்கின்றன. தவறானதைத் தேர்ந்தெடுத்தால் உங்கள் பொழுதே வீணாகும். முதலாவது, remote-access broker. RustDesk-ன் self-hosted server இதற்கு ஒரு பொதுவான உதாரணம். இது உங்களிடம் ஏற்கனவே உள்ள இரண்டு கணினிகளுக்கு இடையே (உதாரணமாக, உங்கள் laptop மற்றும் வீட்டில் உள்ள PC) ஒரு session-ஐ இணைத்துத் தரும். வாடகைக்கு எடுக்கப்பட்ட server-ல் எந்த desktop-உம் இயங்காது. இது இரண்டு முனைகளையும் ஒன்றோடொன்று அறிமுகப்படுத்தி, அவை நேரடியாகத் தொடர்புகொள்ள முடியாதபோது தரவுப் பொதிகளை (packets) மட்டும் கடத்தும். இரண்டாவது, வாடகை server-ல் இயங்கும் ஒரு உண்மையான graphical desktop. இதில் pixels தரவு மையத்திலேயே (data centre) உருவாக்கப்பட்டு உங்களுக்கு stream செய்யப்படும். இதுவே xrdp, VNC (virtual network computing) அல்லது container workspace ஆகும்.

இவை இரண்டையும் ஒரு கேள்வி மூலம் பிரிக்கலாம். இது செயல்படத் தொடங்கியதும், mouse pointer எங்கே இருக்கும்? உங்களிடம் ஏற்கனவே உள்ள கணினியில் என்றால், உங்களுக்கு ஒரு broker தேவை. VPS-லேயே என்றால், உங்களுக்கு VPS-ல் இயங்கும் desktop தேவை. கீழே உள்ள பகுதியில் இரண்டாவது வகைக்கே அதிக முக்கியத்துவம் கொடுக்கப்பட்டுள்ளது, ஏனெனில் பெரும்பாலான வழிகாட்டிகள் இதைக் குறிப்பிடுவதில்லை.

உங்கள் பணிக்கு எந்த விருப்பம் பொருத்தமானது

  • சொந்த relay-உடன் கூடிய RustDesk. இது அமர்வுகளை (sessions) அந்நியர்கள் நடத்தும் பொது rendezvous server வழியாகச் செல்லாமல் பாதுகாக்கிறது, ஏனெனில் key pair உங்களிடம் உள்ளது. இது கட்டுப்படுத்தப்படும் கணினியைப் பாதுகாக்காது; நீங்கள் client-ஐ நிறுவிய PC மற்றும் அதன் கடவுச்சொல் ஆகியவற்றின் பாதுகாப்பு அப்படியே இருக்கும்.
  • SSH tunnel அல்லது VPN வழியாக xrdp. இது TCP 3389 போர்ட்டை இணையம் முழுவதும் ஸ்கேன் செய்வதிலிருந்தும், RDP login பெட்டியில் கடவுச்சொற்களை ஊகிப்பதிலிருந்தும் உங்களைப் பாதுகாக்கிறது, ஏனெனில் அந்த போர்ட் இணையத்தில் நேரடியாகத் தெரிவதில்லை. ஆனால், tunnel-க்குள் ஏற்கனவே நுழைந்தவர்களிடமிருந்து பலவீனமான கணக்கு கடவுச்சொல்லை இது பாதுகாக்காது.
  • அதே tunnel வழியாக VNC. இது துண்டிக்கப்பட்டாலும் நீடிக்கும் desktop அமர்வை வழங்குகிறது, இது RDP-ஐ விட பழைய மற்றும் எளிமையான protocol ஆகும். இது தானாக எதையும் பாதுகாப்பதில்லை: tunnel மட்டுமே அனைத்து பாதுகாப்பு வேலைகளையும் செய்கிறது, எனவே பொது போர்ட்டில் VNC-ஐ மட்டும் பயன்படுத்துவது இதில் மிக மோசமான விருப்பமாகும்.
  • Webtop அல்லது Kasm போன்ற container workspace. இது உலாவி (browser) அல்லது முழு desktop-ஐயும் ஒரு container-ல் வழங்குகிறது, அதை நீங்கள் அழித்துவிட்டு மீண்டும் உருவாக்கலாம். இது உங்கள் உண்மையான கணினியை உலாவி அணுகும் தளங்களிலிருந்து பாதுகாக்கிறது. இது host-ஐப் பாதுகாக்காது: இந்த images அதிக உரிமைகளுடன் மற்றும் கடவுச்சொல் இல்லாத sudo-உடன் இயங்குகின்றன, எனவே hostile workload-ஐக் கையாளும் போது container-ஐ ஒரு பாதுகாப்பான எல்லையாக நம்பக்கூடாது.

Ubuntu 24.04-ல் xrdp மற்றும் XFCE-ஐ நிறுவுதல்

VPS server image-ல் graphical desktop இருப்பதில்லை. நீங்கள் ஒன்றை நிறுவி, பின் RDP (remote desktop protocol)-ஐ ஆதரிக்கும் open-source server ஆன xrdp-ஐ நிறுவ வேண்டும். இது Windows client பயன்படுத்தும் அதே protocol ஆகும். இலகுவான desktop-ஐத் தேர்வு செய்யவும்; இதற்கு XFCE சிறந்த தேர்வாகும்.

sudo apt update
sudo apt install -y xrdp xorgxrdp xfce4 xfce4-goodies dbus-x11
systemctl is-active xrdp

ஆகஸ்ட் 2026 நிலவரப்படி, Ubuntu 24.04-ன் universe component-ல் xrdp 0.9.24 மற்றும் xorgxrdp உள்ளன. xorgxrdp-ஐ அதன் பெயரைக் கொண்டே நிறுவவும்; இது ஒரு பரிந்துரைக்கப்பட்ட package மட்டுமே என்றாலும், புதிய session-ஐத் தொடங்க xrdp-க்குத் தேவையான X server backend இதுவே. இது இல்லையெனில், login box உங்கள் கடவுச்சொல்லை ஏற்றுக்கொண்டு, மீண்டும் login box-க்கே உங்களை அழைத்துச் செல்லும்.

இப்போது எந்த desktop-ஐத் தொடங்க வேண்டும் என்று session-க்குக் கூறவும். xrdp /etc/xrdp/startwm.sh-ஐ இயக்குகிறது, அந்த file இருக்கும்போது அது ~/.xsession-ஐ இயக்கும்.

echo "xfce4-session" > ~/.xsession
chmod 644 ~/.xsession

இறுதியாக, client-களுக்கு வழங்கும் TLS (transport layer security) key-ஐ xrdp படிக்க வேண்டும். அந்த file mode 640 ஆக இருக்க வேண்டும் மற்றும் ssl-cert group-ன் உரிமையில் இருக்க வேண்டும்.

ls -l /etc/ssl/private/ssl-cert-snakeoil.key
id xrdp

இந்த listing -rw-r----- 1 root ssl-cert-ஐக் காட்டுகிறது. id xrdp கட்டளையை இயக்கும்போது ssl-cert group-களின் பட்டியலில் இல்லை என்றால், sudo adduser xrdp ssl-cert கட்டளையை இயக்கி, பின் sudo systemctl restart xrdp-ஐ இயக்கவும். இதைத் தவிர்க்க வேண்டாம்; இல்லையெனில் xrdp-ஆல் key-ஐத் திறக்க முடியாது, மேலும் /var/log/xrdp.log அந்தப் பிழையை snakeoil filename-உடன் பதிவு செய்யும்.

ஏன் port 3389-ஐ இணையத்திற்குத் திறக்கக்கூடாது

TCP 3389-ஐ இணையத்தில் உள்ள அனைத்து ஸ்கேனர்களும் தொடர்ந்து கண்காணித்து வருகின்றன, மேலும் ஒவ்வொரு கடவுச்சொல் முயற்சிக்கும் RDP login திரை பதிலளிக்கும். இதைத் திறக்க வேண்டாம். xrdp-ஐ loopback முகவரியுடன் பிணைத்து (bind), நீங்கள் ஏற்கனவே நம்பும் ஒரு tunnel வழியாக அதை அணுகவும்.

/etc/xrdp/xrdp.ini-ஐத் திருத்தி, [Globals] பிரிவில் உள்ள listener-ஐ மாற்றவும்.

[Globals]
port=tcp://.:3389

வழங்கப்பட்ட கோப்பில் அதற்கான syntax கருத்துகளாக (comments) குறிப்பிடப்பட்டுள்ளது: tcp://.:3389 என்பது 127.0.0.1:3389 என்பதைக் குறிக்கும், tcp://:3389 என்பது அனைத்து interface-களையும் குறிக்கும். சேவையை மறுதொடக்கம் செய்து உறுதிப்படுத்தவும், ஏனெனில் இதில் ஏற்படும் ஒரு தட்டச்சுப் பிழை (typo), சேவையை அனைத்து முகவரிகளிலும் அமைதியாக இயங்க விட்டுவிடும்.

sudo systemctl restart xrdp
ss -tlnp | grep 3389

உங்களுக்குத் தேவை 127.0.0.1:3389. 0.0.0.0:3389 என்று காட்டினால், xrdp உங்கள் மாற்றத்தைப் புறக்கணித்துவிட்டது என்று பொருள்; பொதுவாக அந்த வரி கோப்பின் கீழ் பகுதியில் வேறு ஒரு தலைப்பின் கீழ் சென்றிருப்பதே இதற்குக் காரணம்.

இப்போது உங்கள் கணினியிலிருந்து tunnel-ஐத் திறக்கவும்.

ssh -N -L 3389:127.0.0.1:3389 you@vps.example.com

-N என்பது "இணைப்பைத் திறக்கவும் ஆனால் எந்தக் கட்டளையையும் இயக்க வேண்டாம்" என்று பொருள், எனவே அந்த session port-ஐக் கொண்டு செல்ல மட்டுமே இருக்கும். அந்த terminal-ஐ இயங்க விட்டுவிட்டு, RDP client-ஐ 127.0.0.1:3389-க்குச் சுட்டிக்காட்டவும். Linux client-ல் இதற்கான மென்பொருள் FreeRDP 3 ஆகும், Ubuntu 24.04-ல் அதன் binary xfreerdp3 என்று அழைக்கப்படுகிறது:

sudo apt install -y freerdp3-x11
xfreerdp3 /v:127.0.0.1:3389 /u:you /dynamic-resolution +clipboard /sound

Windows-ல் உள்ளமைக்கப்பட்ட mstsc-ஐப் பயன்படுத்தவும், கணினியின் பெயராக 127.0.0.1 என்று உள்ளிடவும். முதல்முறை இணையும்போது சான்றிதழை (certificate) நம்புமாறு FreeRDP கேட்கும் மற்றும் Do you trust the above certificate? (Y/T/N) என்று காட்டும், இது self-signed snakeoil சான்றிதழுக்கு இயல்பானது.

ssh bind [127.0.0.1]:3389: Address already in use என்று பதிலளித்தால், உங்கள் கணினியில் ஏற்கனவே ஏதோ ஒன்று 3389-ஐப் பயன்படுத்துகிறது என்று பொருள். ssh -N -L 13389:127.0.0.1:3389 you@vps.example.com மூலம் local முனையை மாற்றி, 127.0.0.1:13389-க்கு இணைக்கவும்.

ஒவ்வொரு நபருக்கும் ஒரு tunnel அமைப்பது கடினமானது, எனவே ஒரு குழுவிற்கு private network சிறந்த தீர்வாகும். அந்த server-ஐ self-hosted WireGuard VPN-க்கு பின்னால் வைத்து, அதற்கு 10.8.0.1 என்ற tunnel முகவரியைக் கொடுத்து, port=tcp://10.8.0.1:3389-ஐ அமைக்கவும், இதன் மூலம் xrdp VPN-க்குள் மட்டுமே பதிலளிக்கும். எப்படியிருப்பினும், 3389-க்கான firewall விதி இருக்கவே கூடாது. உங்கள் தற்போதைய விதிகள் எதை அனுமதிக்கின்றன என்பதில் உங்களுக்குத் தெளிவில்லை என்றால், ufw firewall basics on a VPS என்பதைப் பார்த்து, இணைப்பதற்கு முன்பே சரிபார்க்கவும்.

2 GB VPS-ல் remote desktop எவ்வளவு RAM-ஐப் பயன்படுத்தும்

நீங்கள் தேர்ந்தெடுக்கும் desktop, 2 GB திட்டம் போதுமானதா அல்லது பயனற்றதா என்பதைத் தீர்மானிக்கிறது. கீழே உள்ள எண்கள் Ubuntu 24.04-ல் login செய்தவுடன் பயன்படுத்தப்படும் தோராயமான நினைவக அளவுகள் ஆகும்; இவை உங்கள் கணினியில் அளவிடப்பட்டவை அல்ல, வெளியிடப்பட்ட ஒப்பீடுகளிலிருந்து எடுக்கப்பட்டவை. நீங்கள் இணைந்தவுடன் free -m மூலம் நீங்களே அளவிடவும்.

ChartTypical memory in use after login, Ubuntu 24.04 (published figures)
The data behind this chart
[
  {
    "label": "LXQt",
    "idle_ram_mb": 300
  },
  {
    "label": "XFCE",
    "idle_ram_mb": 400
  },
  {
    "label": "MATE",
    "idle_ram_mb": 500
  },
  {
    "label": "KDE Plasma",
    "idle_ram_mb": 800
  },
  {
    "label": "GNOME",
    "idle_ram_mb": "1,200"
  }
]

அந்த 5 desktop-களிலும் நினைவகப் பயன்பாட்டின் வேறுபாடே முக்கியமானது. LXQt சுமார் 300 MB-யிலும், XFCE சுமார் 400 MB-யிலும் இயங்குகின்றன. எனவே, இவை இரண்டிலும் 2 GB கணினியில் browser-ஐ இயக்க போதுமான இடம் உள்ளது. GNOME ஒரு சாளரத்தைத் திறப்பதற்கு முன்பே சுமார் 1,200 MB-யைக் கேட்கிறது; இது 2 GB-ல் browser-க்கும் desktop-க்கும் இடையே நினைவகத்திற்காகப் போட்டியை ஏற்படுத்தும்.

desktop shell-ஐ விட browser-ன் பயன்பாடே அதிக செலவை ஏற்படுத்துகிறது. ஒரு நவீன browser ஒவ்வொரு active tab-க்கும் 150 முதல் 400 MB வரை பயன்படுத்துகிறது. எனவே, XFCE இயங்கும் 2 GB VPS-ல் சில tab-களைத் திறந்தாலே அது swapping-க்குச் சென்றுவிடும். செயல்முறைகளை (processes) நிறுத்துவதற்குப் பதிலாக கணினி மெதுவாகச் செயல்பட swap-ஐச் சேர்க்கவும்: sudo fallocate -l 2G /swapfile, பிறகு sudo chmod 600 /swapfile, sudo mkswap /swapfile, sudo swapon /swapfile, மற்றும் /etc/fstab-ல் அதற்கு இணையான வரியைச் சேர்க்கவும், அப்போதுதான் reboot செய்த பிறகும் அது நிலைத்திருக்கும். ஏதேனும் ஒரு செயல்முறை எச்சரிக்கையின்றி மறைந்துவிட்டால், dmesg | grep -i "killed process"-ஐ இயக்கவும். அந்த வரி, kernel-ன் out-of-memory killer அதை முடித்துவிட்டது என்பதைக் குறிக்கிறது; பொதுவாக browser-தான் இதற்குப் பலியாகிறது.

CPU மற்றொரு எல்லையாகும், இதை குறைவாக மதிப்பிடுவது எளிது. VPS-ல் GPU கிடையாது, எனவே X ஆனது llvmpipe மூலம் software rendering-க்கு மாறுகிறது; அதாவது ஒவ்வொரு pixel-ஐயும் CPU-தான் வரைய வேண்டும். ஒரு கனமான பக்கத்தை scroll செய்யும்போதும், video பார்க்கும்போதும் அது CPU சுமையாகவே வெளிப்படும், கணினி உறைவதற்குப் பதிலாக frame rate குறையும். VPS-ல் game விளையாட முடியுமா என்று நீங்கள் யோசித்திருந்தால், அதே தடையைத்தான் நீங்களும் சந்திப்பீர்கள்: 3D சார்ந்த எதற்கும் விடை 'இல்லை' என்பதுதான், இதற்குக் காரணம் இதுவே.

xrdp அமர்வில் ஒலி மற்றும் கிளிப்போர்டு

Ubuntu 24.04 ஒலிக்காக PipeWire-ஐப் பயன்படுத்துகிறது, ஆனால் xrdp-ன் ஒலி திசைமாற்றம் (sound redirection) PulseAudio-க்காக உருவாக்கப்பட்டது. எனவே, புதிய நிறுவலில் வீடியோ வேலை செய்யும், ஆனால் ஒலி இருக்காது. இதற்கான பாலத்தை (bridge) Ubuntu தொகுப்பாக வழங்குகிறது.

sudo apt install -y pipewire-module-xrdp pulseaudio-utils alsa-utils

RDP அமர்விலிருந்து முழுமையாக வெளியேறி (log out) மீண்டும் நுழையவும். ஏனெனில், அமர்வு தொடங்கும்போதே இந்த module ஏற்றப்படும். வெறும் reconnect மட்டும் போதாது. அமர்வுக்குள் நுழைந்த பிறகு பின்வருவனவற்றைச் சரிபார்க்கவும்:

pactl list short sinks
speaker-test -c 2 -t wav -l 1

xrdp என்று பெயரிடப்பட்ட sink-ஐ நீங்கள் பார்க்க வேண்டும், மேலும் உங்கள் client வழியாக சோதனை ஒலியைக் கேட்க வேண்டும். xrdp sink இல்லை என்றால், அந்த module இந்த அமர்வில் ஏற்றப்படவில்லை என்று அர்த்தம். உங்கள் client-ம் ஒலியைப் பெறக் கோர வேண்டும்: இதற்கு xfreerdp3-ல் /sound flag-ஐப் பயன்படுத்த வேண்டும், அல்லது Windows client-ல் உள்ள Local Resources பிரிவில் "Remote audio" அமைப்பைச் செயல்படுத்த வேண்டும்.

உங்கள் அமர்வுக்கு xrdp-chansrv இயங்கத் தொடங்கியவுடன், உரை கிளிப்போர்டு (text clipboard) இரு திசைகளிலும் வேலை செய்யும். இதை xrdp உங்களுக்காகத் தொடங்கும். pgrep -a xrdp-chansrv மூலம் இதை உறுதிப்படுத்தவும். அமர்வின் இடையில் copy மற்றும் paste வேலை செய்யவில்லை என்றால், அந்த process நின்றுவிட்டது என்று பொருள்; மீண்டும் இணைப்பதன் (reconnect) மூலம் அது தானாகத் தொடங்கும். உரைக்கு பதிலாகக் கோப்புகளை நகலெடுப்பது drive redirection எனப்படும் தனிச் சேனல் ஆகும்: xfreerdp3-ல் /drive:home,/home/you கட்டளையைப் பயன்படுத்தி உள்ளூர் கோப்புறையை (local folder) remote அமர்வில் mount செய்யலாம்.

polkit பாப்-அப் மற்றும் முதல்முறை உள்நுழையும்போது ஏற்படும் பிற தோல்விகள்

முதல்முறை உள்நுழையும்போது பொதுவாக ஏற்படும் ஆச்சரியம் Authentication is required to create a color managed device என்ற உரையாடல் பெட்டி ஆகும். இதற்கான காரணம் குறிப்பிட்டது. colord சேவை polkit-இடம் அனுமதி கேட்கிறது; polkit அந்தச் செயலை உள்ளூர் அமர்வுக்கு (locally seated) மட்டுமே அமைதியாக அனுமதிக்கும். RDP அமர்வு உள்ளூர் அமர்வாகக் கருதப்படாததால், polkit உங்களிடம் கடவுச்சொல்லைக் கேட்கிறது. Ubuntu 24.04-ல் polkit 124 உள்ளது, இது பழைய உள்ளூர் அதிகார .pkla கோப்புகளை நீக்கிவிட்டது. எனவே, /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla-ஐ எழுதச் சொல்லும் எந்த வழிகாட்டியும் 24.04-ல் எந்தப் பலனையும் தராது. அதற்குப் பதிலாக ஒரு JavaScript விதியை எழுதவும்.

/* /etc/polkit-1/rules.d/45-allow-colord.rules */
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.color-manager.") === 0 &&
        subject.isInGroup("sudo")) {
        return polkit.Result.YES;
    }
});

sudo systemctl restart polkit-ஐ இயக்கிவிட்டு மீண்டும் இணைக்கவும். மேலும் இரண்டு தோல்விகளை அவற்றின் அறிகுறிகளைக் கொண்டு அறிந்துகொள்வது அவசியம்.

உள்நுழைவு பெட்டி உங்கள் கடவுச்சொல்லை ஏற்றுக்கொண்டு மீண்டும் அதே திரையைக் காட்டுகிறது. அமர்வு தொடங்கி உடனே முடிந்துவிட்டது. முதலில் /var/log/xrdp-sesman.log-ஐப் படிக்கவும், பிறகு உங்கள் home directory-ல் உள்ள ~/.xsession-errors-ஐப் பார்க்கவும். விடுபட்ட xorgxrdp, நிறுவப்படாத desktop-ஐக் குறிப்பிடும் ~/.xsession, நீங்கள் எழுத முடியாத home directory அல்லது நிரம்பிய வட்டு (full disk) ஆகியவை இதற்கு காரணமாக இருக்கலாம்.

நீங்கள் இணைக்கும்போது X cursor உடன் சாம்பல் நிறத் திரை தெரிகிறது. X தொடங்கிவிட்டது, ஆனால் desktop தொடங்கவில்லை. அது மீண்டும் ~/.xsession ஆகும்: SSH வழியாக xfce4-session-ஐ நீங்களே இயக்கி, அது காட்டும் பிழைச் செய்தியைப் படிக்கவும்.

self-hosted RustDesk server-ன் செயல்பாடுகள்

RustDesk இரண்டு செயல்முறைகளாகப் பிரிகிறது. hbbs என்பது வாடிக்கையாளர்கள் (clients) பதிவு செய்யும் ID மற்றும் rendezvous server ஆகும். நேரடி peer-to-peer இணைப்பு தோல்வியடையும் போது, அமர்வை (session) கொண்டு செல்லும் relay-ஆக hbbr செயல்படுகிறது. இவை இரண்டிலும் desktop இயங்காது. இவை இரண்டும் ஒரே image-லிருந்து வருகின்றன. திட்டத்தின் அதிகாரப்பூர்வ compose file கீழே கொடுக்கப்பட்டுள்ளது; இதில் relay முகவரி உங்கள் host name-க்கு மாற்றப்பட்டுள்ளது:

services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs -r rustdesk.example.com:21117
    ports:
      - 21115:21115
      - 21116:21116
      - 21116:21116/udp
      - 21118:21118
    volumes:
      - ./data:/root
    restart: unless-stopped
  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    ports:
      - 21117:21117
      - 21119:21119
    volumes:
      - ./data:/root
    restart: unless-stopped

இதை இயக்கி, முதல்முறை தொடங்கும் போது server உருவாக்கிய public key-ஐப் படிக்கவும்:

sudo docker compose up -d
sudo cat ./data/id_ed25519.pub

ஒவ்வொரு client-க்கும் உங்கள் host name மற்றும் அந்த public key தேவைப்படும். இவை இரண்டையும் RustDesk client-ல் உள்ள Network அமைப்புகளில் உள்ளிட வேண்டும். இதனுடன் தொடர்புடைய private key ./data/id_ed25519-ல் இருக்கும். தரவு அடைவை (data directory) நீக்கினால், server புதிய ஜோடி சாவிகளை உருவாக்கும்; அப்போது ஒவ்வொரு client-லும் புதிய key-ஐ மீண்டும் உள்ளமைக்க வேண்டியிருக்கும். எனவே, அந்த அடைவை backup எடுக்கவும்.

Firewall-ல் இந்த ports-ஐ நேரடியாக அனுமதிக்க வேண்டும். hbbs TCP 21115, 21116 மற்றும் 21118, மற்றும் UDP 21116-ஐப் பயன்படுத்துகிறது. hbbr TCP 21117 மற்றும் 21119-ஐப் பயன்படுத்துகிறது.

sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp
sudo ufw allow 21118/tcp
sudo ufw allow 21119/tcp

RustDesk ஏன் nginx அல்லது Traefik-க்கு பின்னால் இயங்காது

ஏற்கனவே அனைத்து சேவைகளுக்கும் ஒரு reverse proxy மூலம் TLS termination செய்யும் பயனர்கள், RustDesk-ஐயும் அதேபோல் அமைக்க முயன்று தோல்வியடைகின்றனர். hbbs மற்றும் hbbr ஆகியன HTTP-க்கு பதிலாக TCP மற்றும் UDP வழியாகத் தங்களுக்குரிய binary protocols-ஐப் பயன்படுத்துகின்றன. இதில் routing செய்வதற்கு Host header கிடையாது, ஆய்வு செய்வதற்கு HTTP request-ம் கிடையாது. எனவே, ஒரு nginx server block அல்லது Traefik HTTP router-ஆல் இதில் எதையும் பொருத்த முடியாது. 21116 port-ல் உள்ள UDP listener எந்தவொரு அடுக்கிலும் (layer) HTTP சார்ந்ததல்ல.

இரண்டு வழிகளில் இதைச் செயல்படுத்தலாம். nginx மூலம் TCP ports-ஐ stream block பயன்படுத்தி forward செய்ய முடியும்; இது வழக்கமான reverse proxy அல்ல, மாறாக layer 4 forwarding ஆகும். மேலும், 21118 மற்றும் 21119 ஆகிய ports-ல் RustDesk web client-க்கான websockets இயங்குகின்றன. இவை சாதாரண HTTP என்பதால், இவற்றை உங்கள் proxy-க்கு பின்னால் வைக்கலாம். அவ்வாறு செய்யும்போது, proxy மட்டுமே 21118 மற்றும் 21119-ஐ அணுகும் வகையில் firewall விதிகளை அமைக்கவும். ஏனெனில், websocket இணைப்புகளில் உண்மையான client முகவரியைக் கண்டறிய hbbs ஆனது X-Real-IP header-ஐ நம்பியிருக்கிறது.

Container-ல் இயங்கும் ஒரு தற்காலிக browser

சில நேரங்களில், உங்கள் சொந்த கணினியிலிருந்து தனிமைப்படுத்தப்பட்ட, மாறாத IP முகவரியைக் கொண்ட ஒரு சுத்தமான browser மட்டுமே உங்களுக்குத் தேவைப்படும். ஒரு container workspace, மிகக் குறைந்த மென்பொருள் நிறுவலுடன் இந்தத் தேவையைப் பூர்த்தி செய்கிறது. LinuxServer-ன் Webtop ஒரு இலகுவான தேர்வாகும்:

services:
  webtop:
    image: lscr.io/linuxserver/webtop:latest
    container_name: webtop
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /path/to/data:/config
    ports:
      - 127.0.0.1:3000:3000
      - 127.0.0.1:3001:3001
    shm_size: "1gb"
    restart: unless-stopped

Port 3000 HTTP-க்கும், 3001 HTTPS-க்கும் சேவை வழங்குகின்றன. எந்தவொரு RDP client-ம் இன்றி, browser tab மூலமாகவே நீங்கள் desktop-ஐ அணுகலாம். பல்வேறு base distributions-ல் XFCE, KDE, MATE மற்றும் i3 ஆகியவற்றுக்கான image tags கிடைக்கின்றன. இந்தத் திட்டத்தின் ஆவணங்கள் இதில் உள்ள அபாயத்தைப் பற்றித் தெளிவாகக் குறிப்பிடுகின்றன: இந்த container-க்கு host மீது privileged access உள்ளது மற்றும் கடவுச்சொல் இல்லாத sudo கொண்ட terminal-ஐயும் உள்ளடக்கியுள்ளது. எனவே, இதை இணையத்தில் பாதுகாப்பற்ற முறையில் நேரடியாகத் திறக்கக்கூடாது. இதனால்தான், மேலே உள்ள ports அனைத்தும் அனைத்து முகவரிகளிலும் வெளியிடப்படாமல், 127.0.0.1-க்கு மட்டும் பிணைக்கப்பட்டுள்ளன (bound). xrdp-க்கு நீங்கள் பயன்படுத்திய அதே SSH tunnel அல்லது VPN வழியாகவே இதையும் அணுகவும்.

Kasm Workspaces-ம் இதே கருத்தாக்கத்தைக் கொண்டது, ஆனால் இது பெரிய அளவிலான கட்டமைப்பைக் கொண்டது. இதில் web console, பயனர் கணக்குகள் மற்றும் session முடியும் போது தானாகவே reset ஆகும் per-session containers ஆகியவை உள்ளன. இதற்கு ஒரு சிறிய VPS-ல் இருப்பதை விட அதிக வன்பொருள் திறன் தேவை. ஆகஸ்ட் 2026 நிலவரப்படி, ஆவணப்படுத்தப்பட்ட குறைந்தபட்சத் தேவை 2 CPU cores, 4 GB memory மற்றும் 50 GB SSD ஆகும். ஒவ்வொரு பயனர் session-க்கும் கூடுதலாக 2 cores மற்றும் 2768 MB தேவைப்படும். எனவே, 2 GB plan-ல் இதை இயக்க முடியாது. இதன் நிறுவல் ஒரு download மற்றும் ஒரு script மூலம் நடைபெறுகிறது:

cd /tmp
curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.7f020d.tar.gz
tar -xf kasm_release_1.17.0.7f020d.tar.gz
sudo bash kasm_release/install.sh

VNC மற்றும் அதன் தற்போதைய பயன்பாடு

VNC என்பது drawing commands-க்கு பதிலாக framebuffer updates-ஐ அனுப்புகிறது. எனவே, மெதுவான இணைப்புகளில் இது RDP-ஐ விட அதிக சுமையாக உணரப்படும், மேலும் இதில் sound channel வசதி இல்லை. ஒரு குறிப்பிட்ட சூழலில் மட்டும் இது பயனுள்ளதாக இருக்கும்: நீங்கள் இணைப்பைத் துண்டித்த பிறகும் இயங்கிக்கொண்டிருக்கும் ஒரு desktop session தேவைப்படும்போதும், மீண்டும் இணையும்போது அதே session-ஐப் பெற விரும்பும்போதும் இது உதவும். TigerVNC இதைச் செய்கிறது. vncserver -localhost yes :1, Xvnc-ஐ TCP 5901-ல் 127.0.0.1 முகவரியுடன் பிணைக்கிறது (bind) மற்றும் பிற இடங்களிலிருந்து வரும் இணைப்புகளை நிராகரிக்கிறது. எனவே, ssh -N -L 5901:127.0.0.1:5901 you@vps.example.com-ஐப் பயன்படுத்தி xrdp போலவே இதற்கும் tunnel அமைக்க வேண்டும். VNC port-ஐ ஒருபோதும் பொதுவெளியில் (public) வெளியிடாதீர்கள். பெரும்பாலான VNC servers handshake-ன் போது மட்டுமே கடவுச்சொல்லைப் பாதுகாக்கின்றன, அதன் பிறகு எந்தப் பாதுகாப்பும் இருப்பதில்லை. எனவே, பொதுவான port-ல் session-ன் உள்ளடக்கங்கள் network-ல் எளிதாகக் கண்காணிக்கப்படலாம்.

VPS ஒரு சிறந்த desktop-ஆ?

தினசரி பயன்பாட்டிற்கு (daily driver), இது நல்லதல்ல; இதற்கான காரணங்கள் பல உள்ளன. இதில் GPU இல்லாததால், CPU-வே அனைத்து வேலைகளையும் செய்ய வேண்டியிருக்கும். ஒவ்வொரு keystroke-ம் network round trip-க்காகக் காத்திருக்க வேண்டும்; SSH-ல் 40 ms latency பெரிய பாதிப்பை ஏற்படுத்தாது, ஆனால் text editor-ல் இது தெளிவாகத் தெரியும். வீடியோ இருமுறை compress செய்யப்படுகிறது; முதலில் அந்தத் தளத்தாலும், பிறகு RDP encoder-ஆலும் இது நடக்கும். உங்கள் கோப்புகள் உங்களிடம் இல்லாத ஒரு disk-ல் சேமிக்கப்படுகின்றன, மேலும் தீவிரமான desktop பயன்பாடு, ஒரு web server-க்காக ஒதுக்கப்பட்ட மாதாந்திர bandwidth அளவை விரைவாகக் காலி செய்துவிடும்.

ஒரு தற்காலிக இயந்திரமாக (disposable machine) இதைப் பயன்படுத்துவது மிகவும் சிறந்தது; மேற்சொன்ன அதே காரணங்களே இதற்கும் பொருந்தும். இதன் IP address நிலையானது மற்றும் ஒரு data centre-க்குச் சொந்தமானது; ஒரு service-க்கு நிலையான முகவரி தேவைப்படும்போது இதுவே உங்களுக்குத் தேவைப்படும். ஒரு image மூலம் சில நிமிடங்களில் இந்த இயந்திரத்தை மீண்டும் உருவாக்க முடியும் என்பதால், ஏதேனும் பாதிப்பு ஏற்பட்டால் உங்கள் தரவுகள் வீணாகாது. இது உங்கள் சொந்த hardware-லிருந்து தனிமைப்படுத்தப்பட்டுள்ளது, மேலும் உங்கள் laptop-ஐ மூடினாலும் இது தொடர்ந்து இயங்கும். Hourly billing முறையில் இதைப் பயன்படுத்துவது மலிவானது.

இந்த இயந்திரத்தை எதற்காகப் பயன்படுத்தலாம் என்று நீங்கள் இன்னும் யோசித்துக் கொண்டிருந்தால், VPS எதற்கெல்லாம் சிறந்தது என்பதற்கான நடைமுறைப் பட்டியல்-ஐப் படிப்பது நல்லது. ஒருவேளை ஒரு குறிப்பிட்ட Windows application-க்காக நீங்கள் desktop-ஐ விரும்பினால், அதற்கு முன் Linux மற்றும் Windows Server-க்கு இடையிலான உண்மையான வேறுபாடுகள்-ஐ ஒப்பிட்டுப் பாருங்கள், ஏனெனில் உரிமக் கட்டணம் (licence cost) உங்கள் முடிவை மாற்றக்கூடும்.

FAQ

2 GB VPS-ல் என்னால் remote desktop-ஐ இயக்க முடியுமா?

ஆம், இலகுவான desktop environment-ஐப் பயன்படுத்தினால் முடியும். XFCE அல்லது LXQt login செய்த பிறகு சுமார் 300 முதல் 400 MB வரை மட்டுமே பயன்படுத்தும், இது சில browser tabs-களைத் திறக்க போதுமானதாக இருக்கும். 2 GB RAM-ல் GNOME அல்லது KDE Plasma-வைப் பயன்படுத்தினால், applications-க்கு போதிய இடம் இருக்காது. 2 GB swap file-ஐச் சேர்க்கவும்; இது memory பற்றாக்குறையின் போது processes-களைக் கொல்வதற்குப் பதிலாக, கணினியின் வேகத்தைக் குறைத்துச் சமாளிக்க உதவும். ஏதேனும் process தானாக மறைந்துவிட்டால், kernel-ன் out-of-memory killer-ஐக் கண்டறிய dmesg | grep -i "killed process"-ஐச் சரிபார்க்கவும்.

எனது VPS firewall-ல் port 3389-ஐத் திறக்க வேண்டுமா?

கூடாது. TCP 3389 எப்போதும் scan செய்யப்படுகிறது; வெளிப்படையான RDP login பக்கம் கடவுச்சொற்களை ஊகிக்கும் தாக்குதல்களுக்கு வழிவகுக்கும். /etc/xrdp/xrdp.ini-ல் port=tcp://.:3389-ஐ அமைக்கவும், இதன் மூலம் xrdp 127.0.0.1-ல் மட்டுமே listen செய்யும். இதை ss -tlnp | grep 3389 மூலம் உறுதிப்படுத்தவும், ssh -N -L 3389:127.0.0.1:3389 you@vps.example.com மூலம் அதை அணுகவும். ஒன்றுக்கும் மேற்பட்ட நபர்கள் பயன்படுத்தினால், loopback-க்கு பதிலாக WireGuard address-ல் xrdp-ஐ bind செய்யவும்.

xrdp ஏன் "Authentication is required to create a color managed device" என்று கேட்கிறது?

colord service, polkit-இடம் அனுமதி கேட்கிறது; polkit இந்த அனுமதியை local-ஆக அமர்ந்திருக்கும் session-களுக்கு மட்டுமே தானாக வழங்குகிறது. RDP session என்பது local session அல்ல, எனவே ஒவ்வொரு முறையும் கடவுச்சொல் கேட்கிறது. Ubuntu 24.04-ல் பழைய .pkla தீர்வு வேலை செய்யாது, ஏனெனில் polkit 124-ல் local authority கோப்புகள் நீக்கப்பட்டுவிட்டன. org.freedesktop.color-manager.-ல் தொடங்கும் action ids-களுக்கு polkit.Result.YES-ஐத் தரும் JavaScript விதியைக் கொண்ட /etc/polkit-1/rules.d/45-allow-colord.rules-ஐ உருவாக்கவும், பின் sudo systemctl restart polkit-ஐ இயக்கவும்.

self-hosted RustDesk server-ஐ nginx அல்லது Traefik-க்கு பின்னால் வைக்க முடியுமா?

முக்கிய service-ஐ வைக்க முடியாது. hbbs மற்றும் hbbr ஆகியவை HTTP-க்கு பதிலாகத் தங்களின் சொந்த binary protocols-களைப் பயன்படுத்துகின்றன, எனவே routing செய்ய Host header கிடையாது. மேலும், UDP 21116-ஐ HTTP proxy மூலம் அனுப்ப முடியாது. Firewall-ல் TCP 21115 முதல் 21119 வரை மற்றும் UDP 21116-ஐத் திறந்து, clients நேரடியாக இணைக்க அனுமதிக்கவும். Web client பயன்படுத்தும் websocket ports 21118 மற்றும் 21119 ஆகியவை HTTP-யைச் சார்ந்தவை, எனவே அவற்றை proxy-க்கு பின்னால் வைக்கலாம். அவ்வாறு செய்தால், proxy மட்டுமே அவற்றை அணுகும் வகையில் firewall-ல் கட்டுப்படுத்தவும், ஏனெனில் hbbs அந்த இணைப்புகளில் X-Real-IP-ஐ நம்புகிறது.

எனது xrdp session-ல் ஏன் ஒலி (sound) கேட்கவில்லை?

Ubuntu 24.04 PipeWire-ஐப் பயன்படுத்துகிறது, ஆனால் xrdp-ன் sound redirection PulseAudio-க்காக உருவாக்கப்பட்டது. எனவே, bridge-ஐ நிறுவும் வரை ஒலி கிடைக்காது. sudo apt install -y pipewire-module-xrdp-ஐ இயக்கவும், பின் session-லிருந்து முழுமையாக logout செய்து மீண்டும் login செய்யவும். ஏனெனில், module session தொடங்கும்போதே load செய்யப்படும், reconnect செய்தால் அது load ஆகாது. pactl list short sinks மூலம் xrdp என்று பெயரிடப்பட்ட sink உள்ளதா எனச் சரிபார்க்கவும். மேலும், client ஒலி கோரிக்கையை அனுப்புகிறதா என்பதை உறுதிப்படுத்தவும்; இது xfreerdp3-ல் உள்ள /sound flag அல்லது Windows client-ல் உள்ள "Remote audio" விருப்பமாகும்.

#remote-desktop#xrdp#rustdesk#vnc#self-hosting