ومرة أخرى عن الشاشة الثانية من الجهاز اللوحي ...

بعد أن وجدت نفسي مالكًا لمثل هذا الجهاز اللوحي المتوسط ​​​​المزود بمستشعر معطل (بذل ابني الأكبر قصارى جهده) ، فكرت لفترة طويلة في مكان تكييفه. بحثت في جوجل وبحثت في جوجل وبحثت في جوجل (وقت, اثنان، هاكر رقم 227)، بالإضافة إلى العديد من الوصفات الأخرى المميزة مكتب الفضاء, iDispla وبعض الآخرين. المشكلة الوحيدة هي أن لدي نظام Linux. وبعد المزيد من البحث على جوجل، وجدت العديد من الوصفات ومن خلال بعض الشامانية البسيطة حصلت على نتيجة مقبولة.

ومرة أخرى عن الشاشة الثانية من الجهاز اللوحي ...
طريقتي تحت القطع.

سوف تحتاج إلى:

لينكس مع التثبيت:

  • x11vnc (أنا بصراحة لا أحب كل أنواع Tigervnc وغيرها)
  • بنك التنمية الآسيوي من مجموعة أدوات android

جهاز لوحي/ذكي مع تمكين وضع تصحيح الأخطاء وتعيينه على:

  • androidNVC (لدي هذا لأنه لا توجد إعلانات)
  • نوع من أدوات حظر إفراغ الشاشة (لم أتمكن من العثور على واحد بدون إعلانات)
  • يعد أي أداة تحميل تلقائي (تشغيل VNC ومانع) اختياريًا (المزيد حول ذلك أدناه).

حسنا لنبدأ.

1. احصل على النموذج لـ 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. دعونا نضيف كل هذا إلى Plansheet.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

إضافة تعليق