Và một lần nữa về màn hình thứ hai của máy tính bảng...

Nhận thấy mình là chủ sở hữu của một chiếc máy tính bảng tầm trung với cảm biến không hoạt động (con trai lớn của tôi đã cố gắng hết sức), tôi đã suy nghĩ rất lâu về việc nên điều chỉnh nó ở đâu. Đã được Google, đã được Google và đã được Google (thời gian, два, Hacker số 227), cũng như nhiều công thức nấu ăn khác có bàn cách, iDispla và một số người khác. Vấn đề duy nhất là tôi có Linux. Sau khi tìm kiếm thêm trên Google, tôi đã tìm thấy một số công thức nấu ăn và thông qua một số pháp sư đơn giản, tôi đã nhận được kết quả có thể chấp nhận được.

Và một lần nữa về màn hình thứ hai của máy tính bảng...
Phương pháp của tôi là dưới vết cắt.

Bạn sẽ cần:

Linux đã cài đặt:

  • x11vnc (Nói thật là tôi không thích tất cả các loại Tigervnc và những loại khác)
  • Adb từ bộ công cụ android

Máy tính bảng/thông minh đã bật chế độ gỡ lỗi và đặt thành:

  • AndroidNVC (Tôi có cái này, vì không có quảng cáo)
  • Một số loại trình chặn xóa màn hình (tôi không thể tìm thấy một loại mà không có quảng cáo)
  • Bất kỳ trình tải tự động nào (chạy VNC và trình chặn) đều là tùy chọn (xem thêm ở bên dưới).

được rồi, hãy bắt đầu.

1. Tải Modeline cho xorg.conf

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

2. Chỉnh sửa

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

Chúng tôi khởi động lại X-sys và kiểm tra qua arandr. Thiết lập vị trí và hướng. Nó sẽ trông giống như thế này:

Và một lần nữa về màn hình thứ hai của máy tính bảng...

Chúng tôi lưu nó vào một tệp - nó sẽ hữu ích cho chúng tôi.

3. Tạo một tệp để tự động tải trong WM/DE (Tôi có 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

Hãy kiểm tra:

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

Vì không có thư mục tự khởi động trong IceWM, nhưng có một tệp ~/.icewm/startup (có thể thực thi được), hãy thêm phần sau vào đó:

sh -c /path/to/planshet.sh

4. Tắt tính năng xóa màn hình:

	xset s off
	xset s noblank
	xset -dpms

Bây giờ đến phần thú vị! Làm cách nào để có được tọa độ “chạm” cho một thiết bị không có “phương pháp thử và sai” bằng cách tra tấn bàn phím trong bảng điều khiển?!

Vì mục đích đó tôi đã điêu khắc chương trình. Nếu chúng tôi chạy nó từ bảng điều khiển, chúng tôi sẽ nhận được thứ chúng tôi đang tìm kiếm - đầu ra của tọa độ nhấn.

Và một lần nữa về màn hình thứ hai của máy tính bảng...

6. Hãy thêm tất cả những thứ này vào planshet.sh

Phiên bản đầy đủ

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

Và chúng ta sẽ làm điều đó

chmod +x /path/to/planshet.sh

Thực ra đó là tất cả. Khởi động lại máy chủ X và nhận được nhiều màn hình.

Tôi có conky đang chạy trên cái "nhỏ" của mình.

Một ảnh chụp màn hình của màn hình đôi được đính kèm.

Và một lần nữa về màn hình thứ hai của máy tính bảng...

Tôi cũng ném các bảng dữ liệu vào đó khi tôi lập mô hình một cái gì đó.

Nguồn: www.habr.com

Thêm một lời nhận xét