{"id":18929159,"url":"https://github.com/jwillikers/screen-image","last_synced_at":"2025-04-15T15:30:47.010Z","repository":{"id":104839153,"uuid":"381449061","full_name":"jwillikers/screen-image","owner":"jwillikers","description":"A container image for running Screen, a full-screen window manager that multiplexes a physical terminal between several processes.","archived":true,"fork":false,"pushed_at":"2021-09-12T13:54:51.000Z","size":75,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T21:52:14.277Z","etag":null,"topics":["bash","buildah","gnu-screen","podman","quayio","screen","serial-console"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwillikers.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.adoc","code_of_conduct":"CODE_OF_CONDUCT.adoc","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-29T17:41:44.000Z","updated_at":"2024-10-12T13:58:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"db04971b-8051-4908-ac93-4a13985e3d07","html_url":"https://github.com/jwillikers/screen-image","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fscreen-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fscreen-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fscreen-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fscreen-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwillikers","download_url":"https://codeload.github.com/jwillikers/screen-image/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249097777,"owners_count":21212351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","buildah","gnu-screen","podman","quayio","screen","serial-console"],"created_at":"2024-11-08T11:30:35.155Z","updated_at":"2025-04-15T15:30:46.989Z","avatar_url":"https://github.com/jwillikers.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Screen Image\nJordan Williams \u003cjordan@jwillikers.com\u003e\n:experimental:\n:icons: font\nifdef::env-github[]\n:tip-caption: :bulb:\n:note-caption: :information_source:\n:important-caption: :heavy_exclamation_mark:\n:caution-caption: :fire:\n:warning-caption: :warning:\nendif::[]\n:Buildah: https://buildah.io/[Buildah]\n:Fedora: https://getfedora.org/[Fedora]\n:Fedora-Silverblue: https://silverblue.fedoraproject.org/[Fedora Silverblue]\n:fish: https://fishshell.com/[fish]\n:Git: https://git-scm.com/[Git]\n:OpenSSH: https://www.openssh.com/[OpenSSH]\n:pre-commit: https://pre-commit.com/[pre-commit]\n:Screen: https://www.gnu.org/software/screen/[Screen]\n:Podman: https://podman.io/[Podman]\n\nimage:https://img.shields.io/github/workflow/status/jwillikers/screen-image/CI/main[GitHub Workflow Status]\nimage:https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white[pre-commit, link=https://github.com/pre-commit/pre-commit]\n\nA container image for running {Screen}, a full-screen window manager that multiplexes a physical terminal between several processes.\nI mostly use it for connecting to a serial console.\n\n== Synopsis\n\nImage:: https://quay.io/repository/jwillikers/screen[quay.io/jwillikers/screen]\n\nTags::\n* `latest`\n\nSupported architectures::\n* `amd64` _(x86_64)_\n* `arm64` _(aarch64)_\n\nUser:: The default user inside the container is named `user`.\n\nEntrypoint:: `screen`\n\nLabels::\n`io.containers.autoupdate=registry`::: Enables automatic updates when using Podman and the _fully-qualified_ image name.\n\n== Quick Start\n\nFirst, ensure your user is in the `dialout` group allowing access to serial devices.\n\n[source,sh]\n----\nsudo usermod -aG $USER dialout\n----\n\nNOTE: You'll have to log out and back in for the changes to take effect.\n\nTo connect to a serial console using Screen from within this container, use the following {Podman} command.\nHere, Screen connects to the serial console device `/dev/ttyUSB0` with a Baud rate of 115,200 bps.\n\n[source,sh]\n----\npodman run \\\n    --rm \\\n    --group-add keep-groups \\\n    --security-opt label=disable \\\n    --device /dev/ttyUSB0 \\\n    --name screen \\\n    --init \\\n    -it quay.io/jwillikers/screen:latest \\\n    /dev/ttyUSB0 115200\n----\n\nNOTE: Using the `--init` option prevents the terminal hanging after terminating the Screen session.\n\nTIP: Quit Screen by typing kbd:[Ctrl+A] then kbd:[Ctrl+D].\n\n== Build\n\nThis project uses {Buildah} and {Podman} for building and testing the image.\nA set of {pre-commit} checks are readily available to ensure your code is up-to-spec at the time it is committed.\nInstructions for setting up a development environment, building the image, and testing the image follow.\nThese instructions are intended for users of {Fedora-Silverblue}, where the packages `buildah`, `git`, and `podman` are already available.\nMoreover, I use the {fish} shell.\n\n. Install the {fish} shell.\n+\n[source,sh]\n----\nsudo rpm-ostree install fish\n----\n\n. Reboot to finish the installation.\n+\n[source,sh]\n----\nsystemctl reboot\n----\n\n. Clone this repository.\n+\n[source,sh]\n----\ngit -C ~/Projects clone git@github.com:jwillikers/screen-image.git\n----\n\n. Install {pre-commit}.\n+\n[source,sh]\n----\npip install pre-commit\n----\n\n. Change into the project directory.\n+\n[source,sh]\n----\ncd ~/Projects/screen-image\n----\n\n. Install pre-commit's Git hooks.\n+\n[source,sh]\n----\npre-commit install\n----\n\n. Run the shell script to build the image.\n+\n[source,sh]\n----\nbuildah unshare ~/Projects/screen-image/build.fish\n----\n\n. Test the image with the `test.fish` shell script.\n+\n[source,sh]\n----\n~/Projects/screen-image/test.fish\n----\n\n== Contributing\n\nContributions in the form of issues, feedback, and even pull requests are welcome.\nMake sure to adhere to the project's link:CODE_OF_CONDUCT.adoc[Code of Conduct].\n\n== Open Source Software\n\nThis project is built on the hard work of countless open source contributors.\nSeveral of these projects are enumerated below.\n\n* https://asciidoctor.org/[Asciidoctor]\n* {Buildah}\n* {Fedora}\n* {Fedora-Silverblue}\n* {fish}\n* {Git}\n* https://www.linuxfoundation.org/[Linux]\n* {OpenSSH}\n* {Podman}\n* {pre-commit}\n* https://www.python.org/[Python]\n* https://rouge.jneen.net/[Rouge]\n* https://www.ruby-lang.org/en/[Ruby]\n* {Screen}\n\n== Code of Conduct\n\nRefer to the project's link:CODE_OF_CONDUCT.adoc[Code of Conduct] for details.\n\n== License\n\nThis repository is licensed under the https://www.gnu.org/licenses/gpl-3.0.html[GPLv3], a copy of which is provided in the link:LICENSE.adoc[license file].\n\n© 2021 Jordan Williams\n\n== Authors\n\nmailto:{email}[{author}]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwillikers%2Fscreen-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwillikers%2Fscreen-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwillikers%2Fscreen-image/lists"}