Va yana planshetdan ikkinchi monitor haqida ...

O'zimni ishlamaydigan sensorli o'rtacha planshetning egasi sifatida topib (to'ng'ich o'g'lim qo'lidan kelganicha harakat qildi), men uni qaerga moslashtirish haqida uzoq vaqt o'yladim. Googled, Googled va Googled (vaqt, два, Hacker No. 227), shuningdek, ko'plab boshqa retseptlar mavjud kosmik stol, iDispla va boshqalar. Bitta muammo menda Linux bor. Yana bir oz googlingdan so'ng, men bir nechta retseptlarni topdim va oddiy shamanizm orqali maqbul natijaga erishdim.

Va yana planshetdan ikkinchi monitor haqida ...
Mening usulim kesma ostida.

Siz kerak bo'ladi:

O'rnatilgan Linux:

  • x11vnc (Ochig'ini aytsam, men tigervnc va boshqalarni yoqtirmayman)
  • Adb android asboblar to'plamidan

Nosozliklarni tuzatish rejimi yoqilgan va quyidagiga sozlangan planshet/smart:

  • AndroidNVC (Menda bu bor, chunki hech qanday reklama yo'q)
  • Ekranni o'chirish blokerining bir turi (reklamasiz topa olmadim)
  • Har qanday avtomatik yuklovchi (VNC va blokerni ishga tushirish) ixtiyoriy (quyida batafsilroq).

OK, boshlaylik.

1. Xorg.conf uchun Modeline-ni oling

$ cvt 1024 768 25 # Можно и gtf, но он не всегда дает корректный modeline.

2. Tahrirlash

xorg.conf

Section "ServerLayout"
        Identifier     "Xorg Configured" 
        Screen         0  "Monitor" 0 0
        Screen         2  "Screen2" rightof "Screen0" # "Пустышка для VNC"
        Option         "Xinerama" "1"
	EndSection
	#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        # здесь все настройки оборудования, коли таковые есть
        #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	#Dummy видеокарта
	Section "Device"
		Identifier "Device2"
		Driver "dummy"
 		VideoRam 8000
	EndSection

	#Dummy монитор
	Section "Monitor"
 		Identifier "Monitor2"
  		Modeline "1024x768@25" 23.77 1024 1056 1144 1176 768 785 789 807 # см. п. 1
	EndSection 

	#Dummy экран
	Section "Screen"
 		Identifier "Screen2"
 		Device "Device2"
 		Monitor "Monitor2"
 		DefaultDepth 24
 		SubSection "Display"
	#разрешение плашета
    		Modes      "1024x768"
    		Virtual 1024 748
    	EndSubSection
	EndSection

Biz X-sys-ni qayta ishga tushiramiz va arandr orqali tekshiramiz. Joylashuv va yoʻnalishni sozlang. U quyidagicha koʻrinishi kerak:

Va yana planshetdan ikkinchi monitor haqida ...

Biz uni faylga saqlaymiz - bu biz uchun foydali bo'ladi.

3. WM/DE da avtomatik yuklash uchun fayl yarating (menda planshet.sh bor)

x11vnc -rfbport 5900 -display :0 -dontdisconnect -noxfixes -xdamage -shared -forever -clip 1024x768+1600+0 -scale 1024x768 -bg -cursor X -o /home/$USER/x11vnc.log -repeat
	xrandr --addmode VIRTUAL1 1024x768 # необязательно
	xrandr --output VIRTUAL1 --mode 1024x768 # необязательно
	xrandr --output VIRTUAL2 --off --output HDMI1 --off --output VIRTUAL1 --mode 1024x768 --pos 1602x0 --rotate normal --output DP1 --off --output VGA1 --mode 1600x900 --pos 0x0 --rotate normal #вот эта строка заимствована из сохраненного файла arandr

Keling, tekshiramiz:

$ xrandr |grep VIRTUAL1
        VIRTUAL1 connected 1024x768+1600+0 (normal left inverted right x axis y axis) 0mm x 0mm

IceWM-da avtomatik ishga tushirish katalogi yo'qligi sababli, lekin ~/.icewm/startup fayli (bajarilishi kerak) bo'lgani uchun unga quyidagilarni qo'shing:

sh -c /path/to/planshet.sh

4. Monitorni o'chirishni o'chiring:

	xset s off
	xset s noblank
	xset -dpms

Endi qiziqarli qism keladi! Konsolda klaviaturani qiynoqqa solish orqali "sinov va xato usuli" bo'lmagan qurilma uchun "kran" koordinatalarini qanday olish mumkin?!

Bunday narsa uchun men haykaltaroshlik qildim dastur. Agar biz uni konsoldan ishga tushirsak, biz izlayotgan narsani olamiz - teginish koordinatalarining chiqishi.

Va yana planshetdan ikkinchi monitor haqida ...

6. Bularning barchasini planshet.sh ga qo'shamiz

To'liq versiya

#!/bin/bash
       x11vnc -rfbport 5900 -display :0 -dontdisconnect -noxfixes -xdamage -shared -forever -clip 1024x768+1600+0 -scale 1024x768 -bg -cursor X -o /home/$USER/x11vnc.log -repeat
	xrandr --addmode VIRTUAL1 1024x768 # необязательно
	xrandr --output VIRTUAL1 --mode 1024x768 # необязательно
	xrandr --output VIRTUAL2 --off --output HDMI1 --off --output VIRTUAL1 --mode 1024x768 --pos 1602x0 --rotate normal --output DP1 --off --output VGA1 --mode 1600x900 --pos 0x0 --rotate normal  #вот эта строка заимствована из сохраненного файла arandr
	xset s off
	xset s noblank
	xset -dpms
	adb tcpip 5555
	adb connect 192.168.0.14:5555
	sudo adb devices
	adb shell input tap 1000 20 # тапаем по "квадратикам" в правом верхнем углу (не знаю, как нызавется) - скрин 3
	adb shell input tap 392 138 # тапаем по AndroidVNC
	adb shell input tap 20 65 # запускаем VNC предварительно прописав адрес и порт

Va biz buni qilamiz

chmod +x /path/to/planshet.sh

Hammasi shu, aslida. X serverini qayta ishga tushiring va ko'p ekranga ega bo'ling.

Mening "kichik"imda yugurayotgan konki bor.

Ikki tomonlama ekranning skrinshoti ilova qilingan.

Va yana planshetdan ikkinchi monitor haqida ...

Men biror narsani modellashtirganda unga ma'lumotlar varaqlarini ham tashlayman.

Manba: www.habr.com

a Izoh qo'shish