Skip to content

jwillikers/screen-image

Repository files navigation

Screen Image

GitHub Workflow Status pre-commit

A container image for running Screen, a full-screen window manager that multiplexes a physical terminal between several processes. I mostly use it for connecting to a serial console.

Synopsis

Image

quay.io/jwillikers/screen

Tags
  • latest

Supported architectures
  • amd64 (x86_64)

  • arm64 (aarch64)

User

The default user inside the container is named user.

Entrypoint

screen

Labels
io.containers.autoupdate=registry

Enables automatic updates when using Podman and the fully-qualified image name.

Quick Start

First, ensure your user is in the dialout group allowing access to serial devices.

sudo usermod -aG $USER dialout
ℹ️
You’ll have to log out and back in for the changes to take effect.

To connect to a serial console using Screen from within this container, use the following Podman command. Here, Screen connects to the serial console device /dev/ttyUSB0 with a Baud rate of 115,200 bps.

podman run \
    --rm \
    --group-add keep-groups \
    --security-opt label=disable \
    --device /dev/ttyUSB0 \
    --name screen \
    --init \
    -it quay.io/jwillikers/screen:latest \
    /dev/ttyUSB0 115200
ℹ️
Using the --init option prevents the terminal hanging after terminating the Screen session.
💡
Quit Screen by typing Ctrl+A then Ctrl+D.

Build

This project uses Buildah and Podman for building and testing the image. A set of pre-commit checks are readily available to ensure your code is up-to-spec at the time it is committed. Instructions for setting up a development environment, building the image, and testing the image follow. These instructions are intended for users of Fedora Silverblue, where the packages buildah, git, and podman are already available. Moreover, I use the fish shell.

  1. Install the fish shell.

    sudo rpm-ostree install fish
  2. Reboot to finish the installation.

    systemctl reboot
  3. Clone this repository.

    git -C ~/Projects clone git@github.com:jwillikers/screen-image.git
  4. Install pre-commit.

    pip install pre-commit
  5. Change into the project directory.

    cd ~/Projects/screen-image
  6. Install pre-commit’s Git hooks.

    pre-commit install
  7. Run the shell script to build the image.

    buildah unshare ~/Projects/screen-image/build.fish
  8. Test the image with the test.fish shell script.

    ~/Projects/screen-image/test.fish

Contributing

Contributions in the form of issues, feedback, and even pull requests are welcome. Make sure to adhere to the project’s Code of Conduct.

Open Source Software

This project is built on the hard work of countless open source contributors. Several of these projects are enumerated below.

Code of Conduct

Refer to the project’s Code of Conduct for details.

License

This repository is licensed under the GPLv3, a copy of which is provided in the license file.

© 2021 Jordan Williams

Authors

About

A container image for running Screen, a full-screen window manager that multiplexes a physical terminal between several processes.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages