Ve yine tabletteki ikinci monitör hakkında...

Kendimi, çalışmayan bir sensöre sahip bu kadar ortalama bir tabletin sahibi olarak bulduğumda (en büyük oğlum elinden gelenin en iyisini yaptı), uzun süre onu nereye uyarlayacağımı düşündüm. Google'da Arandı, Google'da Arandı ve Google'da Araştırıldı (zaman, iki, Hacker No. 227) ve diğer birçok tarifin yanı sıra uzay masası, iDispla ve diğerleri. Tek sorun Linux'um olması. Biraz daha Google'da araştırdıktan sonra birkaç tarif buldum ve basit bir şamanizm yoluyla kabul edilebilir bir sonuç elde ettim.

Ve yine tabletteki ikinci monitör hakkında...
Benim yöntemim kesimin altında.

İhtiyacınız olanlar:

Kurulu Linux:

  • x11vnc (Açıkçası Tigervnc ve diğer türlerini sevmiyorum)
  • adb android-araçlar kitinden

Hata ayıklama modu etkin ve şu şekilde ayarlanmış tablet/akıllı:

  • AndroidNVC (Reklam olmadığı için bunu aldım)
  • Bir çeşit ekran karartma engelleyici (Reklamsız bulamadım)
  • Herhangi bir otomatik yükleyici (VNC'yi ve engelleyiciyi çalıştırın) isteğe bağlıdır (daha fazlası aşağıdadır).

tamam hadi başlayalım.

1. xorg.conf için Modeline'i edinin

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

2. Düzenleme

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'i yeniden başlatıyoruz ve arandr aracılığıyla kontrol ediyoruz. Konumu ve yönlendirmeyi ayarlayın. Şunun gibi görünmelidir:

Ve yine tabletteki ikinci monitör hakkında...

Onu bir dosyaya kaydediyoruz - bizim için faydalı olacaktır.

3. WM/DE'de otomatik yükleme için bir dosya oluşturun (planshet.sh'im var)

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

kontrol:

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

IceWM'de otomatik başlatma dizini olmadığından, ancak bir ~/.icewm/startup dosyası olduğundan (bu dosyanın çalıştırılabilir olması gerekir), buna aşağıdakileri ekleyin:

sh -c /path/to/planshet.sh

4. Monitör karartmayı devre dışı bırakın:

	xset s off
	xset s noblank
	xset -dpms

Şimdi işin eğlenceli kısmı geliyor! Konsoldaki klavyeye işkence yaparak "deneme yanılma yöntemi" olmadan bir cihazın "dokunma" koordinatları nasıl alınır?!

Böyle bir şey uğruna heykel yaptım programı. Konsoldan çalıştırırsak aradığımız şeyi elde ederiz: musluk koordinatlarının çıktısı.

Ve yine tabletteki ikinci monitör hakkında...

6. Bütün bunları planshet.sh'ye ekleyelim.

Tam sürüm

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

Ve bunu yapacağız

chmod +x /path/to/planshet.sh

Aslında hepsi bu. X sunucusunu yeniden başlatın ve çoklu ekrana sahip olun.

"Küçük" olanımın üzerinde koşuyorum.

Çift ekranın ekran görüntüsü ektedir.

Ve yine tabletteki ikinci monitör hakkında...

Bir şeyi modellerken üzerine veri sayfaları da atıyorum.

Kaynak: habr.com

Yorum ekle