X11vnc - x11vnc

x11vnc
Asl muallif (lar)Karl Runge
Tuzuvchi (lar)libvnc jamoasi[1][2]
Dastlabki chiqarilish2001
Barqaror chiqish
0.9.16 / 5-yanvar, 2019 yil; 23 oy oldin (2019-01-05)[3]
Omborgithub.com/ LibVNC/ x11vnc
PlatformaUnix, Linux
Mavjud:Ingliz tili
TuriMasofadan boshqarish
LitsenziyaGNU umumiy jamoat litsenziyasi
Veb-saytlibvncserver.sourceforge.net Buni Vikidatada tahrirlash

x11vnc a Virtual Network Computing (VNC) server dasturi. Bu imkon beradi masofaviy kirish uzoq mijozdan kompyuterni joylashtiradigan an X oyna sessiya va x11vnc dasturi doimiy ravishda ovoz berish[4] X-server ramka buferi o'zgarishlar uchun. Bu foydalanuvchiga o'zlarini boshqarish imkoniyatini beradi X11 ish stoli (KDE, GNOME, Xfce va hokazo) masofali kompyuterdan yoki foydalanuvchining o'z tarmog'idagi yoki Internet orqali, xuddi foydalanuvchi uning oldida o'tirgandek. x11vnc shuningdek, X11 bo'lmagan ramka bufer qurilmalarini so'roq qilishi mumkin, masalan veb-kameralar yoki Televizor sozlagichi kartalari, iPAQ, Neuros OSD, Linux konsol, va Mac OS X grafik displey.x11vnc ning bir qismi LibVNCServer loyiha[1] va shunday bepul dasturiy ta'minot ostida mavjud GNU umumiy jamoat litsenziyasi.x11vnc Karl Runge tomonidan yozilgan.

x11vnc masofadan boshqarish uchun qo'shimcha displey (yoki X ish stoli) yaratmaydi. Buning o'rniga, u mavjudlardan foydalanadi X11 monitorida ko'rsatilgan displey Unixga o'xshash boshqasidan farqli o'laroq, real vaqtda kompyuter Linux kabi alternativalar TightVNC Server. Biroq, Xvnc yoki dan foydalanish mumkin Xvfb "virtual" qo'shimcha displey yaratish va unga X11vnc ulanish imkoniyatini yaratadigan x11vnc ulanish boshsiz serverlar.[5]

x11vnc-da foydalanuvchi kirish parolini o'rnatish yoki undan foydalanishga imkon beradigan xavfsizlik xususiyatlari mavjud Unix foydalanuvchi nomlari va parollar. Bundan tashqari, xavfsiz orqali ulanish imkoniyatlari mavjud SSL havola[4]. SSL Java VNC ko'rish vositasi applet a-dan xavfsiz ulanishlarni ta'minlashga imkon beradi veb-brauzer. VeNCrypt SSL / TLS VNC xavfsizlik turi ham qo'llab-quvvatlanadi.

Ko'pchilik UltraVNC VNC-ga kengaytmalar x11vnc tomonidan qo'llab-quvvatlanadi, shu jumladan fayl uzatish.[6]

So'rovnoma algoritmi

x11vnc X serverining ramka buferining nusxasini saqlaydi Ram. The X11 dasturlash interfeysi XShmGetImage ramka buferini olish uchun ishlatiladi piksel ma'lumotlar. x11vnc, X serverining ramka tamponini nusxasini qaysi biri bilan taqqoslaydi piksel mintaqalar o'zgargan (va shuning uchun VNC tomoshabinlariga yuborilishi kerak.) Fizikadan piksel ma'lumotlarini o'qish ramka buferi unga yozishdan ancha sekinroq bo'lishi mumkin (chunki grafik qurilmalar o'qish uchun optimallashtirilmagan) va shuning uchun piksel tekshiruvi bo'yicha ketma-ket piksel ko'pincha juda sekin bo'ladi.

Vaziyatni yaxshilash uchun x11vnc vertikal ravishda 32 piksel bilan ajratilgan piksellarning to'liq qatorlarida o'qiydi. Ekranning pastki qismiga tushgandan so'ng, u yana bir oz farqli ofset bilan yana tepada boshlanadi. 32 ta o'tishdan so'ng u butun ekranni qamrab oldi. Ushbu usul x11vnc-ga ekrandagi o'zgarishlarni ketma-ket tekshiruvdan taxminan 32 marta tezroq aniqlashga imkon beradi (agar o'zgarishlar juda kichik bo'lmasa, balandligi atigi 1 piksel). X11 DAMAGE kengaytmasi mavjud, x11vnc uni so'rovni qaerga yo'naltirish kerakligi haqida ko'rsatmalar berish uchun foydalanadi, shu bilan o'zgarishlarni tezroq topadi va tizim yukini pasaytiradi.

Kirish in'ektsiyasi

X11vnc VNC tomoshabinidan foydalanuvchi kiritish hodisalarini (tugmachalarni bosish, ko'rsatgich harakati va ko'rsatgich tugmachasini bosish) qabul qilganda, ularni X-serverga sintetik tarzda kiritishi kerak. The X11 dasturlash interfeyslari XTestFakeKeyEvent, XTestFakeMotionEventva XTestFakeButtonEvent Bunga erishish uchun XTEST kengaytmasidan foydalaniladi.

X11 bo'lmagan qurilmalar uchun (masalan Mac OS X grafik displey) turli xil dasturiy interfeyslardan foydalanish kerak. x11vnc shuningdek, foydalanuvchi o'zining kirish kiritish dasturini ta'minlaydigan interfeysni taqdim etadi.

Qiziqarli foydalanish

Ko'pincha maxsus mo'ljallangan tizimlar X oyna tizimi grafik displeyni boshqarish uchun. x11vnc yordamida tizim displeyini masofadan turib VNC ga kirish uchun eksport qilish mumkin. Bu maxsus mo'ljallangan tizimni masofadan nazorat qilish, boshqarish va muammolarni bartaraf etishga imkon beradi. Ba'zan bu texnik xodimni uzoqdagi saytga yuborishni tejaydi yoki foydalanuvchilarga ish stantsiyasidan yoki noutbukdan uskunalarni boshqarish imkoniyatini beradi. x11vnc quyidagi turdagi tizimlarda ishlagani ma'lum: Elektron mikroskop, MRI va Radiologiya tasvirni tahlil qilish tizimi, Elektr stantsiyasi va Yog 'platformasi boshqaruv konsollari, Materiallarni taqsimlashni boshqarish, Kema o'zini o'zi himoya qilish tizimini sinovdan o'tkazish, NMR tizimlar, Silikon gofret tahlil mikroskopi va teatr va konsert yoritilishini boshqarish. x11vnc X11 displeylarini eksport qilish uchun ishlatiladi o'rnatilgan tizimlar Linux asosidagi kabi PDAlar va Uy teatri shaxsiy kompyuterlari.

Agar x11vnc-ni maxsus maqsadli tizimda ishlatib bo'lmaydigan bo'lsa, ba'zida uni yaqin atrofdagi kompyuterda ishga tushirish va tarmoq orqali X-server ramkasi buferini so'roq qilish mumkin. Bu qanday mulkiy X terminali qurilmalarga x11vnc orqali kirish mumkin.

Xvnc taqlid qilish

X11vnc-ning asosiy ishlatilishi jismoniy grafik apparat bilan bog'liq bo'lgan X-serverlar uchun bo'lsa-da, u virtual X-serverlarga (ramka buferlari faqat RAMda mavjud) qo'shilishi mumkin, masalan. Xvfb yoki a Sun Ray sessiya. x11vnc-ning imkoniyatlari mavjud (-yaratmoq va -v) Xvfb-ni avtomatik ravishda ishga tushirish uchun, ehtimol uni tizimga kirgan Unix foydalanuvchisi kabi. x11vnc va Xvfb-ning interfaol javoblari tez bo'lmasligi mumkin Xvnc ammo, bu rejim Xvnc-da bo'lmagan SSL shifrlash va Unix foydalanuvchi nomlari va parollari kabi xususiyatlarni yoqadi.

Mijozlar tomonidan keshlash

The RFB (VNC) protokoli, masalan, boshqa tarmoq grafik protokollari bilan taqqoslaganda g'alati X11 va RDP, piksel ma'lumotlarini tomoshabin tomonidan keshlash uchun hech qanday shart yo'q. Bu mijozni amalga oshirishni osonlashtirsa-da, interaktiv javob nuqtai nazaridan to'lash kerak. Masalan, deraza yoki fon mintaqasining har bir qayta ekspozitsiyasi uchun uning (siqilgan) pikselli ma'lumotlari tarmoq orqali qayta yuborilishi kerak. Ushbu effekt, xususan, tez-tez ikoniklashtiriladigan, deikonifikatsiya qilingan yoki qayta ochiladigan murakkab yoki fotosurat mintaqalari (masalan, veb-brauzer oynasi) uchun sezilarli.

x11vnc mijoz tomonidan keshlashni eksperimental va biroz qo'pol ravishda amalga oshirishga ega. Bu orqali yoqilgan -nache variant. Ushbu rejimda RFB ramka tamponini yaratishda x11vnc haqiqiy (ekrandagi) piksel ma'lumotlari uchun ishlatiladigan yuqori qism ostida juda katta chizish mintaqasini ajratadi. x11vnc RFB CopyRect buyrug'idan foydalanib, tomoshabinga pikselli ma'lumotlarning to'rtburchaklar chizish hududiga va tashqarisiga ko'chirishni buyuradi. Ushbu harakatlar mahalliy darajada tomoshabin tomonidan amalga oshiriladi. Shu tarzda x11vnc tarmoq bo'ylab qayta yubormasdan pikselli ma'lumotlarni saqlash va olish uchun skretch mintaqasini boshqarishi mumkin.

x11vnc-ning mijoz tomonidan keshlash rejimi ko'plab harakatlar uchun sezilarli interaktiv javoblarni yaxshilashi mumkin.

SSVNC 1.0.29 masofadan boshqarish pultiga ulangan Debian 7 Linux Xsessiya

Mavjud RFB CopyRect buyrug'idan foydalanganligi sababli, sxema har qanday (ya'ni o'zgartirilmagan) VNC tomoshabin bilan ishlaydi. Biroq, ba'zi kamchiliklar mavjud. Birinchisi, u katta hajmdagi xotirani iste'mol qiladi. Yaxshi ishlash uchun haqiqiy ekranga nisbatan 10 dan 20 baravar kattaroq chizish joyidan foydalanish kerak. Shunday qilib, 1280x1024 rangli ramka buferi uchun 5 MB dan foydalanish o'rniga 100 MB ga yaqin (VNC mijozida ham, server tomonida ham) ishlatiladi, bu zamonaviy kompyuterlarda unchalik katta muammo emas, lekin past darajadagi bo'lishi mumkin emas xotira qurilmasi. Ikkinchidan, VNC tomoshabin skretch mintaqasini foydalanuvchini chalg'itadigan usullar bilan muomala qilishi mumkin, masalan, uni foydalanuvchiga ko'rsatish yoki sichqoncha haqiqiy ekranning pastki qismiga etib borsa, avtomatik ravishda pastga tushirish. Unix VNC tomoshabin SSVNC avtomatik ravishda tirnalgan joyni yashiradi. Va nihoyat, x11vnc-ning keshlash va deraza piksellari ma'lumotlarini qayta ishlatish uchun evristikasi mukammal emas va deraza tarkibining kutilmagan tarzda yonib ketishiga va boshqa kiruvchi effektlarga olib kelishi mumkin.

Shuningdek qarang

Adabiyotlar

  1. ^ a b "x11vnc README fayli". 4 iyul 2018 yil. Olingan 9 avgust 2018 - orqali GitHub.
  2. ^ Xenderson, Styuart (9 avgust 2018). "CVS: cvs.openbsd.org: portlar". openbsd-port-cvs (Pochta ro'yxati). Olingan 9 avgust 2018.
  3. ^ "Relizlar - LibVNC / x11vnc". Olingan 14 fevral 2020 - orqali GitHub.
  4. ^ a b "x11vnc (1) - Linux man sahifasi". Olingan 1 may 2020.
  5. ^ X11vnc, Xvnc va the uchun sahifalarni ko'ring Xvfb maqola.
  6. ^ "x11vnc: haqiqiy X displeylar uchun VNC-server". Olingan 1 may 2020.

Tashqi havolalar