Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish
Ba'zi foydalanuvchilar masofaviy ish stoli xizmatlarini ishlatish uchun Windows bilan nisbatan arzon VPS-ni ijaraga olishadi. Xuddi shu narsani Linuxda o'z uskunangizni ma'lumotlar markaziga joylashtirmasdan yoki maxsus serverni ijaraga olmasdan qilish mumkin. Ba'zi odamlar sinov va ishlab chiqish uchun tanish grafik muhitga yoki mobil qurilmalardan ishlash uchun keng kanalga ega masofaviy ish stoliga muhtoj. Remote FrameBuffer (RFB) protokoliga asoslangan Virtual Network Computing (VNC) tizimidan foydalanishning ko'plab variantlari mavjud. Ushbu qisqa maqolada biz uni virtual mashinada istalgan gipervisor bilan qanday sozlashni aytib beramiz.

Oglavlenie:

VNC serverini tanlash
O'rnatish va sozlash
Systemd orqali xizmatni ishga tushirish
Ish stoliga ulanish

VNC serverini tanlash

VNC xizmati virtualizatsiya tizimiga o'rnatilishi mumkin va gipervizor uni emulyatsiya qilingan qurilmalar bilan bog'laydi va qo'shimcha konfiguratsiya talab qilinmaydi. Ushbu parametr katta xarajatlarni o'z ichiga oladi va barcha provayderlar tomonidan qo'llab-quvvatlanmaydi - hatto kamroq resurs talab qiladigan dasturda ham, haqiqiy grafik qurilmaga taqlid qilish o'rniga soddalashtirilgan abstraksiya (ramkabufer) virtual mashinaga o'tkaziladi. Ba'zan VNC serveri ishlaydigan X serveriga bog'langan, ammo bu usul jismoniy mashinaga kirish uchun ko'proq mos keladi va virtualda u bir qator texnik qiyinchiliklarni keltirib chiqaradi. VNC serverini o'rnatishning eng oson yo'li o'rnatilgan X serveridir. U jismoniy qurilmalarni (video adapter, klaviatura va sichqoncha) yoki ularning gipervisor yordamida emulyatsiyasini talab qilmaydi va shuning uchun har qanday VPS turiga mos keladi.

O'rnatish va sozlash

Bizga standart konfiguratsiyada Ubuntu Server 18.04 LTS o'rnatilgan virtual mashina kerak bo'ladi. Ushbu tarqatishning standart omborlarida bir nechta VNC serverlari mavjud: TightVNC, TigerVNC, x11vnc va boshqalar. Biz TigerVNC-ga joylashdik - TightVNC-ning joriy vilkasi, uni ishlab chiquvchi qo'llab-quvvatlamaydi. Boshqa serverlarni o'rnatish ham xuddi shunday tarzda amalga oshiriladi. Bundan tashqari, ish stoli muhitini tanlashingiz kerak: optimal variant, bizning fikrimizcha, hisoblash resurslariga nisbatan past talablar tufayli XFCE bo'ladi. Xohlaganlar boshqa DE yoki WM ni o'rnatishlari mumkin: barchasi shaxsiy imtiyozlarga bog'liq, ammo dasturiy ta'minotni tanlash RAM va hisoblash yadrolariga bo'lgan ehtiyojga bevosita ta'sir qiladi.

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish

Ish stoli muhitini barcha bog'liqliklar bilan o'rnatish quyidagi buyruq bilan amalga oshiriladi:

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Keyin VNC serverini o'rnatishingiz kerak:

sudo apt-get install tigervnc-standalone-server tigervnc-common

Uni superuser sifatida ishlatish yomon fikr. Foydalanuvchi va guruh yarating:

sudo adduser vnc

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish

Keling, foydalanuvchini sudo guruhiga qo'shamiz, shunda u ma'muriyat bilan bog'liq vazifalarni bajara oladi. Agar bunday ehtiyoj bo'lmasa, siz ushbu bosqichni o'tkazib yuborishingiz mumkin:

sudo gpasswd -a vnc sudo

Keyingi qadam ~/.vnc/ katalogida xavfsiz parol va konfiguratsiya fayllarini yaratish uchun VNC serverini vnc foydalanuvchi imtiyozlari bilan ishga tushirishdir. Parol uzunligi 6 dan 8 ta belgigacha bo'lishi mumkin (qo'shimcha belgilar kesiladi). Agar kerak bo'lsa, parol ham faqat ko'rish uchun o'rnatiladi, ya'ni. klaviatura va sichqonchadan foydalanmasdan. Vnc foydalanuvchisi sifatida quyidagi buyruqlar bajariladi:

su - vnc
vncserver -localhost no

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish
Odatiy bo'lib, RFB protokoli 5900 dan 5906 gacha bo'lgan TCP port oralig'idan foydalanadi - bu shunday deyiladi. displey portlari, ularning har biri X server ekraniga mos keladi. Bunday holda, portlar :0 dan :6 gacha bo'lgan ekranlar bilan bog'lanadi. Biz ishga tushirgan VNC server namunasi 5901 portni tinglaydi (ekran: 1). Boshqa misollar :2, :3 va hokazo ekranli boshqa portlarda ishlashi mumkin. Keyingi konfiguratsiyadan oldin serverni toʻxtatish kerak:

vncserver -kill :1

Buyruq shunday ko'rsatilishi kerak: "Xtigervnc ID 18105 jarayonini o'ldirish... muvaffaqiyatli!"

TigerVNC ishga tushganda, u konfiguratsiya sozlamalarini sozlash uchun ~/.vnc/xstartup skriptini ishga tushiradi. Keling, o'z skriptimizni yarataylik, avval mavjud bo'lsa, uning zaxira nusxasini saqlaymiz:

mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup

XFCE ish stoli muhiti seansi quyidagi xstartup skripti tomonidan boshlanadi:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &

Xrdb ​​buyrug'i VNC uchun uy katalogidagi .Xresources faylini o'qish uchun talab qilinadi. U erda foydalanuvchi turli xil grafik ish stoli sozlamalarini belgilashi mumkin: shriftni ko'rsatish, terminal ranglari, kursor mavzulari va boshqalar. Skript bajariladigan bo'lishi kerak:

chmod 755 ~/.vnc/xstartup

Bu VNC serverini sozlashni yakunlaydi. Agar siz uni vncserver -localhost no buyrug'i bilan (vnc foydalanuvchisi sifatida) ishga tushirsangiz, avval belgilangan parol bilan ulanishingiz va quyidagi rasmni ko'rishingiz mumkin:

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish

Systemd orqali xizmatni ishga tushirish

VNC serverini qo'lda ishga tushirish jangovar foydalanish uchun mos emas, shuning uchun biz tizim xizmatini sozlaymiz. Buyruqlar root sifatida bajariladi (biz sudo dan foydalanamiz). Birinchidan, serverimiz uchun yangi birlik faylini yaratamiz:

sudo nano /etc/systemd/system/[email protected]

Nomdagi @ belgisi xizmatni sozlash uchun argumentni yuborish imkonini beradi. Bizning holatda, u VNC displey portini belgilaydi. Birlik fayli bir nechta bo'limlardan iborat:

[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

Keyin siz systemd-ni yangi fayl haqida xabardor qilishingiz va uni faollashtirishingiz kerak:

sudo systemctl daemon-reload
sudo systemctl enable [email protected]

Nomdagi 1 raqami ekran raqamini bildiradi.

VNC serverini to'xtating, uni xizmat sifatida ishga tushiring va holatni tekshiring:

# от имени пользователя vnc 
vncserver -kill :1

# с привилегиями суперпользователя
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1

Agar xizmat ishlayotgan bo'lsa, biz shunga o'xshash narsalarni olishimiz kerak.

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish

Ish stoliga ulanish

Bizning konfiguratsiyamiz shifrlashdan foydalanmaydi, shuning uchun tarmoq paketlari tajovuzkorlar tomonidan ushlanishi mumkin. Bundan tashqari, VNC serverlarida ko'pincha zaifliklarni toping, shuning uchun siz ularni Internetdan kirish uchun ochmasligingiz kerak. Mahalliy kompyuteringizga xavfsiz ulanish uchun siz trafikni SSH tunneliga to'plashingiz va keyin VNC mijozini sozlashingiz kerak. Windows-da siz grafik SSH mijozidan foydalanishingiz mumkin (masalan, PuTTY). Xavfsizlik uchun serverdagi TigerVNC faqat localhost-ni tinglaydi va umumiy tarmoqlardan bevosita foydalana olmaydi:


sudo netstat -ap |more

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish
Linux, FreeBSD, OS X va boshqa UNIX-ga o'xshash operatsion tizimlarda mijoz kompyuteridan tunnel ssh yordam dasturi yordamida amalga oshiriladi (sshd VNC serverida ishlayotgan bo'lishi kerak):

ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip

-L opsiyasi masofaviy ulanishning 5901-portini localhost-dagi 5901-portga bog'laydi. -C opsiyasi siqishni yoqadi va -N opsiyasi ssh-ga masofaviy buyruqni bajarmaslikni aytadi. -l opsiyasi masofaviy kirish uchun kirishni belgilaydi.

Mahalliy kompyuterda tunnelni o'rnatganingizdan so'ng, VNC mijozini ishga tushirishingiz va VNC serveriga kirish uchun avval belgilangan paroldan foydalanib, 127.0.0.1:5901 (localhost:5901) xostiga ulanishni o'rnatishingiz kerak. Endi biz VPS-dagi XFCE grafik ish stoli muhiti bilan shifrlangan tunnel orqali xavfsiz muloqot qilishimiz mumkin. Skrinshotda virtual mashinaning hisoblash resurslarini kam iste'mol qilishini ko'rsatish uchun terminal emulyatorida yuqori yordamchi dastur ishlamoqda. Keyin hamma narsa foydalanuvchi ilovalariga bog'liq bo'ladi.

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish
Siz deyarli har qanday VPS-da Linux-da VNC serverini o'rnatishingiz va sozlashingiz mumkin. Bu video adapter emulyatsiyasi yoki tijorat dasturiy ta'minot litsenziyalarini sotib olish bilan qimmat va resurs talab qiladigan konfiguratsiyalarni talab qilmaydi. Biz ko'rib chiqqan tizimga xizmat ko'rsatish variantiga qo'shimcha ravishda, boshqalar ham bor: tizim yuklanganda yoki inetd orqali talab qilinganda daemon rejimida (/etc/rc.local orqali) ishga tushirish. Ikkinchisi ko'p foydalanuvchi konfiguratsiyasini yaratish uchun qiziqarli. Internet Superserver VNC serverini ishga tushiradi va unga mijozni ulaydi, VNC server esa yangi ekran yaratadi va seansni boshlaydi. Uning ichida autentifikatsiya qilish uchun siz grafik displey menejeridan foydalanishingiz mumkin (masalan, LightDM) va mijozni uzgandan so'ng, sessiya yopiladi va ekran bilan ishlaydigan barcha dasturlar tugatiladi.

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da VNC serverini ishga tushirish

Manba: www.habr.com

a Izoh qo'shish