E novamente sobre o segundo monitor do tablet...

Tendo me encontrado dono de um tablet tão comum com um sensor que não funciona (meu filho mais velho deu o melhor de si), pensei por muito tempo onde adaptá-lo. Pesquisei, pesquisei e pesquisei (tempo, два, Hacker No. 227), bem como muitas outras receitas com spacedesk, iDispla e alguns outros. O único problema é que tenho Linux. Depois de pesquisar mais no Google, encontrei várias receitas e através de um simples xamanismo consegui um resultado aceitável.

E novamente sobre o segundo monitor do tablet...
Meu método está abaixo do corte.

Você vai precisar de:

Linux com instalado:

  • x11vnc (Francamente, não gosto de todos os tipos de tigrevnc e outros)
  • adb do kit de ferramentas do Android

Tablet/smart com modo de depuração ativado e definido como:

  • AndroidNVC (Eu tenho este, porque não há anúncios)
  • Algum tipo de bloqueador de tela apagada (não consegui encontrar nenhum sem publicidade)
  • Qualquer autoloader (executar VNC e bloqueador) é opcional (mais sobre isso abaixo).

OK vamos começar.

1. Obtenha Modeline para xorg.conf

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

2. Edição

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

Reiniciamos o X-sys e verificamos via arandr. Configure a localização e a orientação. Deve ser algo assim:

E novamente sobre o segundo monitor do tablet...

Nós o salvamos em um arquivo - será útil para nós.

3. Crie um arquivo para carregamento automático em WM/DE (tenho 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

Verifica:

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

Como não existe um diretório de inicialização automática no IceWM, mas existe um arquivo ~/.icewm/startup (que deve ser executável), adicione o seguinte a ele:

sh -c /path/to/planshet.sh

4. Desative a supressão do monitor:

	xset s off
	xset s noblank
	xset -dpms

Agora vem a parte divertida! Como obter as coordenadas de “tap” de um dispositivo sem o “método de tentativa e erro” torturando o teclado no console?!

Por causa de tal coisa eu esculpi programa. Se executá-lo a partir do console, obteremos o que procuramos - saída de coordenadas de toque.

E novamente sobre o segundo monitor do tablet...

6. Vamos adicionar tudo isso ao planshet.sh

A versão 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 предварительно прописав адрес и порт

E nós faremos isso

chmod +x /path/to/planshet.sh

Isso é tudo, na verdade. Reinicie o servidor X e obtenha uma tela múltipla.

Eu tenho conky correndo no meu “pequeno”.

Uma captura de tela da tela dupla está anexada.

E novamente sobre o segundo monitor do tablet...

Também coloco folhas de dados nele quando modelo algo.

Fonte: habr.com

Adicionar um comentário