Text-based Remote for the Logitech Media Server


LMS TUI is an application with a text-based user interface to remotely control LMS.

Features

  • Basic player controls
  • Access to the standard LMS menu
  • Implemented as a stand-alone cross-platform application

Status

  • beta quality
  • only tested on Linux
  • not tested with any streaming service

Know Issues

  • support for the LMS menu is spotty
  • cover image quality is low. There is experimental support for chafa (which you can try by installing chafa and setting imagemode = chafa in the config file), but this causes major redrawing issues.

Requirements

  • A capable terminal (unicode, 256 colour etc.) (tested with kitty and rxvt-unicode). Kitty is recommended.
  • One of the nerd fonts for the icons. The terminal needs to use this font (generally, or for at least the relevant unicode ranges (the symbol_map option in kitty, see below))
  • (optional, experimental) chafa for better image quality

Installation

LMS TUI is implemented in Python and requires

These packages may be available from your OS package management (dev-lang/python, dev-python/requests and dev-python/asciimatics in e.g. Gentoo).
Or if you prefer, you can use pip with a virtual environment (see here for an overview). Example:

    python3 -m venv --system-site-packages ~/python-venv
    source ~/python-venv/bin/activate
    pip install requests
    pip install asciimatics

In this case, remember to execute source ~/python-venv/bin/activate once per session before running lmstui.py (or run it like this: ~/python-venv/bin/python3 ~/path/to/lmstui/src/lmstui.py).

Download source distribution

The latest version is available here: LMStui-0.0.2.tar.gz. Download and extract anywhere. It should run without installing it (or you could try installing it with the included setup.py (read this first if you are unfamiliar with setuptools)).

Example (adjust for version):

    wget "https://www.nexus0.net/pub/sw/lmstui/dist/LMStui-0.0.2.tar.gz"
    tar xf LMSmusly-0.0.2.tar.gz
    cd LMSmusly-0.0.2/src/
    ./lmsmusly.py -h

Usage Instructions

  • run ./lmstui.py -h to get a list of options
  • LMS TUI reads it's configuration from a file (default ~/.config/lmstui.conf), see the included sample in config/lmstui.conf.dist for format and options
  • As a minimum, the LMS server needs to be specified
  • press F1 in the application to see the key bindings
Kitty configuration hint

If you do not want to generally use a nerd font in the terminal, you can map specific unicode ranges:

symbol_map U+23FB-U+23FE,U+2B58,U+E200-U+E2A9,U+E0A0-U+E0A3,U+E0B0-U+E0BF,U+E0C0-U+E0C8,U+E0CC-U+E0CF,U+E0D0-U+E0D2,U+E0D4,U+E700-U+E7C5,U+F000-U+F2E0,U+2665,U+26A1,U+F400-U+F4A8,U+F500-U+FD46,U+F67C,U+E000-U+E00A,U+F300-U+F313,U+E5FA-U+E62B,U+2460-U+2462 Hack Nerd Font Mono

License

GNU GPLv3