Arexibo is an Rust Linux Xibo player

Overview

Arexibo

Logo

Arexibo is an alternate Digital Signage Player for Xibo, implemented in Rust with the GTK GUI components, for Linux platforms.

It is currently quite incomplete. Don't expect any particular feature to work unless tested.

Installation

Currently, no binary builds are provided.

To build from source, you need:

  • The Rust toolchain, version >= 1.54. Refer to https://rustup.rs/ for the easiest way to install, if the Linux distribution provided package is too old.

  • Development headers for dbus (>= 1.6), webkit2gtk (>= 2.22), and zeromq (>= 4.1), as well as a normal build system including pkg-config.

To build, run:

$ cargo build --release

The binary is placed in target/release/arexibo and can be run from there.

To install, run:

$ cargo install --path . --root /usr

The will install the binary to /usr/bin/arexibo. It requires no other files at runtime, except for the system libraries it is linked against.

Builds have been tested with the available dependency library versions on Debian bullseye, Ubuntu focal and RHEL 8 with EPEL. Debian/Ubuntu don't provide a new enough Rust compiler though.

Since webkit2gtk uses gstreamer to play media, you might have to install additional plugins such as gst-libav; they are not required at build time.

Usage

Create a new directory where Arexibo can store configuration and media files. Then, at first start, use the following command line to configure the player:

arexibo --host 
    --key 
    
   
   

  

Further configuration options are --display-id (which is normally auto-generated from machine characteristics) and --proxy (if needed).

Arexibo will cache the configuration in the directory, so that in the future you only need to start with

arexibo 
   

  

Log messages are printed to stdout. The GUI window will only show up once the display is authorized.

Standalone setup with X server

The following example systemd service file shows how to to start an X server with Arexibo and no DPMS/screensaver:

[Unit]
Description=Start X with Arexibo player
After=network-online.target
Requires=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/xinit /usr/bin/arexibo /home/xibo/env -- :0 vt2 -s 0 -v -dpms
User=xibo
Restart=always
RestartSec=60
Environment=NO_AT_BRIDGE=1

[Install]
WantedBy=multi-user.target
You might also like...
The definitive e-book reader music player (Kobo, Kindle)
The definitive e-book reader music player (Kobo, Kindle)

Introduction E-ink devices have traditionally been only for reading... well no more! Buck is a fully-fledged music player for e-ink devices (tested fu

Very simple, efficient, task oriented, low cognitive, Midi player and jukebox for midi instruments
Very simple, efficient, task oriented, low cognitive, Midi player and jukebox for midi instruments

Midi and Virtual Book jukebox Player A cross-platform MIDI and virtual book jukebox player. It only includes the necessary functionalities to play MID

Spotify for the terminal written in Rust 🚀
Spotify for the terminal written in Rust 🚀

Spotify TUI A Spotify client for the terminal written in Rust. The terminal in the demo above is using the Rigel theme. Spotify TUI Installation Homeb

A rust binding for the FMOD library

rust-fmod This is a rust binding for FMOD, the library developped by FIRELIGHT TECHNOLOGIES. FMOD website : www.fmod.org You can also find it on crate

Easy Api in Rust to play Sounds

ears ears is a simple library to play sounds and music in Rust. Provides an access to the OpenAL spatialization functionality in a simple way. Accepts

Idiomatic Rust bindings for OpenAL 1.1 and extensions (including EFX).

alto alto provides idiomatic Rust bindings for OpenAL 1.1 and extensions (including EFX). WARNING Because Alto interacts with global C state via dynam

High-level PortMidi bindings and wrappers for Rust

portmidi-rs High-level PortMidi bindings for Rust. PortMidi website: http://portmedia.sourceforge.net/portmidi/ Installation Add this to your Cargo.to

Cross-platform audio I/O library in pure Rust

CPAL - Cross-Platform Audio Library Low-level library for audio input and output in pure Rust. This library currently supports the following: Enumerat

Rust audio playback library

Audio playback library Rust playback library. Playback is handled by cpal. MP3 decoding is handled by minimp3. WAV decoding is handled by hound. Vorbi

Owner
Georg Brandl
Scientific experiment control systems engineer at FZ Jülich's outstation at the MLZ neutron source, working on open source in Python and Rust
Georg Brandl
Terminal Music Player written in Rust

Terminal Music Player written in Rust Listen to music freely as both in freedom and free of charge! Freedom: As time goes by, online service providers

null 376 Jan 3, 2023
A simple GUI audio player written in Rust with egui. Inspired by foobar2000.

Music Player A simple GUI music player inspired by foobar2000 written in Rust using egui. The goal of this project is to learn about making gui/ nativ

Ryan Blecher 5 Sep 16, 2022
A terminal music player written in the Rust language.

A terminal music player written in the Rust language. (Windows) Requirements Configuration file path: C:\Users\xxx\.config\music_player\config.yml # P

xiao hui 162 Nov 12, 2022
Rust Audio Player Daemon

Rust Audio Player Daemon Cause mpd was annoying What rapd trys to do Rapd is not a spotify client, or an advanced music player. Its an audio/music dae

ash 3 Nov 1, 2022
Template project for the The Bombercrab Challenge game, a stub Rust WASM player

The Bombercrab Challenge (Player Template) Welcome to the 2022 Tokyo Game Hack bombercrab challenge! If you're based in Tokyo and planning to attend i

Tonari, Inc 10 Sep 4, 2022
Small, compact music player written with Rust.

trill Small, compact music player based on rodio. Usage Run the program with --help to see the available options. To just play a sound file: trill -p

Will 3 Nov 25, 2022
A next-generation music player and manager

ouverture A next-generation music player and manager Very much at Work-In-Planning stage now Planned features GUI (localizable) Backend (something lik

Michael B 9 Nov 17, 2022
MRVN is a Discord music player bot.

MRVN is a Discord music player bot. It has a few neat features: Supports a wide array of sites, including Youtube, Soundcloud, Twitch and many mo

Tom Barham 17 Jan 1, 2023
A simple CLI audio player with strange features.

legacylisten legacylisten is a simple CLI audio player I wrote because no existing one fulfilled my needs. The main feature is that you can change how

Matthias Kaak 3 Jun 8, 2022
A video player for your terminal that generates a standalone executable that plays your video.

Szmelc Player Szmelc Player is a program that converts any video you give it to a standalone executable that plays the video in the terminal. It uses

null 1 Jan 9, 2022