Abdi peryogi nampilkeun dasbor kalayan ngawaskeun sababaraha layar di kantor. Simkuring gaduh sababaraha buah prambus Pi Modél B heubeul + sarta hypervisor kalawan jumlah ampir taya sumberdaya.
Tétéla Raspberry Pi Modél B + teu boga cukup randomness pikeun ngajaga browser terus ngajalankeun sarta ngajadikeun angka nu gede ngarupakeun grafik di dinya, naha éta kajadian yén kaca sawaréh glitchy sarta mindeng ngadat.
Kuring mendakan solusi anu saderhana sareng elegan, anu kuring hoyong bagikeun sareng anjeun.
Sakumaha anjeun terang, sadaya buah prambus gaduh prosesor pidéo anu cukup kuat, anu saé pikeun decoding pidéo hardware. Janten ideu muncul pikeun ngaluncurkeun browser nganggo dasbor di tempat anu sanés, sareng nransferkeun aliran anu siap-siap sareng gambar anu dipasihkeun ka buah prambus.
Tambih Deui, ieu kedah gaduh manajemén saderhana, sabab dina hal ieu sadaya setelan bakal dilakukeun dina hiji mesin virtual, anu bakal langkung gampang pikeun ngapdet sareng nyadangkeun.
Geuwat dikerjakeun saatos dicarioskeun.
Bagian server
Urang bakal ngagunakeun siap
Urang nyebarkeun hiji mesin virtual anyar jeung mimiti sagala install dina eta
apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm
Urang ogé bakal ngagunakeun config pikeun Xorg, bageur nawaran reureuh di
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
Ayeuna kami bakal masang Firefox, kami bakal ngajalankeun éta salaku jasa sistem, janten hayu urang nyerat file unit pikeun sakaligus:
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
Urang peryogi Xdotool pikeun ngaluncurkeun Firefox langsung dina modeu layar pinuh.
Ngagunakeun parameter -url
Anjeun tiasa netepkeun halaman mana waé supados dibuka sacara otomatis nalika browser dimimitian.
Dina tahap ieu, kios urang geus siap, tapi ayeuna urang kudu ngekspor gambar ngaliwatan jaringan ka monitor jeung alat lianna. Jang ngalampahkeun ieu kami bakal ngamangpaatkeun kasempetan
Jang ngalampahkeun ieu urang peryogi dua hal:
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
Kusabab gambar urang henteu meryogikeun apdet gancang, kuring netepkeun laju refresh: 1 pigura per detik (parameter -r 1
) jeung kualitas komprési: 5 (parameter -q:v 5
)
Ayeuna hayu urang coba mun balik ka
bagian klien
Di dieu sagalana malah leuwih basajan, sakumaha kuring geus ngomong, urang bakal ngagunakeun buah prambus Pi Modél B +.
Anu mimiti, hayu urang install dina eta
Urang ogé kedah nyayogikeun langkung seueur mémori pikeun chip vidéo urang, pikeun ieu kami bakal ngédit /boot/config.txt
gpu_mem=128
Hayu urang boot sistem anyar urang jeung, remembering mun initialize keyring pacman, install
pacman -Sy omxplayer
Anu penting nyaéta OMXPlayer tiasa jalan tanpa X, janten sadayana anu urang peryogikeun nyaéta nyerat file unit pikeun éta sareng jalankeun:
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
Salaku parameter -b http://your-vm:8080/
kami ngalirkeun URL ti server kami.
Éta sadayana, gambar ti server kami kedah langsung muncul dina layar anu disambungkeun. Upami aya masalah, aliranna bakal otomatis dibalikan deui sareng klien bakal nyambung deui.
Salaku bonus, anjeun tiasa masang gambar anu dihasilkeun salaku screensaver dina sadaya komputer di kantor. Pikeun ieu anjeun peryogi
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
Ayeuna kolega anjeun bakal bagja pisan :)
sumber: www.habr.com