рдореБрдЭреЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдХрдИ рд╕реНрдХреНрд░реАрдиреЛрдВ рдкрд░ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд╕рд╛рде рдПрдХ рдбреИрд╢рдмреЛрд░реНрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рд▓рдЧрднрдЧ рдЕрд╕реАрдорд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдкреБрд░рд╛рдиреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЙрдбрд▓ рдмреА + рдФрд░ рдПрдХ рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░ рд╣реИрдВред
рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЙрдбрд▓ рдмреА+ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЪрд╛рд▓реВ рд░рдЦрдиреЗ рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдкреЗрдЬ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рдФрд░ рд╕реБрдВрджрд░ рд╕рдорд╛рдзрд╛рди рдерд╛, рдЬрд┐рд╕реЗ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╕рднреА рд░рд╛рд╕реНрдкрдмреЗрд░реА рдореЗрдВ рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡реАрдбрд┐рдпреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡реАрдбрд┐рдпреЛ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рддреЛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ рдХрд┐ рдХрд╣реАрдВ рдФрд░ рдПрдХ рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдПрдХ рддреИрдпрд╛рд░ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдПрдХ рдкреНрд░рд╕реНрддреБрдд рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рд░рд╛рд╕реНрдкрдмреЗрд░реА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╕рд╛рде рд╣реА, рдЗрд╕рдХрд╛ рдкреНрд░рдмрдВрдзрди рд╕рд░рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ рдмреИрдХрдЕрдк рд▓реЗрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдЖрдкрдиреЗ рдХрд╣рд╛ рд╣рдордиреЗ рдХрд┐рдпрд╛ред
рд╕рд░реНрд╡рд░ рднрд╛рдЧ
рд╣рдо рддреИрдпрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рд╣рдо рдПрдХ рдирдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЙрд╕ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ
apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm
рдХреГрдкрдпрд╛ рд╣рдо Xorg рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
cat > /etc/X11/xorg.conf <<EOT
Section "Device"
Identifier "device"
Driver "vesa"
EndSection
Section "Screen"
Identifier "screen"
Device "device"
Monitor "monitor"
DefaultDepth 16
SubSection "Display"
Modes "1920x1080" "1280x1024" "1024x768" "800x600"
EndSubSection
EndSection
Section "Monitor"
Identifier "monitor"
HorizSync 20.0 - 50.0
VertRefresh 40.0 - 80.0
Option "DPMS"
EndSection
Section "ServerLayout"
Identifier "layout"
Screen "screen"
EndSection
EOT
systemctl restart nodm
рдЕрдм рд╣рдо рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ, рд╣рдо рдЗрд╕реЗ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдирд┐рдЯ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреЗрдВрдЧреЗ:
apt-get install -y firefox xdotool
cat > /etc/systemd/system/firefox.service <<EOT
[Unit]
Description=Firefox
After=network.target
[Service]
Restart=always
User=ubuntu
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/ubuntu/.Xauthority"
ExecStart=/usr/bin/firefox -url 'http://example.org/mydashboard'
ExecStartPost=/usr/bin/xdotool search --sync --onlyvisible --class "Firefox" windowactivate key F11
[Install]
WantedBy=graphical.target
EOT
systemctl enable firefox
systemctl start firefox
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЛ рдлрд╝реБрд▓ рд╕реНрдХреНрд░реАрди рдореЛрдб рдореЗрдВ рддреБрд░рдВрдд рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ Xdotool рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ -url
рдЖрдк рдХреЛрдИ рднреА рдкреЗрдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╡рд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦреБрд▓ рдЬрд╛рдПред
рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╣рдорд╛рд░рд╛ рдХрд┐рдпреЛрд╕реНрдХ рддреИрдпрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдореЗрдВ рдЫрд╡рд┐ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдиреНрдп рдореЙрдирд┐рдЯрд░ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рджреЛ рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
apt-get install -y make gcc ffmpeg
cd /tmp/
wget https://github.com/ccrisan/streameye/archive/master.tar.gz
tar xvf master.tar.gz
cd streameye-master/
make
make install
cat > /etc/systemd/system/streameye.service <<EOT
[Unit]
Description=streamEye
After=network.target
[Service]
Restart=always
User=ubuntu
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/ubuntu/.Xauthority"
ExecStart=/bin/sh -c 'ffmpeg -f x11grab -s 1920x1080 -i :0 -r 1 -f mjpeg -q:v 5 - 2>/dev/null | streameye'
[Install]
WantedBy=graphical.target
EOT
systemctl enable streameye
systemctl start streameye
рдЪреВрдБрдХрд┐ рд╣рдорд╛рд░реА рддрд╕реНрд╡реАрд░ рдХреЛ рддреЗрдЬрд╝ рдЕрдкрдбреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рддрд╛рдЬрд╝рд╛ рджрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА: 1 рдлреНрд░реЗрдо рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб (рдкреИрд░рд╛рдореАрдЯрд░)ред -r 1
) рдФрд░ рд╕рдВрдкреАрдбрд╝рди рдЧреБрдгрд╡рддреНрддрд╛: 5 (рдкреИрд░рд╛рдореАрдЯрд░ -q:v 5
)
рдЖрдЗрдП рдЕрдм рдЬрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ
рдпрд╣рд╛рдВ рдпрд╣ рдЕрднреА рднреА рдЖрд╕рд╛рди рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╣рдо рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЙрдбрд▓ рдмреА+ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
рд╣рдореЗрдВ рдЕрдкрдиреА рд╡реАрдбрд┐рдпреЛ рдЪрд┐рдк рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕рдореЗрдВ рд╕рдВрдкрд╛рджрди рдХрд░реЗрдВрдЧреЗ /boot/config.txt
gpu_mem=128
рдЖрдЗрдП рдЕрдкрдиреЗ рдирдП рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмреВрдЯ рдХрд░реЗрдВ рдФрд░ рдкреИрдХреНрдореИрди рдХреАрд░рд┐рдВрдЧ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛, рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ
pacman -Sy omxplayer
рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ, OMXPlayer X рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдмрд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдирд┐рдЯ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
cat > /etc/systemd/system/omxplayer.service <<EOT
[Unit]
Description=OMXPlayer
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/bin/omxplayer -r --live -b http://your-vm:8080/ --aspect-mode full
[Install]
WantedBy=multi-user.target
EOT
systemctl enable omxplayer
systemctl start omxplayer
рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ -b http://your-vm:8080/
рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдпреВрдЖрд░рдПрд▓ рдкрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдмрд╕ рдЗрддрдирд╛ рд╣реА, рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рддрд╕реНрд╡реАрд░ рддреБрд░рдВрдд рдХрдиреЗрдХреНрдЯреЗрдб рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реНрдЯреНрд░реАрдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдЗрд╕рд╕реЗ рдкреБрдирдГ рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдкрд░рд┐рдгрд╛рдореА рдЪрд┐рддреНрд░ рдХреЛ рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЗ рд╕рднреА рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рд╕реНрдХреНрд░реАрдирд╕реЗрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
mode: one
selected: 0
programs:
"Monitoring Screen" mpv --really-quiet --no-audio --fs
--loop=inf --no-stop-screensaver
--wid=$XSCREENSAVER_WINDOW
http://your-vm:8080/ n
maze -root n
electricsheep --root 1 n
рдЕрдм рдЖрдкрдХреЗ рд╕рд╣рдХрд░реНрдореА рдмрд╣реБрдд рдЦреБрд╢ рд╣реЛрдВрдЧреЗ ЁЯЩВ
рд╕реНрд░реЛрдд: www.habr.com