केही प्रयोगकर्ताहरूले टाढाको डेस्कटप सेवाहरू चलाउन Windows सँग तुलनात्मक रूपमा सस्तो VPS भाडामा लिन्छन्। डाटा सेन्टरमा तपाईंको आफ्नै हार्डवेयर होस्ट नगरी वा समर्पित सर्भर भाडामा नगरी लिनक्समा पनि त्यस्तै गर्न सकिन्छ। केही व्यक्तिहरूलाई परीक्षण र विकासको लागि परिचित ग्राफिकल वातावरण चाहिन्छ, वा मोबाइल उपकरणहरूबाट काम गर्नको लागि फराकिलो च्यानल भएको रिमोट डेस्कटप। रिमोट फ्रेमबफर (RFB) प्रोटोकल-आधारित भर्चुअल नेटवर्क कम्प्युटिङ (VNC) प्रणाली प्रयोग गर्नका लागि धेरै विकल्पहरू छन्। यस छोटो लेखमा हामी तपाइँलाई कुनै पनि हाइपरभाइजरको साथ भर्चुअल मेसिनमा यसलाई कसरी कन्फिगर गर्ने भनेर बताउनेछौं।
सामग्री तालिका:
VNC सर्भर चयन गर्दै
VNC सेवा भर्चुअलाइजेशन प्रणालीमा निर्माण गर्न सकिन्छ, र हाइपरभाइजरले यसलाई इमुलेट गरिएका यन्त्रहरूसँग जडान गर्नेछ र कुनै अतिरिक्त कन्फिगरेसन आवश्यक पर्दैन। यो विकल्पले महत्त्वपूर्ण ओभरहेड समावेश गर्दछ र सबै प्रदायकहरू द्वारा समर्थित छैन - कम संसाधन-गहन कार्यान्वयनमा पनि, जब वास्तविक ग्राफिक्स उपकरण अनुकरण गर्नुको सट्टा, भर्चुअल मेसिनमा सरलीकृत एब्स्ट्र्याक्शन (फ्रेमबफर) स्थानान्तरण गरिन्छ। कहिलेकाहीँ VNC सर्भर चलिरहेको X सर्भरसँग जोडिएको हुन्छ, तर यो विधि भौतिक मेसिनमा पहुँच गर्नको लागि बढी उपयुक्त हुन्छ, र भर्चुअलमा यसले धेरै प्राविधिक कठिनाइहरू सिर्जना गर्छ। VNC सर्भर स्थापना गर्ने सबैभन्दा सजिलो तरिका बिल्ट-इन X सर्भरको साथ हो। यसलाई भौतिक उपकरणहरू (भिडियो एडाप्टर, किबोर्ड र माउस) वा हाइपरभाइजर प्रयोग गरेर तिनीहरूको इमुलेशन आवश्यक पर्दैन, र त्यसैले VPS को कुनै पनि प्रकारको लागि उपयुक्त छ।
स्थापना र कन्फिगरेसन
हामीलाई यसको पूर्वनिर्धारित कन्फिगरेसनमा Ubuntu Server 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 समूहमा थप्नुहोस् ताकि उसले प्रशासन-सम्बन्धित कार्यहरू गर्न सक्छ। यदि त्यहाँ त्यस्तो आवश्यकता छैन भने, तपाइँ यो चरण छोड्न सक्नुहुन्छ:
sudo gpasswd -a vnc sudo
अर्को चरण ~/.vnc/ डाइरेक्टरीमा सुरक्षित पासवर्ड र कन्फिगरेसन फाइलहरू सिर्जना गर्न vnc प्रयोगकर्ता विशेषाधिकारहरूसँग VNC सर्भर चलाउनु हो। पासवर्डको लम्बाइ ६ देखि ८ वर्णसम्म हुन सक्छ (अतिरिक्त क्यारेक्टरहरू काटिएका छन्)। आवश्यक भएमा, पासवर्ड पनि हेर्नको लागि मात्र सेट गरिएको छ, अर्थात्। किबोर्ड र माउसको पहुँच बिना। निम्न आदेशहरू vnc प्रयोगकर्ताको रूपमा कार्यान्वयन गरिन्छ:
su - vnc
vncserver -localhost no
पूर्वनिर्धारित रूपमा, RFB प्रोटोकलले TCP पोर्ट दायरा 5900 देखि 5906 सम्म प्रयोग गर्दछ - यो तथाकथित हो। प्रदर्शन पोर्टहरू, प्रत्येक X सर्भर स्क्रिनसँग सम्बन्धित। यस अवस्थामा, पोर्टहरू :0 देखि :6 सम्मका स्क्रिनहरूसँग सम्बन्धित छन्। हामीले सुरु गरेको VNC सर्भर उदाहरण पोर्ट 5901 (स्क्रिन: 1) मा सुन्छ। अन्य उदाहरणहरूले अन्य पोर्टहरूमा स्क्रिनहरू :2, :3, आदिसँग काम गर्न सक्छन्। थप कन्फिगरेसन अघि, तपाईंले सर्भर रोक्न आवश्यक छ:
vncserver -kill :1
कमाण्डले केहि यस्तो देखाउनुपर्छ: "Killing 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]
नाममा नम्बर १ ले स्क्रिन नम्बर निर्दिष्ट गर्दछ।
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-जस्तो ओएसहरूमा, ग्राहक कम्प्युटरबाट सुरुङ 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 क्लाइन्ट सुरु गर्न र होस्ट 127.0.0.1:5901 (localhost:5901) मा जडान स्थापना गर्न आवश्यक छ, VNC सर्भरमा पहुँच गर्न पहिले निर्दिष्ट पासवर्ड प्रयोग गरी। हामी अब VPS मा XFCE ग्राफिकल डेस्कटप वातावरणसँग एन्क्रिप्टेड टनेल मार्फत सुरक्षित रूपमा सञ्चार गर्न सक्छौं। स्क्रिनसटमा, भर्चुअल मेसिनको कम्प्युटिङ स्रोतहरूको कम खपत देखाउन टर्मिनल इमुलेटरमा शीर्ष उपयोगिता चलिरहेको छ। त्यसपछि सबै प्रयोगकर्ता अनुप्रयोगहरूमा निर्भर हुनेछ।
तपाइँ लगभग कुनै पनि VPS मा लिनक्स मा VNC सर्भर स्थापना र कन्फिगर गर्न सक्नुहुन्छ। यसका लागि भिडियो एडाप्टर इमुलेसन वा व्यावसायिक सफ्टवेयर इजाजतपत्रहरूको खरीदको साथ महँगो र स्रोत-गहन कन्फिगरेसनहरू आवश्यक पर्दैन। हामीले विचार गरेको प्रणाली सेवा विकल्पको अतिरिक्त, त्यहाँ अरूहरू छन्: डेमन मोडमा सुरू गर्नुहोस् (/etc/rc.local मार्फत) जब प्रणाली बुट हुन्छ वा inetd मार्फत माग हुन्छ। पछिल्लो बहु-प्रयोगकर्ता कन्फिगरेसनहरू सिर्जना गर्नको लागि रोचक छ। इन्टरनेट सुपरसर्भरले VNC सर्भर सुरु गर्नेछ र ग्राहकलाई यसमा जडान गर्नेछ, र VNC सर्भरले नयाँ स्क्रिन सिर्जना गर्नेछ र सत्र सुरु गर्नेछ। यसको भित्र प्रमाणीकरण गर्न, तपाईले ग्राफिकल डिस्प्ले प्रबन्धक प्रयोग गर्न सक्नुहुन्छ (उदाहरणका लागि,
स्रोत: www.habr.com