VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում
Որոշ օգտատերեր Windows-ով վարձում են համեմատաբար էժան VPS՝ հեռահար աշխատասեղանի ծառայությունները գործարկելու համար: Նույնը կարելի է անել Linux-ում՝ առանց ձեր սեփական սարքաշարը տվյալների կենտրոնում տեղակայելու կամ հատուկ սերվեր վարձակալելու: Որոշ մարդկանց անհրաժեշտ է ծանոթ գրաֆիկական միջավայր թեստավորման և մշակման համար, կամ հեռակառավարվող աշխատասեղան՝ բջջային սարքերից աշխատելու լայն ալիքով: Կան բազմաթիվ տարբերակներ Remote FrameBuffer (RFB) արձանագրության վրա հիմնված վիրտուալ ցանցային հաշվարկման (VNC) համակարգի օգտագործման համար: Այս կարճ հոդվածում մենք ձեզ կպատմենք, թե ինչպես կարելի է այն կարգավորել վիրտուալ մեքենայի վրա ցանկացած հիպերվիզորով:

Բովանդակություն:

VNC սերվերի ընտրություն
Տեղադրում և կազմաձևում
Ծառայության մեկնարկը systemd-ի միջոցով
Սեղանի միացում

VNC սերվերի ընտրություն

VNC ծառայությունը կարող է ներկառուցվել վիրտուալացման համակարգում, և հիպերվիզորը այն կմիացնի նմանակված սարքերի հետ և լրացուցիչ կոնֆիգուրացիա չի պահանջվի: Այս տարբերակը ներառում է զգալի ծախսեր և չի աջակցվում բոլոր պրովայդերների կողմից, նույնիսկ ավելի քիչ ռեսուրսներով ինտենսիվ իրականացման դեպքում, երբ իրական գրաֆիկական սարքի նմանակման փոխարեն պարզեցված աբստրակցիա (framebuffer) փոխանցվում է վիրտուալ մեքենային: Երբեմն VNC սերվերը կապված է գործող X սերվերի հետ, բայց այս մեթոդը ավելի հարմար է ֆիզիկական մեքենայի մուտք գործելու համար, իսկ վիրտուալում այն ​​ստեղծում է մի շարք տեխնիկական դժվարություններ: VNC սերվերի տեղադրման ամենահեշտ ձևը ներկառուցված X սերվերն է: Այն չի պահանջում ֆիզիկական սարքեր (վիդեո ադապտեր, ստեղնաշար և մկնիկ) կամ դրանց էմուլյացիա՝ օգտագործելով հիպերվիզոր, և, հետևաբար, հարմար է ցանկացած տեսակի VPS-ի համար:

Տեղադրում և կազմաձևում

Մեզ անհրաժեշտ կլինի վիրտուալ մեքենա՝ Ubuntu Server 18.04 LTS-ով իր լռելյայն կազմաձևով: Այս բաշխման ստանդարտ պահեստներում կան մի քանի VNC սերվերներ. TightVNC, TigerVNC, x11vnc եւ ուրիշներ. Մենք տեղավորվեցինք TigerVNC-ի վրա՝ TightVNC-ի ընթացիկ պատառաքաղը, որը չի աջակցվում մշակողի կողմից: Մյուս սերվերների կարգավորումը կատարվում է նույն կերպ: Դուք նաև պետք է ընտրեք աշխատասեղանի միջավայր. օպտիմալ տարբերակը, մեր կարծիքով, կլինի XFCE-ը՝ հաշվիչ ռեսուրսների համեմատաբար ցածր պահանջների պատճառով: Ցանկացողները կարող են տեղադրել մեկ այլ DE կամ WM. ամեն ինչ կախված է անձնական նախասիրություններից, սակայն ծրագրաշարի ընտրությունն ուղղակիորեն ազդում է RAM-ի և հաշվողական միջուկների անհրաժեշտության վրա:

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում

Բոլոր կախվածություններով աշխատասեղանի միջավայրի տեղադրումը կատարվում է հետևյալ հրամանով.

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

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում

Եկեք օգտագործողին ավելացնենք sudo խմբին, որպեսզի նա կարողանա կատարել վարչարարության հետ կապված առաջադրանքներ։ Եթե ​​նման անհրաժեշտություն չկա, կարող եք բաց թողնել այս քայլը.

sudo gpasswd -a vnc sudo

Հաջորդ քայլը VNC սերվերը vnc օգտվողի արտոնություններով գործարկելն է՝ ~/.vnc/ գրացուցակում անվտանգ գաղտնաբառ և կազմաձևման ֆայլեր ստեղծելու համար: Գաղտնաբառի երկարությունը կարող է լինել 6-ից 8 նիշ (լրացուցիչ նիշերը կտրված են): Անհրաժեշտության դեպքում գաղտնաբառ է սահմանվում նաև միայն դիտելու համար, այսինքն. առանց ստեղնաշարի և մկնիկի մուտքի: Հետևյալ հրամանները կատարվում են որպես vnc օգտվող.

su - vnc
vncserver -localhost no

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում
Լռելյայնորեն, 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 &

xrdb հրամանը պահանջվում է, որպեսզի VNC-ն կարդա .Xresources ֆայլը տնային գրացուցակում: Այնտեղ օգտատերը կարող է սահմանել աշխատասեղանի տարբեր գրաֆիկական կարգավորումներ՝ տառատեսակների մատուցում, տերմինալի գույներ, կուրսորի թեմաներ և այլն։ Սցենարը պետք է կատարվի՝

chmod 755 ~/.vnc/xstartup

Սա ավարտում է VNC սերվերի կարգավորումը: Եթե ​​այն գործարկեք vncserver -localhost no հրամանով (որպես vnc օգտվող), կարող եք միանալ նախկինում նշված գաղտնաբառով և տեսնել հետևյալ նկարը.

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում

Ծառայության մեկնարկը systemd-ի միջոցով

VNC սերվերի ձեռքով գործարկելը հարմար չէ մարտական ​​օգտագործման համար, ուստի մենք կկարգավորենք համակարգի ծառայությունը: Հրամանները կատարվում են որպես root (մենք օգտագործում ենք 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

Եթե ​​ծառայությունն աշխատում է, մենք պետք է ստանանք նման բան:

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում

Սեղանի միացում

Մեր կոնֆիգուրացիան չի օգտագործում գաղտնագրում, ուստի ցանցային փաթեթները կարող են գաղտնալսվել հարձակվողների կողմից: Բացի այդ, VNC սերվերներում բավականին հաճախ գտնել խոցելի տեղեր, այնպես որ դուք չպետք է բացեք դրանք ինտերնետից մուտք գործելու համար: Ձեր տեղական համակարգչով ապահով միանալու համար դուք պետք է փաթեթավորեք երթևեկը SSH թունելում և այնուհետև կարգավորեք VNC հաճախորդը: Windows-ում կարող եք օգտագործել գրաֆիկական SSH հաճախորդ (օրինակ՝ PuTTY): Անվտանգության համար TigerVNC սերվերում լսում է միայն localhost-ը և ուղղակիորեն հասանելի չէ հանրային ցանցերից.


sudo netstat -ap |more

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում
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 նավահանգիստը localhost-ի 5901 պորտին: -C տարբերակը հնարավորություն է տալիս սեղմել, իսկ -N տարբերակը ssh-ին ասում է, որ չկատարի հեռակառավարման հրամանը: -l տարբերակը սահմանում է մուտք՝ հեռավոր մուտքի համար:

Տեղական համակարգչում թունելը տեղադրելուց հետո դուք պետք է գործարկեք VNC հաճախորդը և կապ հաստատեք հյուրընկալող 127.0.0.1:5901 (localhost:5901) հետ՝ օգտագործելով նախկինում նշված գաղտնաբառը՝ VNC սերվեր մուտք գործելու համար: Այժմ մենք կարող ենք ապահով կերպով հաղորդակցվել գաղտնագրված թունելի միջոցով VPS-ի XFCE գրաֆիկական աշխատասեղանի միջավայրի հետ: Սքրինշոթում վերին օգտակար ծրագիրը աշխատում է տերմինալի էմուլյատորում՝ ցույց տալու համար վիրտուալ մեքենայի հաշվողական ռեսուրսների ցածր սպառումը: Այնուհետև ամեն ինչ կախված կլինի օգտագործողի հավելվածներից:

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում
Դուք կարող եք տեղադրել և կարգավորել VNC սերվերը Linux-ում գրեթե ցանկացած VPS-ի վրա: Սա չի պահանջում թանկարժեք և ռեսուրսային ինտենսիվ կոնֆիգուրացիաներ՝ վիդեո ադապտերների էմուլյացիայով կամ առևտրային ծրագրերի լիցենզիաների գնում: Ի լրումն մեր դիտարկած համակարգի ծառայության տարբերակի, կան նաև այլ տարբերակներ. գործարկել դեյմոն ռեժիմով (/etc/rc.local-ի միջոցով), երբ համակարգը բեռնվում է կամ ըստ պահանջի inetd-ի միջոցով: Վերջինս հետաքրքիր է բազմաֆունկցիոնալ կոնֆիգուրացիաներ ստեղծելու համար։ Ինտերնետ սուպերսերվերը կգործարկի VNC սերվերը և միացնի հաճախորդին դրան, իսկ VNC սերվերը կստեղծի նոր էկրան և կսկսի նիստը: Դրա ներսում իսկությունը հաստատելու համար կարող եք օգտագործել գրաֆիկական ցուցադրման կառավարիչ (օրինակ՝ LightDM), իսկ հաճախորդին անջատելուց հետո նիստը կփակվի, և էկրանի հետ աշխատող բոլոր ծրագրերը կդադարեցվեն։

VPS Linux-ում գրաֆիկական ինտերֆեյսով. գործարկելով VNC սերվեր Ubuntu 18.04-ում

Source: www.habr.com

Добавить комментарий