เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต‚เดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดธเตโ€ŒเดŸเตเดฐเต€เด‚ เดธเตโ€Œเด•เตเดฐเต€เตป

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต‚เดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดธเตโ€ŒเดŸเตเดฐเต€เด‚ เดธเตโ€Œเด•เตเดฐเต€เตป

เด“เดซเต€เดธเดฟเดฒเต† เดจเดฟเดฐเดตเดงเดฟ เดธเตโ€Œเด•เตเดฐเต€เดจเตเด•เดณเดฟเตฝ เดจเดฟเดฐเต€เด•เตเดทเดฃเดคเตเดคเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ เด’เดฐเต เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเด‚ เดŽเดจเดฟเด•เตเด•เตเดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดจเดฟเดฐเดตเดงเดฟ เดชเดดเดฏ เดฑเดพเดธเตโ€Œเดฌเต†เดฑเดฟ เดชเตˆ เดฎเต‹เดกเตฝ B + เด‰เด‚ เดเดคเดพเดฃเตเดŸเต เดชเดฐเดฟเดงเดฟเดฏเดฟเดฒเตเดฒเดพเดคเตเดค เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เดนเตˆเดชเตเดชเตผเดตเตˆเดธเดฑเตเด‚ เด‰เดฃเตเดŸเต.

เดชเตเดฐเดคเตเดฏเด•เตเดทเดคเตเดคเดฟเตฝ, เดฑเดพเดธเตโ€Œเดฌเต†เดฑเดฟ เดชเตˆ เดฎเต‹เดกเตฝ B+ เดจเต เดฌเตเดฐเต—เดธเตผ เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดคเดฟเตฝ เดงเดพเดฐเดพเดณเด‚ เด—เตเดฐเดพเดซเดฟเด•เตเดธเต เดฑเต†เตปเดกเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดฎเดคเดฟเดฏเดพเดฏ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดค เด‡เดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เดชเต‡เดœเต เดญเดพเด—เดฟเด•เดฎเดพเดฏเดฟ เดคเด•เดฐเดพเดฑเดฟเดฒเดพเด•เตเด•เดฏเตเด‚ เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด•เตเดฐเดพเดทเตเดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดตเดณเดฐเต† เดฒเดณเดฟเดคเดตเตเด‚ เดฎเดจเต‹เดนเดฐเดตเตเดฎเดพเดฏ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดคเต เดžเดพเตป เดจเดฟเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดชเด™เตเด•เดฟเดŸเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเดตเตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดŽเดฒเตเดฒเดพ เดฑเดพเดธเตเดฌเต†เดฑเดฟเด•เตพเด•เตเด•เตเด‚ เดตเดณเดฐเต† เดถเด•เตเดคเดฎเดพเดฏ เด’เดฐเต เดตเต€เดกเดฟเดฏเต‹ เดชเตเดฐเต‹เดธเดธเตผ เด‰เดฃเตเดŸเต, เด‡เดคเต เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดตเต€เดกเดฟเดฏเต‹ เดกเต€เด•เต‹เดกเดฟเด‚เด—เดฟเดจเต เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ เดฎเดฑเตเดฑเต†เดตเดฟเดŸเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เด’เดฐเต เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเตเดณเตเดณ เด’เดฐเต เดฌเตเดฐเต—เดธเตผ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเดจเตเด‚ เดฑเต†เตปเดกเตผ เดšเต†เดฏเตโ€Œเดค เดšเดฟเดคเตเดฐเดฎเตเดณเตเดณ เด’เดฐเต เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เดธเตเดŸเตเดฐเต€เด‚ เดฑเดพเดธเตโ€Œเดฌเต†เดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดพเดจเตเด‚ เด†เดถเดฏเด‚ เด‰เดฏเตผเดจเตเดจเต.

เด•เต‚เดŸเดพเดคเต†, เด‡เดคเดฟเดจเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เด•เดพเดฐเดฃเด‚ เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดŽเดฒเตเดฒเดพ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเด‚ เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด‚, เด…เดคเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดฌเดพเด•เตเด•เดชเตเดชเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต.

เดชเดฑเดžเตเดžเดฏเตเดŸเดจเต† เด…เดจเตเดธเดฐเดฃเดฏเต‡เดพเดŸเต† เดšเต†เดฏเตเดคเต เดคเต€เตผเด•เตเด•เตเด•.

เดธเต†เตผเดตเตผ เดญเดพเด—เด‚

เดžเด™เตเด™เตพ เดคเดฏเตเดฏเดพเดฑเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด‰เดฌเตเดฃเตเดŸเตเดตเดฟเดจเตเดณเตเดณ เด•เตเดฒเต—เดกเต เด‡เดฎเต‡เดœเต. เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เดตเต‡เด—เดคเตเดคเดฟเตฝ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพเด‚ เด‡เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต CloudInit เดชเดฟเดจเตเดคเตเดฃ เดคเตฝเด•เตเดทเดฃเด‚ เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ ssh เด•เต€เด•เตพ เดšเต‡เตผเด•เตเด•เดพเดจเตเด‚ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเดจเตเด‚ เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต.

เดžเด™เตเด™เตพ เด’เดฐเต เดชเตเดคเดฟเดฏ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด†เดฆเตเดฏเด‚ เด…เดคเต เด…เดคเดฟเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต Xorg, เดจเต‹เดกเตโ€Œเด‚ ะธ เดซเตเดฒเด•เตเดธเตเดฌเต‹เด•เตเดธเต:

apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm

เดžเด™เตเด™เตพ Xorg-เดจเตเดณเตเดณ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚, เดฆเดฏเดตเดพเดฏเดฟ เด…เดจเตเดตเดฆเดฟเดšเตเดšเดคเต เดกเต€เด—เต‹ เด’เด™เตเด•เดพเดฐเต‹, เด’เดฐเต เดชเตเดคเดฟเดฏ เดฑเต†เดธเดฒเตเดฏเต‚เดทเตป เดฎเดพเดคเตเดฐเด‚ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต 1920 ร— 1080, เดžเด™เตเด™เดณเตเดŸเต† เดŽเดฒเตเดฒเดพ เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเตเด•เดณเตเด‚ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเต†เดจเตเดจเดคเดฟเดจเดพเตฝ:

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 เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดเดคเต เดชเต‡เดœเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด…เดคเตเดตเดดเดฟ เดฌเตเดฐเต—เดธเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดคเต เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดคเตเดฑเด•เตเด•เตเด‚.

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดžเด™เตเด™เดณเตเดŸเต† เด•เดฟเดฏเต‹เดธเตเด•เต เดคเดฏเตเดฏเดพเดฑเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต‚เดŸเต† เดฎเดฑเตเดฑเต เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดšเดฟเดคเตเดฐเด‚ เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดธเดพเดงเตเดฏเดคเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ เดšเดฒเดจเด‚ JPEG, เดฎเดฟเด•เตเด• เดตเต†เดฌเตโ€Œเด•เตเดฏเดพเดฎเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดตเต€เดกเดฟเดฏเต‹ เดธเตเดŸเตเดฐเต€เดฎเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเต.

เด‡เดคเดฟเดจเดพเดฏเดฟ เดจเดฎเตเด•เตเด•เต เดฐเดฃเตเดŸเต เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเดพเดฃเต: FFmpeg เดฎเตŠเดกเตเดฏเต‚เดณเดฟเดจเตŠเดชเตเดชเด‚ x11เด—เตเดฐเดพเดฌเต, x เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเตเดŸเตเดฐเต€เด‚เด, เด…เดคเต เดžเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเด‚:

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)

เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต เดชเต‹เด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดพเด‚ http://your-vm:8080/, เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเดฟเดจเตเดฑเต† เดจเดฟเดฐเดจเตเดคเดฐเด‚ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดค เดธเตเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเต เด•เดพเดฃเตเด‚. เด•เตŠเดณเตเดณเดพเด‚! - เดŽเดจเตเดคเดพเดฃเต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเดคเต.

เด•เตเดฒเดฏเดจเตเดฑเต เดตเดถเด‚

เด‡เดตเดฟเดŸเต† เด‡เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต, เดžเดพเตป เดชเดฑเดžเตเดžเดคเตเดชเต‹เดฒเต†, เดžเด™เตเด™เตพ เดฑเดพเดธเตโ€Œเดฌเต†เดฑเดฟ เดชเตˆ เดฎเต‹เดกเตฝ เดฌเดฟ + เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚.

เด†เดฆเตเดฏเด‚, เดจเดฎเตเด•เตเด•เต เด‡เดคเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเด‚ เด†เตผเดšเตเดšเต เดฒเดฟเดจเด•เตเดธเต ARM, เด‡เดคเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เดชเดฟเดจเตเดคเตเดŸเดฐเตเดจเตเดจเต เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ the เดฆเตเดฏเต‹เด—เดฟเด• เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเดฟเตฝ.

เดžเด™เตเด™เดณเตเดŸเต† เดตเต€เดกเดฟเดฏเต‹ เดšเดฟเดชเตเดชเดฟเดจเดพเดฏเดฟ เด•เต‚เดŸเตเดคเตฝ เดฎเต†เดฎเตเดฎเดฑเดฟ เด…เดจเตเดตเดฆเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด‡เดคเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด‚ /boot/config.txt

gpu_mem=128

เดจเดฎเตเด•เตเด•เต เดจเดฎเตเดฎเตเดŸเต† เดชเตเดคเดฟเดฏ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเด‚, เดชเดพเด•เตเดฎเดพเตป เด•เต€เดฑเดฟเด‚เด—เต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเตป เดฎเดฑเด•เตเด•เดฐเตเดคเต, เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด• OMXPlayer:

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/ เดžเด™เตเด™เดณเตเดŸเต† เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ url เด•เตˆเดฎเดพเดฑเตเด•เดฏเดพเดฃเต.

เด…เดคเตเดฐเดฏเต‡เดฏเตเดณเตเดณเต‚, เดžเด™เตเด™เดณเตเดŸเต† เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เดšเดฟเดคเตเดฐเด‚ เด‰เดŸเตป เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดš เดธเตเด•เตเดฐเต€เดจเดฟเตฝ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚. เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเดฏเดพเตฝ, เดธเตเดŸเตเดฐเต€เด‚ เดธเตเดตเดฏเดฎเต‡เดต เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพ เด…เดคเดฟเดฒเต‡เด•เตเด•เต เดตเต€เดฃเตเดŸเตเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เด’เดฐเต เดฌเต‹เดฃเดธเต เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เด“เดซเต€เดธเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเตเด•เดณเดฟเดฒเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดšเดฟเดคเตเดฐเด‚ เด’เดฐเต เดธเตเด•เตเดฐเต€เตปเดธเต‡เดตเดฑเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เด‡เดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเด‚ .เดตเตˆเด•เดพเดคเต† ะธ XScreenSaver:

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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•