ചില ഉപയോക്താക്കൾ റിമോട്ട് ഡെസ്ക്ടോപ്പ് സേവനങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതിന് വിൻഡോസ് ഉപയോഗിച്ച് താരതമ്യേന ചെലവുകുറഞ്ഞ VPS വാടകയ്ക്ക് എടുക്കുന്നു. നിങ്ങളുടെ സ്വന്തം ഹാർഡ്വെയർ ഒരു ഡാറ്റാ സെന്ററിൽ ഹോസ്റ്റുചെയ്യാതെയോ അല്ലെങ്കിൽ ഒരു സമർപ്പിത സെർവർ വാടകയ്ക്കെടുക്കാതെയോ ലിനക്സിലും ഇത് ചെയ്യാൻ കഴിയും. ചില ആളുകൾക്ക് ടെസ്റ്റിംഗിനും വികസനത്തിനും പരിചിതമായ ഗ്രാഫിക്കൽ അന്തരീക്ഷം ആവശ്യമാണ്, അല്ലെങ്കിൽ മൊബൈൽ ഉപകരണങ്ങളിൽ നിന്ന് പ്രവർത്തിക്കാൻ വിശാലമായ ചാനലുള്ള ഒരു റിമോട്ട് ഡെസ്ക്ടോപ്പ് ആവശ്യമാണ്. റിമോട്ട് ഫ്രെയിംബഫർ (RFB) പ്രോട്ടോക്കോൾ അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ നെറ്റ്വർക്ക് കമ്പ്യൂട്ടിംഗ് (VNC) സിസ്റ്റം ഉപയോഗിക്കുന്നതിന് നിരവധി ഓപ്ഷനുകൾ ഉണ്ട്. ഏതെങ്കിലും ഹൈപ്പർവൈസർ ഉപയോഗിച്ച് ഒരു വെർച്വൽ മെഷീനിൽ ഇത് എങ്ങനെ ക്രമീകരിക്കാമെന്ന് ഈ ചെറിയ ലേഖനത്തിൽ ഞങ്ങൾ നിങ്ങളോട് പറയും.
ഉള്ളടക്ക പട്ടിക:
ഒരു വിഎൻസി സെർവർ തിരഞ്ഞെടുക്കുന്നു
വിർച്വലൈസേഷൻ സിസ്റ്റത്തിലേക്ക് VNC സേവനം നിർമ്മിക്കാൻ കഴിയും, കൂടാതെ ഹൈപ്പർവൈസർ അതിനെ എമുലേറ്റ് ചെയ്ത ഉപകരണങ്ങളുമായി ബന്ധിപ്പിക്കും, അധിക കോൺഫിഗറേഷൻ ആവശ്യമില്ല. ഈ ഓപ്ഷനിൽ കാര്യമായ ഓവർഹെഡ് ഉൾപ്പെടുന്നു, മാത്രമല്ല എല്ലാ ദാതാക്കളും പിന്തുണയ്ക്കുന്നില്ല - കുറഞ്ഞ റിസോഴ്സ്-ഇന്റൻസീവ് ഇംപ്ലിമെന്റേഷനിൽ പോലും, ഒരു യഥാർത്ഥ ഗ്രാഫിക്സ് ഉപകരണം അനുകരിക്കുന്നതിനുപകരം, ലളിതമായ ഒരു അബ്സ്ട്രാക്ഷൻ (ഫ്രെയിംബഫർ) വെർച്വൽ മെഷീനിലേക്ക് മാറ്റുന്നു. ചിലപ്പോൾ ഒരു വിഎൻസി സെർവർ പ്രവർത്തിക്കുന്ന എക്സ് സെർവറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു, എന്നാൽ ഈ രീതി ഒരു ഫിസിക്കൽ മെഷീൻ ആക്സസ് ചെയ്യുന്നതിന് കൂടുതൽ അനുയോജ്യമാണ്, കൂടാതെ വെർച്വൽ ഒന്നിൽ ഇത് നിരവധി സാങ്കേതിക ബുദ്ധിമുട്ടുകൾ സൃഷ്ടിക്കുന്നു. ഒരു വിഎൻസി സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള ഏറ്റവും എളുപ്പ മാർഗം ഒരു ബിൽറ്റ്-ഇൻ എക്സ് സെർവർ ആണ്. ഇതിന് ഫിസിക്കൽ ഉപകരണങ്ങൾ (വീഡിയോ അഡാപ്റ്റർ, കീബോർഡ്, മൗസ്) അല്ലെങ്കിൽ ഹൈപ്പർവൈസർ ഉപയോഗിച്ച് അവയുടെ അനുകരണം ആവശ്യമില്ല, അതിനാൽ ഏത് തരത്തിലുള്ള വിപിഎസിനും അനുയോജ്യമാണ്.
ഇൻസ്റ്റാളേഷനും കോൺഫിഗറേഷനും
ഞങ്ങൾക്ക് അതിന്റെ ഡിഫോൾട്ട് കോൺഫിഗറേഷനിൽ ഉബുണ്ടു സെർവർ 18.04 LTS ഉള്ള ഒരു വെർച്വൽ മെഷീൻ ആവശ്യമാണ്. ഈ വിതരണത്തിന്റെ സ്റ്റാൻഡേർഡ് റിപ്പോസിറ്ററികളിൽ നിരവധി വിഎൻസി സെർവറുകൾ ഉണ്ട്:
എല്ലാ ഡിപൻഡൻസികളോടും കൂടി ഡെസ്ക്ടോപ്പ് എൻവയോൺമെന്റ് ഇൻസ്റ്റാൾ ചെയ്യുന്നത് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ചാണ് ചെയ്യുന്നത്:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
അടുത്തതായി നിങ്ങൾ വിഎൻസി സെർവർ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്:
sudo apt-get install tigervnc-standalone-server tigervnc-common
സൂപ്പർ യൂസറായി ഇത് പ്രവർത്തിപ്പിക്കുന്നത് ഒരു മോശം ആശയമാണ്. ഒരു ഉപയോക്താവിനെയും ഗ്രൂപ്പിനെയും സൃഷ്ടിക്കുക:
sudo adduser vnc
നമുക്ക് സുഡോ ഗ്രൂപ്പിലേക്ക് ഉപയോക്താവിനെ ചേർക്കാം, അതിലൂടെ അയാൾക്ക് അഡ്മിനിസ്ട്രേഷനുമായി ബന്ധപ്പെട്ട ജോലികൾ ചെയ്യാൻ കഴിയും. അത്തരം ആവശ്യമില്ലെങ്കിൽ, നിങ്ങൾക്ക് ഈ ഘട്ടം ഒഴിവാക്കാം:
sudo gpasswd -a vnc sudo
~/.vnc/ ഡയറക്ടറിയിൽ സുരക്ഷിതമായ പാസ്വേഡും കോൺഫിഗറേഷൻ ഫയലുകളും സൃഷ്ടിക്കുന്നതിന് vnc ഉപയോക്തൃ അവകാശങ്ങളോടെ VNC സെർവർ പ്രവർത്തിപ്പിക്കുക എന്നതാണ് അടുത്ത ഘട്ടം. പാസ്വേഡ് ദൈർഘ്യം 6 മുതൽ 8 വരെ പ്രതീകങ്ങൾ വരെയാകാം (അധിക പ്രതീകങ്ങൾ മുറിച്ചുമാറ്റി). ആവശ്യമെങ്കിൽ, കാണുന്നതിന് മാത്രമായി ഒരു പാസ്വേഡും സജ്ജീകരിച്ചിരിക്കുന്നു, അതായത്. കീബോർഡിലേക്കും മൗസിലേക്കും പ്രവേശനമില്ലാതെ. ഇനിപ്പറയുന്ന കമാൻഡുകൾ vnc ഉപയോക്താവായി നടപ്പിലാക്കുന്നു:
su - vnc
vncserver -localhost no
സ്ഥിരസ്ഥിതിയായി, RFB പ്രോട്ടോക്കോൾ 5900 മുതൽ 5906 വരെയുള്ള TCP പോർട്ട് ശ്രേണി ഉപയോഗിക്കുന്നു - ഇതാണ് വിളിക്കപ്പെടുന്നത്. ഡിസ്പ്ലേ പോർട്ടുകൾ, ഓരോന്നും ഒരു X സെർവർ സ്ക്രീനുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, പോർട്ടുകൾ :0 മുതൽ :6 വരെയുള്ള സ്ക്രീനുകളുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. ഞങ്ങൾ സമാരംഭിച്ച VNC സെർവർ ഉദാഹരണം പോർട്ട് 5901 ശ്രവിക്കുന്നു (സ്ക്രീൻ: 1). മറ്റ് സംഭവങ്ങൾക്ക് സ്ക്രീനുകളുള്ള മറ്റ് പോർട്ടുകളിൽ പ്രവർത്തിക്കാൻ കഴിയും :2, :3, മുതലായവ. കൂടുതൽ കോൺഫിഗറേഷന് മുമ്പ്, നിങ്ങൾ സെർവർ നിർത്തേണ്ടതുണ്ട്:
vncserver -kill :1
കമാൻഡ് ഇതുപോലൊന്ന് പ്രദർശിപ്പിക്കണം: "കില്ലിംഗ് Xtigervnc പ്രോസസ്സ് ഐഡി 18105... വിജയം!"
TigerVNC ആരംഭിക്കുമ്പോൾ, കോൺഫിഗറേഷൻ സജ്ജീകരണങ്ങൾ ക്രമീകരിക്കുന്നതിന് അത് ~/.vnc/xstartup സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുന്നു. നമുക്ക് സ്വന്തമായി ഒരു സ്ക്രിപ്റ്റ് സൃഷ്ടിക്കാം, നിലവിലുള്ളതിന്റെ ഒരു ബാക്കപ്പ് കോപ്പി നിലവിലുണ്ടെങ്കിൽ അത് സംരക്ഷിക്കുക:
mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup
ഇനിപ്പറയുന്ന xstartup സ്ക്രിപ്റ്റ് ഉപയോഗിച്ചാണ് XFCE ഡെസ്ക്ടോപ്പ് എൻവയോൺമെന്റ് സെഷൻ ആരംഭിക്കുന്നത്:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &
ഹോം ഡയറക്ടറിയിലെ .Xresources ഫയൽ വായിക്കാൻ VNC-ന് xrdb കമാൻഡ് ആവശ്യമാണ്. അവിടെ ഉപയോക്താവിന് വിവിധ ഗ്രാഫിക്കൽ ഡെസ്ക്ടോപ്പ് ക്രമീകരണങ്ങൾ നിർവചിക്കാൻ കഴിയും: ഫോണ്ട് റെൻഡറിംഗ്, ടെർമിനൽ നിറങ്ങൾ, കഴ്സർ തീമുകൾ മുതലായവ. സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കണം:
chmod 755 ~/.vnc/xstartup
ഇത് വിഎൻസി സെർവർ സജ്ജീകരണം പൂർത്തിയാക്കുന്നു. നിങ്ങൾ ഇത് vncserver -localhost no (vnc ഉപയോക്താവായി) കമാൻഡ് ഉപയോഗിച്ച് പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് മുമ്പ് വ്യക്തമാക്കിയ പാസ്വേഡുമായി കണക്റ്റുചെയ്ത് ഇനിപ്പറയുന്ന ചിത്രം കാണുക:
systemd വഴി ഒരു സേവനം ആരംഭിക്കുന്നു
ഒരു VNC സെർവർ സ്വമേധയാ ആരംഭിക്കുന്നത് യുദ്ധ ഉപയോഗത്തിന് അനുയോജ്യമല്ല, അതിനാൽ ഞങ്ങൾ ഒരു സിസ്റ്റം സേവനം ക്രമീകരിക്കും. കമാൻഡുകൾ റൂട്ട് ആയി എക്സിക്യൂട്ട് ചെയ്യുന്നു (ഞങ്ങൾ സുഡോ ഉപയോഗിക്കുന്നു). ആദ്യം, നമുക്ക് നമ്മുടെ സെർവറിനായി ഒരു പുതിയ യൂണിറ്റ് ഫയൽ സൃഷ്ടിക്കാം:
sudo nano /etc/systemd/system/[email protected]
പേരിലുള്ള @ ചിഹ്നം സേവനം ക്രമീകരിക്കുന്നതിന് ഒരു ആർഗ്യുമെന്റ് കൈമാറാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഞങ്ങളുടെ കാര്യത്തിൽ, ഇത് വിഎൻസി ഡിസ്പ്ലേ പോർട്ട് വ്യക്തമാക്കുന്നു. യൂണിറ്റ് ഫയലിൽ നിരവധി വിഭാഗങ്ങൾ അടങ്ങിയിരിക്കുന്നു:
[Unit]
Description=TigerVNC server
After=syslog.target network.target
[Service]
Type=simple
User=vnc
Group=vnc
WorkingDirectory=/home/vnc
PIDFile=/home/vnc/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x960 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
അപ്പോൾ നിങ്ങൾ പുതിയ ഫയലിനെക്കുറിച്ച് systemd-നെ അറിയിക്കുകയും അത് സജീവമാക്കുകയും വേണം:
sudo systemctl daemon-reload
sudo systemctl enable [email protected]
പേരിലെ നമ്പർ 1 സ്ക്രീൻ നമ്പർ വ്യക്തമാക്കുന്നു.
VNC സെർവർ നിർത്തുക, അത് ഒരു സേവനമായി ആരംഭിച്ച് സ്റ്റാറ്റസ് പരിശോധിക്കുക:
# от имени пользователя vnc
vncserver -kill :1
# с привилегиями суперпользователя
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1
സർവീസ് നടക്കുന്നുണ്ടെങ്കിൽ ഇതുപോലൊന്ന് കിട്ടണം.
ഡെസ്ക്ടോപ്പ് കണക്ഷൻ
ഞങ്ങളുടെ കോൺഫിഗറേഷൻ എൻക്രിപ്ഷൻ ഉപയോഗിക്കുന്നില്ല, അതിനാൽ നെറ്റ്വർക്ക് പാക്കറ്റുകൾ ആക്രമണകാരികൾക്ക് തടയാനാകും. കൂടാതെ, VNC സെർവറുകളിൽ പലപ്പോഴും
sudo netstat -ap |more
Linux, FreeBSD, OS X, മറ്റ് UNIX-പോലുള്ള OS-കൾ എന്നിവയിൽ, ssh യൂട്ടിലിറ്റി ഉപയോഗിച്ചാണ് ക്ലയന്റ് കമ്പ്യൂട്ടറിൽ നിന്നുള്ള ഒരു ടണൽ നിർമ്മിക്കുന്നത് (sshd വിഎൻസി സെർവറിൽ പ്രവർത്തിക്കണം):
ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip
-L ഓപ്ഷൻ റിമോട്ട് കണക്ഷന്റെ പോർട്ട് 5901-നെ ലോക്കൽ ഹോസ്റ്റിലെ പോർട്ട് 5901-ലേക്ക് ബന്ധിപ്പിക്കുന്നു. -C ഓപ്ഷൻ കംപ്രഷൻ പ്രവർത്തനക്ഷമമാക്കുന്നു, കൂടാതെ -N ഓപ്ഷൻ റിമോട്ട് കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യരുതെന്ന് ssh-നോട് പറയുന്നു. -l ഓപ്ഷൻ റിമോട്ട് ലോഗിൻ ലോഗിൻ വ്യക്തമാക്കുന്നു.
ലോക്കൽ കമ്പ്യൂട്ടറിൽ ടണൽ സജ്ജീകരിച്ച ശേഷം, നിങ്ങൾ VNC ക്ലയന്റ് സമാരംഭിക്കുകയും VNC സെർവർ ആക്സസ് ചെയ്യുന്നതിന് മുമ്പ് വ്യക്തമാക്കിയ പാസ്വേഡ് ഉപയോഗിച്ച് ഹോസ്റ്റ് 127.0.0.1:5901 (localhost:5901) ലേക്ക് ഒരു കണക്ഷൻ സ്ഥാപിക്കുകയും വേണം. VPS-ലെ XFCE ഗ്രാഫിക്കൽ ഡെസ്ക്ടോപ്പ് പരിതസ്ഥിതിയിലുള്ള ഒരു എൻക്രിപ്റ്റ് ചെയ്ത ടണൽ വഴി ഇപ്പോൾ നമുക്ക് സുരക്ഷിതമായി ആശയവിനിമയം നടത്താം. സ്ക്രീൻഷോട്ടിൽ, വെർച്വൽ മെഷീന്റെ കമ്പ്യൂട്ടിംഗ് ഉറവിടങ്ങളുടെ കുറഞ്ഞ ഉപഭോഗം കാണിക്കുന്നതിനായി ടെർമിനൽ എമുലേറ്ററിൽ ടോപ്പ് യൂട്ടിലിറ്റി പ്രവർത്തിക്കുന്നു. അപ്പോൾ എല്ലാം ഉപയോക്തൃ ആപ്ലിക്കേഷനുകളെ ആശ്രയിച്ചിരിക്കും.
മിക്കവാറും എല്ലാ VPS-ലും നിങ്ങൾക്ക് Linux-ൽ VNC സെർവർ ഇൻസ്റ്റാൾ ചെയ്യാനും കോൺഫിഗർ ചെയ്യാനും കഴിയും. ഇതിന് വീഡിയോ അഡാപ്റ്റർ എമുലേഷനോ വാണിജ്യ സോഫ്റ്റ്വെയർ ലൈസൻസുകൾ വാങ്ങുന്നതോ ഉള്ള ചെലവേറിയതും വിഭവ-തീവ്രവുമായ കോൺഫിഗറേഷനുകൾ ആവശ്യമില്ല. ഞങ്ങൾ പരിഗണിച്ച സിസ്റ്റം സർവീസ് ഓപ്ഷന് പുറമെ, മറ്റുള്ളവയും ഉണ്ട്: സിസ്റ്റം ബൂട്ട് ചെയ്യുമ്പോൾ അല്ലെങ്കിൽ inetd വഴി ആവശ്യാനുസരണം ഡെമൺ മോഡിൽ (/etc/rc.local വഴി) സമാരംഭിക്കുക. മൾട്ടി-യൂസർ കോൺഫിഗറേഷനുകൾ സൃഷ്ടിക്കുന്നതിന് രണ്ടാമത്തേത് രസകരമാണ്. ഇന്റർനെറ്റ് സൂപ്പർസെർവർ VNC സെർവർ ആരംഭിക്കുകയും ക്ലയന്റുമായി ബന്ധിപ്പിക്കുകയും ചെയ്യും, VNC സെർവർ ഒരു പുതിയ സ്ക്രീൻ സൃഷ്ടിച്ച് സെഷൻ ആരംഭിക്കും. അതിനുള്ളിൽ പ്രാമാണീകരിക്കുന്നതിന്, നിങ്ങൾക്ക് ഒരു ഗ്രാഫിക്കൽ ഡിസ്പ്ലേ മാനേജർ ഉപയോഗിക്കാം (ഉദാഹരണത്തിന്,
അവലംബം: www.habr.com