á¡á¬ážáá¯á¶ážáááºá¹ááá¬áá«,
x11vnc ááŸáá
áºááá·áº áááºááŸá Xorg session áá
áºáá¯ááá¯á· á¡áá±ážááŸáá»áááºáááºááŸá¯áá
áºáá¯á¡á¬áž á
áá
áºááá·áºááœááºážáá¯á¶ááŸáá·áºáááºáááºááá·áº áá±á¬ááºážáá«ážáá»á¬ážá
áœá¬ááœáẠá¡ááºáá¬áááºáá±á«áºááœáẠáá±á¬ááºážáá«ážáá»á¬ážá
áœá¬ááŸááá±á¬áºáááºáž á¡áá±ážááááºážááœááºááŒá°áá¬áá±ážááœáẠááá¯ááºáá±áá±á¬áááºáá°áááᯠááŒá¯áá¯ááºááá¯ááºá
á±áááºá¡ááœáẠáááºááá·áºáá±áá¬ááœááºá០áááœá±á·áá²á·ááá«á áááºáá¯ááºáá±áá¬ááœá±ááᯠáááŒááºááááᯠááá·áºá
ááºááŸááºááŸá¬ ááá¯ááºááœá±ááᯠáááŸáááºáááá«áá°ážá ááŒááºáá±á¬ááºááŸá¯á¡á±á¬ááºááœáẠx11vnc ááᯠRDP ááŸáááá·áº Windows ááá¯á·áá»áááºáááºááŒááºážááŸáá·áºááá¯ááá¯áááºáá°á
á±áááºá¡ááœááºáá»áœááºá¯ááºááááºážáááºážááŒá
áºáááºá
áá®áá±á¬á· x11vnc ááᯠáááºááá¯áá¯á¶ážááááºááá¯áᬠááááŒá®ážááŒá® ááá¯áá«á
áá¯á·á ááá¯ááºáá«áá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠgoogle ááá¯á·ááá¯áẠáááºááá¯ááºáááºá
áá±ážáá¬ážáá±á¬: áá»áœááºá¯ááºááá¯á·ááẠx11nvc ááá¯ááœáá·áºááá¯ááºáááºá áááºážááᯠclient ááŸáá·áºáá»áááºáááºáááºá á¡á¬ážáá¯á¶ážá¡áá¯ááºáá¯ááºáááºá ááá¯á·áá±á¬áºááœááºáá»á°áá¬á local console ááá¯ááŒáá·áºááŸá¯áááºááŸáá·áºááá·áºááœááºážáááºá¡ááœááºáááºážáááá¯ááºáááºá
áá»áœááºá¯ááºááá¯á· ááá¯áá»ááºáááº- áááºááá·áºá¡áá¬ááá¯áá»áŸáááŒááºááá¯áẠááá¯á·ááá¯áẠáááºáá±á¬ááºááá¯ááºá á±áááºá¡ááœáẠáá±áááœááºáž ááœááºááá¯ážáẠ(áá±á¬áºáá®áᬠ+ áá®ážáá¯áẠ+ áá±á¬ááºá áº) ááᯠááááºáá«á
áá±á¬áºáá®áá¬áá»á¬ážááá¯ááááºáá¬ážáá«á
ááááá¯á¶áž áááááááááºááŸá¬ á¥ááá¬á¡áá±ááŒáá·áº xrandr ááŸáááá·áº áá±á¬áºáá®áá¬á¡á¬áž ááá¯ážááŸááºážá áœá¬ááááºáááºááŒá áºáááºá
$ xrandr --output CRT1 --off
áá«áá±ááá·áº áá
áºáá»áááºáááºážááŸá¬áá²á windowing áááºáááºážáá»áẠ(áá»áœááºáá±á¬á·áºááŸá¬ KDE) á áá±á¬áºáá®áá¬ááᯠááááºááááºáá¬ážááŒá®áž ááŒáááºážáá±á«ááºááœá±áá²á· panel ááœá±ááᯠáá
áºáá»ááá¯ááºáá¬áá²á· á¡áá¬á¡á¬ážáá¯á¶ážá ááœá±á·ááœá¬ážááŒá®áž áááºážáááºážá
áá¬ááŒá
áºáá¬áááºá
áá±á¬áºáá®áá¬á¡á¬áž hibernation ááá¯á·ááá¯á·ááẠááá¯áá
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá±á¬áááºážáááºážáá
áºáá¯ááŸááá«áááºá áááºá€áá²á·ááá¯á·áá±á¬á¥ááá¬ááá¯ááŒá¯áá¯ááºááá¯ááºáááºá
$ xset dpms force off
áá«áá±ááá·áº áá®áá±áá¬ááŸá¬áááºáž á¡áá¬á¡á¬ážáá¯á¶ážá ááá»á±á¬ááœá±á·áá«áá°ážá á áá áºááẠáááááœá²á áá±á¬áºáá®áá¬á¡á¬áž ááŸáá¯ážáá±ážáááºá á ááºáááºážáá¯á¶á á¶á¡ááœáẠá¡ááá¯ážááŸááºážáá¯á¶ážáá±á¬ áá áºáá±á¬ááºá áá°áá®áá±ážáááº-
while :
do
xset dpms force off
sleep .5
done
áá«áá±á¬ááºáááºáááœá±ážáá²á·áá«áá°áž - áá«áá»ááºážáááºá á¡á²áá«ááá°á·áááºááœááºáá»ááºáá²á·ááá¯ááºáá®ááẠ- ááá¯ááºááœá±ááá¯ááŸáááºá áá±á¬ááºá áºááœáŸá±á·áá¬á áááŒáá·áºáá±á¬ááºááŸáá±á¬áºáá®áá¬ááœá±ááá¬ááŸáááŒáá°ážá
UPD:
СпаÑОбП
$ 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)]
á ááºáá»á¬áž Virtual Core... áááºááááºáá¬ážááááá« - error ááŒáá±áá±á¬áºáááºáž áá»ááºá¡áá¬áá»á¬ážááᯠá¡ááœáá·áºá¡ááááºáá¯ááºááá¯ááºáááºá á¥ááá¬á áááºááẠáá±á¬ááºá áºááá«áá² áá áºáááá áºááá·áº áá»ááºáá¬ážááá¯ááºáááº-
xinput disable 9; sleep 60; xinput enable 9
Turnkey ááŒá±ááŸááºážáá»ááº
áá»áœááºáá±á¬á·áºááá á¹á á¡ááœááºá áá»áœááºáá±á¬áº ssh session áá áºáá¯ááœáẠrun áá±á¬ script áá áºáá¯ááᯠááŒá¯áá¯ááºáá²á·áááºá áááºážááẠááŒááºááœááºážááá·áºááœááºážááŸá¯ááᯠááááŸáááºáᬠx11vnc áá¬áá¬ááᯠááŒáŸáá·áºáááºáá±ážáᬠscript ááŒá®ážáá¯á¶ážáá±á¬á¡áá« á¡áá¬á¡á¬ážáá¯á¶ážááẠááááºá¡ááá¯ááºáž ááŒááºááŒá áºáá¬áááºá ááááºá¡áá±áá²á·á áá»áœááºáá±á¬áºááá¯á·ááŸá¬ áá¬ááºááœáŸááºážáá¯á¶ážáá¯ááºááá²á·ááŒá®ážá á¡á²áá«ááœá±ááᯠ(ááœááºážáá¶) áá¬ážáá«áááºá
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
ááááºáá±á¬á·á áááºá script (áá»áœááºáá±á¬á·áºááŸá¬ áá±á¬áºáá®áᬠááŸá áºáá¯ááŸááááºá áá¯á¶áá¬áá¬áá áºáá¯áá²á· áá±á¬áºáá®áá¬áá áºáá¯á á®á¡ááœáẠáá áºáá¯á á®ááᯠáááºáááºáá¬ážáá«áááº)á
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 ááŸáá áºááá·áº áááºáá±á¬ááºááá¯ááºáᬠlocal console ááẠááŒáááºážááœá¬ážáá«áááºá
áááºáá¡á¬áá¯á¶á
áá¯ááºááŸá¯á áááºáá±á¬ááºážááŸá¯áá»á¬ážááŸáá·áº ááá¯ážáááºááŸá¯áá»á¬ážá¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá
source: www.habr.com