Miarahaba ny rehetra,
Betsaka ny lahatsoratra ao amin'ny Internet momba ny fomba fametrahana fifandraisana lavitra amin'ny fivoriana Xorg efa misy amin'ny alΓ lan'ny x11vnc, saingy tsy hitako na aiza na aiza ny fomba hanakanana ny monitor sy ny fidirana eo an-toerana mba hahafahan'ny olona mipetraka eo akaikin'ny solosaina lavitra. tsy mahita izay ataonao ary tsy manindry bokotra amin'ny session-nao. Eo ambanin'ny fanapahana dia ny fombako hanaovana ny x11vnc mitovy amin'ny fampifandraisana amin'ny Windows amin'ny RDP.
Dia atao hoe efa mahay mampiasa x11vnc ianao, raha tsy izany dia azonao atao ny mi-google na mamaky ohatra.
nomena: Manomboka x11nvc izahay, mifandray amin'ny mpanjifa, mandeha ny zava-drehetra, fa ny console eo an-toerana amin'ny solosaina dia azo jerena sy ampidirina ihany koa.
Tianay: vonoy ny console eo an-toerana (monitor + clavier + mouse) mba tsy hisy na inona na inona ho hita na hiditra.
Mamono ny mpanara-maso
Ny zavatra voalohany tonga tao an-tsaina dia ny hamono fotsiny ny monitor amin'ny alΓ lan'ny xrandr, ohatra toy izao:
$ xrandr --output CRT1 --off
fa miaraka amin'izay koa, manomboka mieritreritra ny tontolon'ny varavarankely (manana KDE aho) fa tena maty ny monitor ary manomboka manipy varavarankely sy tontonana, mivoaka ny zava-drehetra ary lasa malahelo.
Misy fomba mahaliana kokoa, dia ny fandefasana ny monitor ho any amin'ny hibernation, azonao atao izany ohatra toy izao:
$ xset dpms force off
fa eto koa tsy milamina daholo. Ny rafitra dia mamoha ny monitor amin'ny hetsika voalohany. Ny tehina tsotra indrindra amin'ny endriky ny tsingerina dia manampy:
while :
do
xset dpms force off
sleep .5
done
Tsy nieritreritra bebe kokoa aho - kamo aho, manatanteraka ny tanjony - tsy mampiseho na inona na inona ny mpanara-maso, na dia manindry ny bokotra aza aho, manetsika ny totozy, sns.
UPS:
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
$ xrandr --output CRT1 --brightness 0
Manapaka ny fampidirana
Mba hanesorana ny fidirana dia nampiasa xinput aho. Rehefa natomboka tsy misy masontsivana, dia mampiseho lisitry ny fitaovana:
$ 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)]
fitaovana Ivontoerana virtoaly... tsy azonao atao ny manafoana izany - misy hadisoana miseho, fa ny ambiny dia azo alefa sy alefa, ohatra, ity no fomba ahafahanao mijanona tsy misy totozy mandritra ny iray minitra:
xinput disable 9; sleep 60; xinput enable 9
Solon-tsambo
Ho an'ny raharahako dia nanao script aho izay mandeha amin'ny session ssh. Manafoana ny fidirana eo an-toerana izy io ary mampiakatra ny mpizara x11vnc, ary rehefa vita ny script dia miverina amin'ny laoniny ny zava-drehetra. Vokatr'izany dia nahazo script telo izahay, indro izy ireo (havaozina).
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
Raha ny marina, ny script lehibe (manana mpanara-maso roa aho, nanangana mpizara mahazatra iray aho ary iray ho an'ny monitor tsirairay).
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
Izay ihany. Midira amin'ny ssh ary manomboka vnc_server, raha mbola velona izy dia afaka miditra amin'ny vnc izahay ary maty ny console eo an-toerana.
Misaotra anao amin'ny fiheveranao, ny fanampiana sy ny fanatsarana dia raisina.
Source: www.habr.com