И пак за вториот монитор од таблетот...

Откако се најдов како сопственик на таков просечен таблет со неработен сензор (мојот најстар син се трудеше најдобро), долго размислував каде да го приспособам. Гугл, гугла и гугла (време, два, Хакер бр. 227), како и многу други рецепти во кои се вклучени вселенско биро, iDispla и некои други. Единствениот проблем е што имам Linux. По уште некое гуглање најдов неколку рецепти и преку некој едноставен шаманизам добив прифатлив резултат.

И пак за вториот монитор од таблетот...
Мојот метод е под сечењето.

Ќе ви требаат:

Linux со инсталиран:

  • x11vnc (Искрено не ми се допаѓаат секакви тигервнци и други)
  • adb од комплетот со алатки за андроид

Таблет/паметен со овозможен режим за отстранување грешки и поставен на:

  • AndroidNVC (Јас ја имам оваа, бидејќи нема реклами)
  • Некој вид блокатор за испразнување на екранот (не можев да најдам без рекламирање)
  • Секое автоматско вчитување (работи VNC и блокатор) е опционално (повеќе за тоа подолу).

во ред, да почнеме.

1. Земете Modeline за xorg.conf

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

2. Уредување

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

Го рестартираме X-sys и проверуваме преку arandr. Поставете ја локацијата и ориентацијата. Треба да изгледа вака:

И пак за вториот монитор од таблетот...

Го зачувуваме во датотека - ќе ни биде корисно.

3. Направете датотека за автоматско вчитување во WM/DE (имам planshet.sh)

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

Ајде да провериме:

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

Бидејќи нема директориум за автоматско стартување во IceWM, но има датотека ~/.icewm/startup (која треба да биде извршна), додадете го следново во него:

sh -c /path/to/planshet.sh

4. Оневозможете го бришењето на мониторот:

	xset s off
	xset s noblank
	xset -dpms

Сега доаѓа забавниот дел! Како да добиете „тап“ координати за уред без „проба и грешка“ со мачење на тастатурата во конзолата?!

Заради такво нешто извајав програма. Ако го извршиме од конзолата, ќе го добиеме она што го бараме - излез на координати на допир.

И пак за вториот монитор од таблетот...

6. Сето ова да го додадеме на planshet.sh

Комплетна верзија

#!/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 предварительно прописав адрес и порт

И ние ќе го направиме тоа

chmod +x /path/to/planshet.sh

Тоа е се, всушност. Рестартирајте го серверот X и добијте повеќе екран.

Имам конки трчање на мојата „мала“.

Прикачена е слика од екранот на двојниот екран.

И пак за вториот монитор од таблетот...

Јас, исто така, фрлам листови со податоци кога моделувам нешто.

Извор: www.habr.com

Додадете коментар