مون کي آفيس ۾ ڪيترن ئي اسڪرينن تي مانيٽرنگ سان گڏ ڊيش بورڊ ڏيکارڻ جي ضرورت هئي. اسان وٽ ڪيترائي پراڻا Raspberry Pi Model B+ ۽ هڪ هائپر وائزر آهن جن وٽ وسيلن جي تقريبن لامحدود مقدار آهي.
بظاهر Raspberry Pi Model B+ وٽ ايتري بي ترتيبي نه آهي ته برائوزر کي مسلسل هلندي رهي ۽ ان ۾ گرافڪس جي وڏي مقدار پيش ڪري ٿي، جنهن جي ڪري اهو ٿئي ٿو ته صفحو جزوي طور تي خراب ٿئي ٿو ۽ اڪثر ڪري حادثو ٿئي ٿو.
مون کي ھڪڙو سادو ۽ خوبصورت حل مليو، جيڪو مان توھان سان حصيداري ڪرڻ چاھيان ٿو.
جئين توهان کي خبر آهي، سڀني Raspberries وٽ ڪافي طاقتور وڊيو پروسيسر آهي، جيڪو هارڊويئر ويڊيو ڊيڪوڊنگ لاء بهترين آهي. تنهن ڪري اهو خيال آيو ته ڪنهن ٻئي هنڌ ڊيش بورڊ سان هڪ برائوزر لانچ ڪيو وڃي، ۽ هڪ تيار ٿيل اسٽريم کي رينڊ ٿيل تصوير سان راسبي ڏانهن منتقل ڪيو وڃي.
ان سان گڏ، هن کي آسان انتظام ڪرڻ گهرجي، ڇاڪاڻ ته هن صورت ۾ سڀ سيٽ اپ هڪ ورچوئل مشين تي ڪيو ويندو، جيڪو تازه ڪاري ۽ بيڪ اپ ڪرڻ آسان هوندو.
جلد ئي نه چيو ويو آهي.
سرور جو حصو
اسان تيار استعمال ڪنداسين
اسان هڪ نئين مجازي مشين کي ترتيب ڏيو ۽ سڀ کان پهريان ان تي انسٽال ڪريو
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
)
هاڻي اچو ته وڃڻ جي ڪوشش ڪريون
ڪلائنٽ جو حصو
هتي هر شي اڃا به آسان آهي، جيئن مون اڳ ۾ چيو آهي، اسان استعمال ڪنداسين Raspberry Pi Model B+.
سڀ کان پهريان، اچو ته ان کي انسٽال ڪريو
اسان کي پنهنجي وڊيو چپ لاءِ وڌيڪ ميموري مختص ڪرڻي پوندي، ان لاءِ اسان ان ۾ ترميم ڪنداسين /boot/config.txt
gpu_mem=128
اچو ته اسان جي نئين سسٽم کي بوٽ ڪريو ۽، pacman ڪيئرنگ کي شروع ڪرڻ لاء ياد رکو، انسٽال ڪريو
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 کي اسان جي سرور مان گذري رهيا آهيون.
اهو سڀ ڪجهه آهي، اسان جي سرور مان هڪ تصوير فوري طور تي ڳنڍيل اسڪرين تي ظاهر ٿيڻ گهرجي. جيڪڏهن ڪو مسئلو پيدا ٿئي ٿو، وهڪرو خودڪار طريقي سان ٻيهر شروع ڪيو ويندو ۽ گراهڪ ان سان ڳنڍيندا.
بونس جي طور تي، توهان آفيس ۾ سڀني ڪمپيوٽرن تي اسڪرين سيور جي طور تي نتيجو واري تصوير کي نصب ڪري سگهو ٿا. هن لاء توهان جي ضرورت پوندي
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