เดนเดฒเตเดพ เดเดฒเตเดฒเดพเดตเดฐเตเด,
x11vnc เดตเดดเดฟ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ Xorg เดธเตเดทเดจเดฟเดฒเตเดเตเดเต เดเดเตเดเดจเต เดตเดฟเดฆเตเดฐ เดเดฃเดเตเดทเตป เดธเดเตเดเตเดเดฐเดฟเดเตเดเดพเด เดเดจเตเดจ เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดเตปเตเดฑเตผเดจเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เดฒเตเดเดจเดเตเดเดณเตเดฃเตเดเต, เดเดจเตเดจเดพเตฝ เดฑเดฟเดฎเตเดเตเดเต เดเดฎเตเดชเตเดฏเตเดเตเดเดฑเดฟเดจเต เด
เดเตเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเตผเดเตเดเตเด เดฒเตเดเตเดเตฝ เดฎเตเดฃเดฟเดฑเตเดฑเดฑเตเด เดเตปเดชเตเดเตเดเตเด เดเดเตเดเดจเต เด
เดเดฟเดเตเดเดฎเตผเดคเตเดคเดพเดฎเตเดจเตเดจเต เดเดพเตป เดเดตเดฟเดเตเดฏเตเด เดเดฃเตเดเตเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ. เดจเดฟเดเตเดเตพ เดเดจเตเดคเดพเดฃเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเตเดจเตเดจเต เดเดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ, เดจเดฟเดเตเดเดณเตเดเต เดธเตเดทเดจเดฟเตฝ เดฌเดเตเดเดฃเตเดเตพ เด
เดฎเตผเดคเตเดคเตเดจเตเดจเดฟเดฒเตเดฒ. RDP เดตเดดเดฟ เดตเดฟเตปเดกเตเดธเดฟเดฒเตเดเตเดเต เดเดฃเดเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต x11vnc เดเตเดเตเดคเตฝ เดธเดพเดฎเตเดฏเดฎเตเดณเตเดณเดคเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเตปเตเดฑเต เดฐเตเดคเดฟเดฏเดพเดฃเต เดเดเตเดเดฟเดจเต เดคเดพเดดเตเดฏเตเดณเตเดณเดคเต.
เด
เดคเดฟเดจเดพเตฝ, x11vnc เดเดเตเดเดจเต เดเดชเดฏเตเดเดฟเดเตเดเดฃเดฎเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเดฟเดจเดเด เด
เดฑเดฟเดฏเดพเดฎเตเดจเตเดจเดฟเดฐเดฟเดเตเดเดเตเดเต, เดเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดเตเดเดฟเตพ เดเตเดฏเตเดฏเดพเด เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดตเดพเดฏเดฟเดเตเดเดพเด
เดจเตฝเดเดฟเดฏเดคเต: เดเดเตเดเตพ x11nvc เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต, เดเตเดฒเดฏเตปเตเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต, เดเดฒเตเดฒเดพเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต, เดชเดเตเดทเต เดเดฎเตเดชเตเดฏเตเดเตเดเดฑเดฟเตปเตเดฑเต เดชเตเดฐเดพเดฆเตเดถเดฟเด เดเตบเดธเตเตพ เดเดพเดฃเดพเดจเตเด เดเตปเดชเตเดเตเดเตเดเตเดฏเตเดฏเดพเดจเตเด เดฒเดญเตเดฏเดฎเดพเดฃเต.
เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต: เดฒเตเดเตเดเตฝ เดเตบเดธเตเตพ เดเดซเต เดเตเดฏเตเดฏเตเด (เดฎเตเดฃเดฟเดฑเตเดฑเตผ + เดเตเดฌเตเตผเดกเต + เดฎเตเดธเต) เด เดเตเดเดจเต เดเดจเตเดจเตเด เดเดพเดฃเดพเดจเต เดจเตฝเดเดพเดจเต เดเดดเดฟเดฏเดฟเดฒเตเดฒ.
เดฎเตเดฃเดฟเดฑเตเดฑเดฑเตเดเตพ เดเดซเต เดเตเดฏเตเดฏเตเดจเตเดจเต
เดเดฆเตเดฏเด เดฎเดจเดธเตเดธเดฟเตฝ เดตเดจเตเดจเดคเต xrandr เดตเดดเดฟ เดฎเตเดฃเดฟเดฑเตเดฑเตผ เดเดซเต เดเตเดฏเตเดฏเตเด เดเดจเตเดจเดคเดพเดฃเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดเดคเตเดชเตเดฒเต:
$ xrandr --output CRT1 --off
เดเดจเตเดจเดพเตฝ เด
เดคเต เดธเดฎเดฏเด, เดตเดฟเดจเตเดกเตเดฏเดฟเดเดเต เดเตปเดตเดฏเตเตบเดฎเตเตปเตเดฑเต (เดเดจเดฟเดเตเดเต เดเตเดกเดฟเด เดเดฃเตเดเต) เดฎเตเดฃเดฟเดฑเตเดฑเตผ เดถเดฐเดฟเดเตเดเตเด เดเดซเดพเดฃเตเดจเตเดจเต เดเดฟเดจเตเดคเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเตเดเดฏเตเด เดตเดฟเตปเดกเตเดเดณเตเด เดชเดพเดจเดฒเตเดเดณเตเด เดเดฑเดฟเดฏเดพเตป เดคเตเดเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต, เดเดฒเตเดฒเดพเด เดชเตเดฑเดคเตเดคเตเดเตเดเต เดจเตเดเตเดเตเดเดฏเตเด เดธเดเตเดเดเดชเตเดชเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดเตเดเตเดคเตฝ เดฐเดธเดเดฐเดฎเดพเดฏ เดเดฐเต เดฎเดพเตผเดเดฎเตเดฃเตเดเต, เด
เดคเดพเดฏเดคเต เดฎเตเดฃเดฟเดฑเตเดฑเดฑเดฟเดจเต เดนเตเดฌเตผเดจเตเดทเดจเดฟเดฒเตเดเตเดเต เด
เดฏเดฏเตเดเตเดเตเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด:
$ xset dpms force off
เดเดจเตเดจเดพเตฝ เดเดตเดฟเดเตเดฏเตเด เดเดฒเตเดฒเดพเด เดธเตเดเดฎเดฎเดฒเตเดฒ. เดเดฆเตเดฏ เดธเดเดญเดตเดคเตเดคเดฟเตฝ เดธเดฟเดธเตเดฑเตเดฑเด เดฎเตเดฃเดฟเดฑเตเดฑเดฑเดฟเดจเต เดเดฃเตผเดคเตเดคเตเดจเตเดจเต. เดเดฐเต เดเดเตเดฐเดคเตเดคเดฟเตปเตเดฑเต เดฐเตเดชเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดจเตเดจเตเดตเดเดฟ เดธเดนเดพเดฏเดฟเดเตเดเตเดจเตเดจเต:
while :
do
xset dpms force off
sleep .5
done
เดเดพเตป เดเตเดเตเดคเตฝ เดเดฟเดจเตเดคเดฟเดเตเดเดฟเดฒเตเดฒ - เดเดพเตป เดฎเดเดฟเดฏเดจเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด เดคเต เด เดคเดฟเตปเตเดฑเต เดเดฆเตเดฆเตเดถเตเดฏเด เดจเดฟเดฑเดตเตเดฑเตเดฑเตเดจเตเดจเต - เดเดพเตป เดฌเดเตเดเดฃเตเดเตพ เด เดฎเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเดฟเดเตเดเดพเดฒเตเด เดฎเตเดธเต เดเดฒเดฟเดชเตเดชเดฟเดเตเดเดพเดฒเตเด เดฎเตเดฃเดฟเดฑเตเดฑเดฑเตเดเตพ เดเดจเตเดจเตเด เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ.
เดฏเตเดชเดฟเดเดธเต:
ะกะฟะฐัะธะฑะพ
$ xrandr --output CRT1 --brightness 0
เดเตปเดชเตเดเตเดเต เดฎเตเดฑเดฟเดเตเดเตเดจเตเดจเต
เดเตปเดชเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดเตเดเดพเตป เดเดพเตป xinput เดเดชเดฏเตเดเดฟเดเตเดเต. เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดเดฒเตเดฒเดพเดคเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดฎเตเดชเตเตพ, เด เดคเต เดเดชเดเดฐเดฃเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต:
$ xinput
โก Virtual core pointer id=2 [master pointer (3)]
โ โณ Virtual core XTEST pointer id=4 [slave pointer (2)]
โ โณ Logitech USB Laser Mouse id=9 [slave pointer (2)]
โฃ Virtual core keyboard id=3 [master keyboard (2)]
โณ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
โณ Power Button id=6 [slave keyboard (3)]
โณ Power Button id=7 [slave keyboard (3)]
โณ Sleep Button id=8 [slave keyboard (3)]
โณ USB 2.0 Camera: HD 720P Webcam id=10 [slave keyboard (3)]
โณ HID 041e:30d3 id=11 [slave keyboard (3)]
โณ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
เดเดชเดเดฐเดฃเดเตเดเตพ เดตเตเตผเดเตเดตเตฝ เดเตเตผ... เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเต เด เดชเตเดฐเดพเดชเตเดคเดฎเดพเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ - เดเดฐเต เดชเดฟเดถเดเต เดฆเตเดถเตเดฏเดฎเดพเดเตเด, เดเดจเตเดจเดพเตฝ เดฌเดพเดเตเดเดฟเดฏเตเดณเตเดณเดต เดเดฃเดพเดเตเดเดพเดจเตเด เดเดซเดพเดเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดฐเต เดฎเดฟเดจเดฟเดฑเตเดฑเต เดจเตเดฐเดคเตเดคเตเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดฎเตเดธเต เดเดฒเตเดฒเดพเดคเต เด เดตเดถเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต เดเดเตเดเดจเตเดฏเดพเดฃเต:
xinput disable 9; sleep 60; xinput enable 9
เดเตเดฃเดฟเดเตเดเต เดชเดฐเดฟเดนเดพเดฐเด
เดเตปเตเดฑเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดเดพเตป เดเดฐเต ssh เดธเตเดทเดจเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดฃเตเดเดพเดเตเดเดฟ. เดเดคเต เดฒเตเดเตเดเตฝ เดเตปเดชเตเดเตเดเดฟเดจเต เด เดเดฟเดเตเดเดฎเตผเดคเตเดคเตเดเดฏเตเด x11vnc เดธเตเตผเดตเตผ เดเดฏเตผเดคเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต, เดเตเดเดพเดคเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดฎเตเดชเตเตพ เดเดฒเตเดฒเดพเด เดชเดดเดฏเดคเตเดชเตเดฒเต เดคเดจเตเดจเต เดคเดฟเดฐเดฟเดเตเดเตเดตเดฐเตเด. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดเดเตเดเตพเดเตเดเต เดฎเตเดจเตเดจเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดฒเดญเดฟเดเตเดเต, เด เดต เดเดตเดฟเดเตเดฏเตเดฃเตเดเต (เด เดชเตเดกเตเดฑเตเดฑเต เดเตเดฏเตเดคเดคเต).
switch_local_console:
#!/bin/sh
case $1 in
1|on)
desired=1
;;
0|off)
desired=0
;;
*)
echo "USAGE: $0 0|1|on|off"
exit 1
;;
esac
keyboards=`xinput | grep -v "XTEST" | grep "slave keyboard" | sed -re 's/^.*sid=([0-9]+)s.*$/1/'`
mouses=`xinput | grep -v "XTEST" | grep "slave pointer" | sed -re 's/^.*sid=([0-9]+)s.*$/1/'`
monitors=`xrandr | grep " connected" | sed -re 's/^(.+) connected.*$/1/'`
for device in $mouses
do
xinput --set-prop $device "Device Enabled" $desired
done
for device in $keyboards
do
xinput --set-prop $device "Device Enabled" $desired
done
for device in $monitors
do
xrandr --output $device --brightness $desired
done
disable_local_console:
#!/bin/sh
trap "switch_local_console 1" EXIT
while :
do
switch_local_console 0
sleep 1
done
เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เดชเตเดฐเดงเดพเดจ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต (เดเดจเดฟเดเตเดเต เดฐเดฃเตเดเต เดฎเตเดฃเดฟเดฑเตเดฑเดฑเตเดเตพ เดเดฃเตเดเต, เดเดพเตป เดเดฐเต เดชเตเดคเต เดธเตเตผเดตเดฑเตเด เดเดฐเต เดฎเตเดฃเดฟเดฑเตเดฑเดฑเดฟเดจเตเด เดเดจเตเดจเต เดธเดเตเดเตเดเดฐเดฟเดเตเดเต).
vnc_server:
#!/bin/bash
[[ ":0" == "$DISPLAY" ]] && echo "Should be run under ssh session" && exit 1
export DISPLAY=:0
killall x11vnc
rm -r /tmp/x11vnc
mkdir -p /tmp/x11vnc/{5900,5901,5902}
params="-fixscreen V=5 -forever -usepw -noxkb -noxdamage -repeat -nevershared"
echo "Starting VNC servers"
x11vnc -rfbport 5900 $params 2>&1 | tinylog -k 2 -r /tmp/x11vnc/5900 &
x11vnc -rfbport 5901 $params -clip 1920x1080+0+0 2>&1 | tinylog -k 2 -r /tmp/x11vnc/5901 &
x11vnc -rfbport 5902 $params -clip 1920x1080+1920+0 2>&1 | tinylog -k 2 -r /tmp/x11vnc/5902 &
echo "Waiting VNC servers"
while [ `ps afx | grep -c "x11vnc -rfbport"` -ne "4" ]
do
sleep .5
done
echo "Disabling local console"
disable_local_console
echo "Killing VNC servers"
killall x11vnc
เด เดคเตเดฐเดฏเตเดฏเตเดณเตเดณเต. ssh เดตเดดเดฟ เดฒเตเดเดฟเตป เดเตเดฏเตเดคเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเด vnc_server, เด เดตเตป เดเตเดตเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเดเตเดเตพเดเตเดเต vnc เดตเดดเดฟ เดเดเตโเดธเดธเต เดเดฃเตเดเต, เดฒเตเดเตเดเตฝ เดเตบเดธเตเตพ เดเตเดเตเดคเตเดคเดฟ.
เดจเดฟเดเตเดเดณเตเดเต เดถเตเดฐเดฆเตเดงเดฏเตเดเตเดเต เดจเดจเตเดฆเดฟ, เดเตเดเตเดเดฟเดเตเดเตเตผเดเตเดเดฒเตเดเดณเตเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดฒเตเดเดณเตเด เดธเตเดตเดพเดเดคเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เด
เดตเดฒเดเดฌเด: www.habr.com