I de nou sobre el segon monitor de la tauleta...

Després d'haver-me trobat com a propietari d'una tauleta tan mitjana amb un sensor que no funcionava (el meu fill gran va fer tot el possible), vaig pensar durant molt de temps on adaptar-la. Googled, Googled i Googled (temps, два, Hacker núm. 227), així com moltes altres receptes que inclouen escriptori espacial, iDispla i alguns altres. L'únic problema és que tinc Linux. Després de buscar a Google més, vaig trobar diverses receptes i a través d'un xamanisme senzill vaig obtenir un resultat acceptable.

I de nou sobre el segon monitor de la tauleta...
El meu mètode està per sota del tall.

Necessitareu:

Linux amb instal·lat:

  • x11vnc (Francament, no m'agraden tots els tipus de tigervnc i altres)
  • adb del kit d'eines d'Android

Tauleta/intel·ligent amb el mode de depuració activat i establert a:

  • AndroidNVC (Tinc aquest, perquè no hi ha anuncis)
  • Una mena de bloquejador de pantalla en blanc (no en vaig trobar cap sense publicitat)
  • Qualsevol carregador automàtic (executa VNC i bloquejador) és opcional (més informació a continuació).

d'acord, comencem.

1. Obteniu Modeline per a xorg.conf

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

2. Edició

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

Reiniciem l'X-sys i comprovem mitjançant arandr. Configura la ubicació i l'orientació. Hauria de semblar a això:

I de nou sobre el segon monitor de la tauleta...

El desem en un fitxer: ens serà útil.

3. Creeu un fitxer per a la càrrega automàtica a WM/DE (tinc 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

Comprovem:

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

Com que no hi ha cap directori d'inici automàtic a IceWM, però hi ha un fitxer ~/.icewm/startup (que hauria de ser executable), afegiu-hi el següent:

sh -c /path/to/planshet.sh

4. Desactiva l'ocultació del monitor:

	xset s off
	xset s noblank
	xset -dpms

Ara ve la part divertida! Com obtenir les coordenades de "toc" per a un dispositiu sense el "mètode de prova i error" torturant el teclat de la consola?!

Per tal cosa vaig esculpir programa. Si l'executem des de la consola, obtindrem el que estem buscant: sortida de coordenades de tap.

I de nou sobre el segon monitor de la tauleta...

6. Afegim tot això a planshet.sh

Versió completa

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

I ho farem

chmod +x /path/to/planshet.sh

Això és tot, de fet. Reinicieu el servidor X i obteniu una multipantalla.

Tinc conky corrent al meu "petit".

S'adjunta una captura de pantalla de la doble pantalla.

I de nou sobre el segon monitor de la tauleta...

També hi llenço fulls de dades quan modelo alguna cosa.

Font: www.habr.com

Afegeix comentari