In spet o drugem monitorju iz tablice ...

Ko sem se znašel kot lastnik tako povprečne tablice z nedelujočim senzorjem (moj najstarejši sin se je potrudil), sem dolgo razmišljal, kam bi ga prilagodil. Googled, Googled in Googled (čas, два, Heker št. 227), pa tudi številne druge recepte, ki vključujejo vesoljska miza, iDispla in nekateri drugi. Edina težava je, da imam Linux. Po nekaj več googlanja sem našel več receptov in z nekaj preprostega šamanizma prišel do sprejemljivega rezultata.

In spet o drugem monitorju iz tablice ...
Moja metoda je pod rezom.

Potrebovali boste:

Linux z nameščenim:

  • x11vnc (odkrito ne maram vseh vrst tigervnc in drugih)
  • Adb iz kompleta orodij za android

Tablični računalnik/pametni z omogočenim načinom za odpravljanje napak in nastavljenim na:

  • AndroidNVC (tega imam, ker ni reklam)
  • Nekakšen blokator za zakrivanje zaslona (brez oglaševanja ga nisem našel)
  • Vsak samodejni nalagalnik (zagon VNC in blokator) ni obvezen (več o tem spodaj).

v redu, začnimo.

1. Pridobite Modeline za xorg.conf

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

2. Urejanje

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

Ponovno zaženemo X-sys in preverimo preko arandr. Nastavite lokacijo in usmerjenost. Videti bi moralo nekako takole:

In spet o drugem monitorju iz tablice ...

Shranimo ga v datoteko - koristno nam bo.

3. Ustvarite datoteko za samodejno nalaganje v WM/DE (imam 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

Preveri:

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

Ker v IceWM ni imenika za samodejni zagon, obstaja pa datoteka ~/.icewm/startup (ki bi morala biti izvedljiva), ji dodajte naslednje:

sh -c /path/to/planshet.sh

4. Onemogočite brisanje monitorja:

	xset s off
	xset s noblank
	xset -dpms

Zdaj prihaja zabavni del! Kako dobiti koordinate “tapa” za napravo brez “metode poskusov in napak” z mučenjem tipkovnice v konzoli?!

Zavoljo take stvari sem kiparil program. Če ga poženemo iz konzole, bomo dobili, kar iščemo - izpis koordinat tapa.

In spet o drugem monitorju iz tablice ...

6. Vse to dodajmo v planshet.sh

Polna različica

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

In to bomo storili

chmod +x /path/to/planshet.sh

To je pravzaprav vse. Znova zaženite strežnik X in dobite multiscreen.

Na svojem "majhnem" teče conky.

Priložen je posnetek dvojnega zaslona.

In spet o drugem monitorju iz tablice ...

Nanj vržem tudi podatkovne liste, ko nekaj modeliram.

Vir: www.habr.com

Dodaj komentar