เบ–เปˆเบฒเบเบ—เบญเบ”เปœเป‰เบฒเบˆเปเป„เบ›เบซเบฒเบซเบผเบฒเบเบญเบธเบ›เบฐเบเบญเบ™เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ

เบ–เปˆเบฒเบเบ—เบญเบ”เปœเป‰เบฒเบˆเปเป„เบ›เบซเบฒเบซเบผเบฒเบเบญเบธเบ›เบฐเบเบญเบ™เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบชเบฐโ€‹เปเบ”เบ‡ dashboard เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒโ€‹เปƒเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบˆเปโ€‹เบซเบผเบฒเบโ€‹เปƒเบ™โ€‹เบซเป‰เบญเบ‡โ€‹เบเบฒเบ™. เบกเบต Raspberry Pi Model B + เป€เบเบปเปˆเบฒเบซเบผเบฒเบเบญเบฑเบ™เปเบฅเบฐ hypervisor เบ—เบตเปˆเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบเบทเบญเบšเบšเปเปˆเบˆเปเบฒเบเบฑเบ”.

เบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™เบงเปˆเบฒ Raspberry Pi Model B+ เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบชเบธเปˆเบกเบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปเบฅเบฐเบชเบฐเปเบ”เบ‡เบฎเบนเบšเบžเบฒเบšเบซเบผเบฒเบเปƒเบ™เบกเบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบงเปˆเบฒเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบกเบตเบšเบฒเบ‡เบชเปˆเบงเบ™เปเบฅเบฐเบกเบฑเบเบˆเบฐ crash.

เบกเบตโ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบ—เบตเปˆโ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹เปเบฅเบฐ elegant เป€เบ›เบฑเบ™โ€‹, เบ—เบตเปˆโ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™โ€‹เบเบฑเบšโ€‹เบ—เปˆเบฒเบ™โ€‹.

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบฎเบนเป‰, Raspberries เบ—เบฑเบ‡เบซเบกเบปเบ”เบกเบตเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบžเปเบชเบปเบกเบ„เบงเบ™, เป€เบŠเบดเปˆเบ‡เบ”เบตเป€เบฅเบตเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เบงเบดเบ”เบตเป‚เบญเบฎเบฒเบ”เปเบง. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ„เบงเบฒเบกเบ„เบดเบ”เบˆเบถเปˆเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เบ•เบปเบงเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ—เบตเปˆเบกเบต dashboard เบขเบนเปˆเบšเปˆเบญเบ™เบญเบทเปˆเบ™, เปเบฅเบฐเป‚เบญเบ™เบชเบฒเบเบ™เป‰เปเบฒเบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบ—เบตเปˆเบกเบตเบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เบเบฑเบš raspberry.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเบกเบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual เบซเบ™เบถเปˆเบ‡, เป€เบŠเบดเปˆเบ‡เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปเบฅเบฐเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™.

เบšเปเปˆเป„เบ”เป‰เป€เบงเบปเป‰เบฒเป„เบงเบเบงเปˆเบฒเป€เบฎเบฑเบ”.

เบชเปˆเบงเบ™เป€เบŠเบตเบšเป€เบงเบต

เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบžเป‰เบญเบก Cloud Image เบชเปเบฒเบฅเบฑเบš Ubuntu. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบกเบฑเบ™เบกเบตเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบขเปˆเบฒเบ‡เบงเปˆเบญเบ‡เป„เบง deploy เป€เบ„เบทเปˆเบญเบ‡ virtual, เปเบฅเบฐ เบฎเบญเบ‡เบฎเบฑเบš CloudInit เบŠเปˆเบงเบเปƒเบซเป‰เบ•เบฑเป‰เบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป„เบ”เป‰เบ—เบฑเบ™เบ—เบต, เป€เบžเบตเปˆเบกเบเบฐเปเบˆ ssh เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เป„เบง.

เบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบ„เบทเปˆเบญเบ‡ virtual เปƒเปเปˆ เปเบฅเบฐเบ—เปเบฒเบญเบดเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบกเบฑเบ™เปƒเบชเปˆเบกเบฑเบ™ Xorg, nodm ะธ เบ›เปˆเบญเบ‡ flux:

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

เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบˆเบฐเปƒเบŠเป‰ config เบชเปเบฒเบฅเบฑเบš Xorg, เบ”เป‰เบงเบเบ„เบงเบฒเบกเบเบฐเบฅเบธเบ™เบฒ เบญเบฐเบ™เบธเบเบฒเบ” เบžเบงเบเป€เบฎเบปเบฒ Diego Ongaro, เป€เบžเบตเปˆเบกเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เปเบเป‰เป„เบ‚เปƒเบซเบกเปˆ 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

เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡ Firefox, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบšเปเบฅเบดเบเบฒเบ™เบฅเบฐเบšเบปเบš, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบชเบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ‚เบฝเบ™เป„เบŸเบฅเปŒเบซเบ™เปˆเบงเบเบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™:

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 เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰ firefox เบ—เบฑเบ™เบ—เบตเปƒเบ™เบฎเบนเบšเปเบšเบšเป€เบ•เบฑเบกเบˆเป.
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ -url เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบซเบ™เป‰เบฒเปƒเบ”เบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบตเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบกเบทเปˆเบญเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰, kiosk เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบเบฝเบกเบžเป‰เบญเบก, เปเบ•เปˆเบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบเบฎเบนเบšเบžเบฒเบšเบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป„เบ›เบเบฑเบ‡เบˆเปเปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบญเบทเปˆเบ™เป†. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง JPEG, เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบงเบดเบ”เบตเป‚เบญเบˆเบฒเบเป€เบงเบฑเบšเปเบ„เบกเบชเปˆเบงเบ™เปƒเบซเบเปˆ.

เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบญเบ‡เบขเปˆเบฒเบ‡: FFmpeg เบเบฑเบšเป‚เบกเบ”เบนเบ™ x11 เบˆเบฑเบš, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบšเบžเบฒเบšเบˆเบฒเบ x's เปเบฅเบฐ เบชเบฒเบเบ•เบฒ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเปเบˆเบเบขเบฒเบเบกเบฑเบ™เปƒเบซเป‰เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

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/, เปƒเบ™เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡, เบ—เปˆเบฒเบ™เบˆเบฐเป€เบซเบฑเบ™เบžเบฒเบšเบซเบ™เป‰เบฒเบˆเปเบ—เบตเปˆเบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบ‚เบญเบ‡ desktop. เบเบดเปˆเบ‡เปƒเบซเบเปˆ! โ€” เบชเบดเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹.

เบ”เป‰เบฒเบ™เบฅเบนเบเบ„เป‰เบฒ

เบกเบฑเบ™เบเบฑเบ‡เบ‡เปˆเบฒเบเบเบงเปˆเบฒเบ™เบตเป‰, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเป€เบงเบปเป‰เบฒ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰ Raspberry Pi Model B +.

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เปƒเบซเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบกเบฑเบ™ ARM Arch Linux, เบชเปเบฒเบฅเบฑเบšเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบฒเบ‡เบเบฒเบ™.

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเบฑเบ‡โ€‹เบˆเบฐโ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบˆเบฑเบ”โ€‹เบชเบฑเบ™โ€‹เบซเบ™เปˆเบงเบโ€‹เบ„เบงเบฒเบกโ€‹เบˆเปเบฒโ€‹เบซเบผเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบŠเบดเบšโ€‹เบงเบดโ€‹เบ”เบตโ€‹เป‚เบญโ€‹เบ‚เบญเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹, เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบˆเบฐโ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เปƒเบ™โ€‹ /boot/config.txt

gpu_mem=128

เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบฅเบฐเบšเบปเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเบขเปˆเบฒเบฅเบทเบกเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ keyring pacman, เบ•เบดเบ”เบ•เบฑเป‰เบ‡ 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 เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบฎเบนเบšเบžเบฒเบšเบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ„เบงเบ™เบˆเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบฑเบ™เบ—เบต. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ”เป†, เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เบ„เบทเบ™เปƒเบซเบกเปˆเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเบฅเบนเบเบ„เป‰เบฒเบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบกเบฑเบ™เบ„เบทเบ™เปƒเบซเบกเปˆ.

เป€เบ›เบฑเบ™เป‚เบšเบ™เบฑเบ”, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบฎเบนเบšเบžเบฒเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเป€เบ›เบฑเบ™ screensaver เปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบซเป‰เบญเบ‡เบเบฒเบ™. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™ MPV ะธ 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™