แƒ“แƒ แƒ˜แƒกแƒ”แƒ• แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒขแƒแƒ‘แƒšแƒ”แƒขแƒ˜แƒ“แƒแƒœ...

แƒแƒฆแƒ›แƒแƒ•แƒแƒฉแƒ˜แƒœแƒ”, แƒ แƒแƒ› แƒแƒกแƒ”แƒ—แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒขแƒแƒ‘แƒšแƒ”แƒขแƒ˜แƒก แƒ›แƒคแƒšแƒแƒ‘แƒ”แƒšแƒ˜ แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒกแƒ”แƒœแƒกแƒแƒ แƒ˜แƒ— (แƒฉแƒ”แƒ›แƒ˜ แƒฃแƒคแƒ แƒแƒกแƒ˜ แƒ•แƒแƒŸแƒ˜ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ), แƒ“แƒ˜แƒ“แƒฎแƒแƒœแƒก แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒ“แƒ˜, แƒกแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ”แƒ แƒ’แƒ”แƒ‘แƒ˜แƒœแƒ แƒ˜แƒ’แƒ˜. Googled, Googled แƒ“แƒ Googled (แƒ“แƒ แƒ, ะดะฒะฐ, แƒฐแƒแƒ™แƒ”แƒ แƒ˜ No. 227), แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒกแƒฎแƒ•แƒ แƒ แƒ”แƒชแƒ”แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒ™แƒแƒกแƒ›แƒแƒกแƒฃแƒ แƒ˜ แƒ›แƒแƒ’แƒ˜แƒ“แƒ, iDispla แƒ“แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒกแƒฎแƒ•แƒ. แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒกแƒแƒ, แƒ แƒแƒ› แƒšแƒ˜แƒœแƒฃแƒฅแƒกแƒ˜ แƒ›แƒแƒฅแƒ•แƒก. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒฃแƒ’แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ•แƒ˜แƒžแƒแƒ•แƒ” แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ แƒ”แƒชแƒ”แƒžแƒขแƒ˜ แƒ“แƒ แƒฃแƒ‘แƒ แƒแƒšแƒ แƒจแƒแƒ›แƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ” แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜.

แƒ“แƒ แƒ˜แƒกแƒ”แƒ• แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒขแƒแƒ‘แƒšแƒ”แƒขแƒ˜แƒ“แƒแƒœ...
แƒฉแƒ”แƒ›แƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒญแƒ แƒ˜แƒก แƒฅแƒ•แƒ”แƒ›แƒแƒ—แƒแƒ.

แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ:

Linux แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜:

  • x11vnc (แƒ’แƒฃแƒšแƒฌแƒ แƒคแƒ”แƒšแƒแƒ“ แƒแƒ  แƒ›แƒแƒ›แƒฌแƒแƒœแƒก แƒงแƒ•แƒ”แƒšแƒแƒœแƒแƒ˜แƒ แƒ˜ tigervnc แƒ“แƒ แƒกแƒฎแƒ•แƒ)
  • adb แƒแƒœแƒ“แƒ แƒแƒ˜แƒ“แƒ˜แƒก แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ

แƒขแƒแƒ‘แƒšแƒ”แƒขแƒ˜/แƒกแƒ›แƒแƒ แƒขแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜แƒ— แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ:

  • AndroidNVC (แƒ”แƒก แƒ›แƒแƒฅแƒ•แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ แƒ”แƒ™แƒšแƒแƒ›แƒ แƒแƒ  แƒแƒ แƒ˜แƒก)
  • แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒ“แƒแƒชแƒšแƒ˜แƒก แƒ”แƒ แƒ—แƒ’แƒ•แƒแƒ แƒ˜ แƒ‘แƒšแƒแƒ™แƒ”แƒ แƒ˜ (แƒ แƒ”แƒ™แƒšแƒแƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒ”)
  • แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒแƒ•แƒขแƒแƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ˜ (แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ VNC แƒ“แƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ แƒ˜) แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒ—แƒ˜แƒ (แƒ“แƒแƒฌแƒ•แƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒฅแƒ•แƒ”แƒ›แƒแƒ—).

แƒ™แƒแƒ แƒ’แƒ˜, แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ—.

1. แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— Modeline for 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. แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— planshet.แƒจ

แƒกแƒ แƒฃแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ

#!/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 แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒ”แƒ›แƒ˜ "แƒžแƒแƒขแƒแƒ แƒ" แƒ”แƒ แƒ—แƒ˜.

แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ›แƒแƒ’แƒ˜ แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒœแƒจแƒแƒขแƒ˜.

แƒ“แƒ แƒ˜แƒกแƒ”แƒ• แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒขแƒแƒ‘แƒšแƒ”แƒขแƒ˜แƒ“แƒแƒœ...

แƒ›แƒ” แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒแƒงแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒšแƒ”แƒ‘แƒก แƒ›แƒแƒกแƒ–แƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ แƒแƒฆแƒแƒชแƒแƒก แƒ•แƒ›แƒแƒ“แƒ”แƒšแƒแƒ‘.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ