そしてタブレットからのXNUMX番目のモニターについてもう一度...

センサーが機能しない(長男が頑張ってくれました)このような平均的なタブレットの所有者であることに気づき、私はそれをどこに適応させるかについて長い間考えました。 ググって、ググって、ググって(時間, два、Hacker No. 227)、その他多くのレシピを掲載しています。 スペースデスク, アイディスプレイ 他にもいくつかあります。 唯一の問題は、Linux を使用していることです。 さらにグーグルで検索したところ、いくつかのレシピが見つかり、簡単なシャーマニズムを通じて、満足のいく結果が得られました。

そしてタブレットからのXNUMX番目のモニターについてもう一度...
私のやり方は限界以下です。

あなたが必要になります。

Linux がインストールされている場合:

  • x11vnc (率直に言って、私はあらゆる種類の Tigervnc やその他のものが好きではありません)
  • ADB アンドロイドツールキットから

デバッグ モードが有効で、次のように設定されているタブレット/スマート:

  • AndroidNVC (広告がないのでこれを持っています)
  • ある種の画面ブランキング ブロッカー (広告なしのブロッカーは見つかりませんでした)
  • オートローダー (VNC とブロッカーの実行) はオプションです (詳細は以下を参照)。

じゃあ始めよう。

1. xorg.conf の Modeline を取得する

$ 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 経由で確認します。 位置と向きを設定すると、次のようになります。

そしてタブレットからのXNUMX番目のモニターについてもう一度...

それをファイルに保存します。これは便利です。

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 には autostart ディレクトリはありませんが、ファイル ~/.icewm/startup (実行可能である必要があります) は存在するため、それに次の行を追加します。

sh -c /path/to/planshet.sh

4. モニターのブランキングを無効にします。

	xset s off
	xset s noblank
	xset -dpms

ここからが楽しい部分です。 コンソールでキーボードを操作する「試行錯誤の方法」を使わずに、デバイスの「タップ」座標を取得するにはどうすればよいでしょうか?!

そんなもののために私は彫った プログラム。 コンソールから実行すると、探しているもの、つまりタップ座標の出力が得られます。

そしてタブレットからのXNUMX番目のモニターについてもう一度...

6. これらすべてを planshet.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 サーバーを再起動し、マルチスクリーンを取得します。

私はconkyを「小さい」もので実行しています。

ダブルスクリーンのスクリーンショットを添付します。

そしてタブレットからのXNUMX番目のモニターについてもう一度...

また、何かをモデル化するときにデータシートをそこに投げます。

出所: habr.com

コメントを追加します