కొంతమంది వినియోగదారులు రిమోట్ డెస్క్టాప్ సేవలను అమలు చేయడానికి Windowsతో సాపేక్షంగా చవకైన VPSని అద్దెకు తీసుకుంటారు. మీ స్వంత హార్డ్వేర్ను డేటా సెంటర్లో హోస్ట్ చేయకుండా లేదా అంకితమైన సర్వర్ని అద్దెకు తీసుకోకుండా Linuxలో కూడా చేయవచ్చు. కొంతమందికి టెస్టింగ్ మరియు డెవలప్మెంట్ కోసం సుపరిచితమైన గ్రాఫికల్ వాతావరణం లేదా మొబైల్ పరికరాల నుండి పని చేయడానికి విస్తృత ఛానెల్తో కూడిన రిమోట్ డెస్క్టాప్ అవసరం. రిమోట్ ఫ్రేమ్బఫర్ (RFB) ప్రోటోకాల్-ఆధారిత వర్చువల్ నెట్వర్క్ కంప్యూటింగ్ (VNC) సిస్టమ్ను ఉపయోగించడానికి అనేక ఎంపికలు ఉన్నాయి. ఏదైనా హైపర్వైజర్తో వర్చువల్ మెషీన్లో దీన్ని ఎలా కాన్ఫిగర్ చేయాలో ఈ చిన్న కథనంలో మేము మీకు తెలియజేస్తాము.
ఆటలు:
VNC సర్వర్ని ఎంచుకోవడం
VNC సేవను వర్చువలైజేషన్ సిస్టమ్లో నిర్మించవచ్చు మరియు హైపర్వైజర్ దానిని ఎమ్యులేటెడ్ పరికరాలతో కలుపుతుంది మరియు అదనపు కాన్ఫిగరేషన్ అవసరం లేదు. ఈ ఐచ్ఛికం గణనీయమైన ఓవర్హెడ్ను కలిగి ఉంటుంది మరియు అందరు ప్రొవైడర్లచే మద్దతు ఇవ్వబడదు - తక్కువ వనరు-ఇంటెన్సివ్ అమలులో కూడా, నిజమైన గ్రాఫిక్స్ పరికరాన్ని అనుకరించే బదులు, సరళీకృత సంగ్రహణ (ఫ్రేమ్బఫర్) వర్చువల్ మెషీన్కు బదిలీ చేయబడుతుంది. కొన్నిసార్లు VNC సర్వర్ నడుస్తున్న X సర్వర్తో ముడిపడి ఉంటుంది, అయితే ఈ పద్ధతి భౌతిక యంత్రాన్ని యాక్సెస్ చేయడానికి మరింత అనుకూలంగా ఉంటుంది మరియు వర్చువల్లో ఇది అనేక సాంకేతిక సమస్యలను సృష్టిస్తుంది. అంతర్నిర్మిత X సర్వర్తో VNC సర్వర్ను ఇన్స్టాల్ చేయడానికి సులభమైన మార్గం. దీనికి భౌతిక పరికరాలు (వీడియో అడాప్టర్, కీబోర్డ్ మరియు మౌస్) లేదా హైపర్వైజర్ని ఉపయోగించి వాటి ఎమ్యులేషన్ అవసరం లేదు, కనుక ఇది ఏ రకమైన VPSకైనా అనుకూలంగా ఉంటుంది.
సంస్థాపన మరియు ఆకృతీకరణ
మాకు దాని డిఫాల్ట్ కాన్ఫిగరేషన్లో ఉబుంటు సర్వర్ 18.04 LTSతో కూడిన వర్చువల్ మెషీన్ అవసరం. ఈ పంపిణీ యొక్క ప్రామాణిక రిపోజిటరీలలో అనేక VNC సర్వర్లు ఉన్నాయి:
అన్ని డిపెండెన్సీలతో డెస్క్టాప్ పర్యావరణాన్ని ఇన్స్టాల్ చేయడం కింది ఆదేశంతో చేయబడుతుంది:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
తర్వాత మీరు VNC సర్వర్ను ఇన్స్టాల్ చేయాలి:
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 ప్రోటోకాల్ TCP పోర్ట్ పరిధిని 5900 నుండి 5906 వరకు ఉపయోగిస్తుంది - ఇది పిలవబడేది. డిస్ప్లే పోర్ట్లు, ప్రతి ఒక్కటి X సర్వర్ స్క్రీన్కు అనుగుణంగా ఉంటాయి. ఈ సందర్భంలో, పోర్ట్లు :0 నుండి :6 వరకు స్క్రీన్లతో అనుబంధించబడతాయి. మేము ప్రారంభించిన VNC సర్వర్ ఉదాహరణ పోర్ట్ 5901ని వింటుంది (స్క్రీన్: 1). ఇతర సందర్భాలు స్క్రీన్లతో ఇతర పోర్ట్లలో పని చేయగలవు :2, :3, మొదలైనవి. తదుపరి కాన్ఫిగరేషన్కు ముందు, మీరు సర్వర్ని నిలిపివేయాలి:
vncserver -kill :1
ఆదేశం ఇలాగే ప్రదర్శించాలి: “కిల్లింగ్ Xtigervnc ప్రాసెస్ ID 18105... సక్సెస్!”
TigerVNC ప్రారంభించినప్పుడు, అది కాన్ఫిగరేషన్ సెట్టింగులను కాన్ఫిగర్ చేయడానికి ~/.vnc/xstartup స్క్రిప్ట్ని అమలు చేస్తుంది. మన స్వంత స్క్రిప్ట్ని క్రియేట్ చేద్దాం, ముందుగా ఇప్పటికే ఉన్న దాని బ్యాకప్ కాపీని సేవ్ చేద్దాం:
mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup
XFCE డెస్క్టాప్ పర్యావరణ సెషన్ క్రింది xstartup స్క్రిప్ట్ ద్వారా ప్రారంభించబడింది:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &
హోమ్ డైరెక్టరీలో .Xresources ఫైల్ను చదవడానికి VNCకి xrdb కమాండ్ అవసరం. అక్కడ వినియోగదారు వివిధ గ్రాఫికల్ డెస్క్టాప్ సెట్టింగ్లను నిర్వచించవచ్చు: ఫాంట్ రెండరింగ్, టెర్మినల్ రంగులు, కర్సర్ థీమ్లు మొదలైనవి. స్క్రిప్ట్ తప్పనిసరిగా ఎక్జిక్యూటబుల్ చేయాలి:
chmod 755 ~/.vnc/xstartup
ఇది VNC సర్వర్ సెటప్ను పూర్తి చేస్తుంది. మీరు దీన్ని vncserver -localhost no (vnc వినియోగదారుగా) కమాండ్తో అమలు చేస్తే, మీరు గతంలో పేర్కొన్న పాస్వర్డ్తో కనెక్ట్ చేయవచ్చు మరియు క్రింది చిత్రాన్ని చూడండి:
systemd ద్వారా సేవను ప్రారంభించడం
VNC సర్వర్ను మాన్యువల్గా ప్రారంభించడం పోరాట వినియోగానికి తగినది కాదు, కాబట్టి మేము సిస్టమ్ సేవను కాన్ఫిగర్ చేస్తాము. ఆదేశాలు రూట్గా అమలు చేయబడతాయి (మేము sudoని ఉపయోగిస్తాము). ముందుగా, మన సర్వర్ కోసం కొత్త యూనిట్ ఫైల్ని క్రియేట్ చేద్దాం:
sudo nano /etc/systemd/system/[email protected]
పేరులోని @ చిహ్నం సేవను కాన్ఫిగర్ చేయడానికి ఆర్గ్యుమెంట్ను పాస్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. మా విషయంలో, ఇది VNC డిస్ప్లే పోర్ట్ను నిర్దేశిస్తుంది. యూనిట్ ఫైల్ అనేక విభాగాలను కలిగి ఉంటుంది:
[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 తప్పనిసరిగా VNC సర్వర్లో రన్ అయి ఉండాలి):
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