Skip to content

Linux

Hardware

Any device with enough RAM will work.

Software Installation

We're about to install obscreen-browser-player on your Linux device. It consists of a long running systemd service and a script that will install some dependencies like Chromium, X11, and PulseAudio on your device.

Log into your Linux device locally or via ssh (by default it's ssh your_user_name@your_host_name)

Install player autorun by executing following script (will install chromium, x11, pulseaudio and obscreen-player systemd service)

bash
curl -fsSL https://raw.githubusercontent.com/obscreen/obscreen/master/system/client/install-browser-player.sh -o /tmp/install-browser-player.sh && chmod +x /tmp/install-browser-player.sh && sudo /bin/bash /tmp/install-browser-player.sh $USER $HOME

INFO

3rd variable $STUDIO_URL after $HOME is used to automate the configuration of studio endpoint.

4th variable $PLAYER_BROWSER after $STUDIO_URL is used to set the browser to use for the player. Available values are:

  • chromium
  • firefox

You can use --disable-interactive (at the end of the line) to make the script non-interactive.

If previous script successfully finished, then restart your device by executing sudo reboot

How to Restart

Just use systemctl by executing sudo systemctl restart obscreen-player.service

Screen Configuration

Screen configuration is set in file [obscreen-player-dir]/var/run/play under these variables:

SCREEN_RESOLUTION

You can change it by editing the file and fill it with a supported resolution To get the list of supported resolutions:

  1. Run: DISPLAY=:0 xrandr
  2. Replace SCREEN_RESOLUTION=auto with your preferred resolution (see an example below).
bash
SCREEN_RESOLUTION=1920x1080

SCREEN_ROTATE

Possible values are:

  • For 0° set: normal
  • For 90° set: left
  • For 180° set: right
  • For 270° set: inverted

Pointing and Interaction Configuration

Pointing and interaction configuration is set in file [obscreen-player-dir]/var/run/play under these variables:

Mouse cursor options

MOUSE_CURSOR_HIDDEN

Set to true to hide the mouse cursor on the screen.

MOUSE_CURSOR_HIDDEN=true

Touchscreen gestures options

TOUCH_ENABLED

Set to true to enable touchscreen gesture support. Default: true

TOUCH_ENABLED=true

TOUCH_PINCH_DISABLED

Set to true to disable pinch gesture detection (to prevent zooming with two fingers). Default: false

TOUCH_PINCH_DISABLED=true

TOUCH_VIRTUAL_KEYBOARD

Set to true to enable virtual keyboard support. Default: false

TOUCH_VIRTUAL_KEYBOARD=false

Host Identification Configuration

To help you identify and locate your device, you can set the following metadata in [obscreen-player-dir]/var/run/play file:

Name & Icon

bash
CLIENT_HOSTNAME="My Device"
CLIENT_ICON=auto # any font-awesome icon name (i.e. fa-desktop, fa-laptop, fa-tablet, fa-mobile, fa-tablet-alt, fa-mobile-alt)

Search for icons

You can browse the free icon catalog here.

Positioning

Choose one of the following options from more precise to less precise location:

1. Precise positioning

bash
CLIENT_LONGITUDE=
CLIENT_LATITUDE=

2. Structured address-based positioning

bash
CLIENT_STREET=
CLIENT_CITY=
CLIENT_STATE=
CLIENT_COUNTRY=
CLIENT_POSTAL_CODE=

3. Query address-based positioning

bash
CLIENT_ADDRESS_QUERY= # (e.g. "1600 Pennsylvania Avenue NW, Washington, DC 20500")

See more about customizing the player's URL here.

Playlist Configuration

Playlist URL is set in file var/run/play under variable STUDIO_URL. You can change it by editing the file and fill it with either:

Playlist URL

To connect the player to a specific playlist using its ID
http://<STUDIO_URL>/use/<playlist_id>

Playgroup URL

To connect the player to a specific playgroup using its ID
http://<STUDIO_URL>/group/<playgroup_id>