0

Related to this question, I need a means to display information on various displays placed around the room. Each display has different information. Ideally, I would have one laptop setup in a corner running a BASH script that coordinates everything (I'm familiar enough with BASH to handle this aspect). It sends out information that can be displayed on specific screens:

#!/bin/bash
echo "Good morning!" > /dev/screen1
echo "Please stack the blocks as high as you can!" > /dev/screen2
echo "Fill out form B, then proceed to station 4." > /dev/screen3
echo "Your shift ends in 5 minutes. Please wrap-up your current task." > /dev/screen4

If possible, if images could be sent out, I'd generate them in the script using ImageMagick before being sent out just to make the text more pretty; if not, live updates of text on screen is well and sufficient.. Even running those machines in console mode only would be good enough a solution!

The ten laptops running Linux would display the information to visitors in the room; there is no need for anyone to interact with these devices, they'd be locked for viewing only.

Much thanks to those who helped answer my original question, but my situation changed a bit:

  • I was unable to obtain permission to setup a Web server...
  • ...but very, very surprisingly, was permitted to wipe the 10 computers and put Debian on each!

Basically I have my own personal laptop running Debian to run the BASH script, plus 10 laptops used as displays also running Debian, and if needed, they can all connect to Wifi...or I can buy long USB cables or Ethernet cables or whatever is needed to communicate between devices.

What is needed to create such a setup, given Web servers are no longer an option, but I'd have full control over the OSes on the 10 devices?

1 Answer 1

1

If that is the case, then you can copy files (e.g. fullscreen PNG files) to each device through e.g. SSH or rsync. Or HTML files with accompanying images.

rsync ./pages/screen1/ device1:/home/user/files/
...

Then you can have a bash script on each device that displays the images full screen, or a headless Chrome that continuously reloads those images (you can load a local file in Chrome, and if the file contains <meta http-equiv="refresh" content="30" />, it will reload the page every 30 seconds).

This equates to a pull-based, file-based "Web server", except that the content is supplied through SSH.

Simply install on each device a basic Linux version with any of several "kiosk mode" startup scripts. Usually they use a master "https://somesite/" source file, but if you instead use "file://~/site/", it will work just as well.

2
  • Is this rsync ./pages/screen1/ device1:/home/user/files/ run on the main computer, and it sends to those devices? Is device1 the Hostname of that particular machine?
    – Village
    Apr 28, 2021 at 20:07
  • @Village exactly so. You need to set up authorization keys on all the 1...10 devices, so that the connection from the master is accepted. Then, the rsync has the same "effect" of cat something > /dev/screen1 (apart from a small delay due to the read cycle on each client).
    – LSerni
    Apr 28, 2021 at 20:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .