Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OctoSplash! The OctoScreen Boot Screen Department of Redundency Depa… #258

Draft
wants to merge 4 commits into
base: 2.7.0-dev
Choose a base branch
from

Conversation

thebeline
Copy link
Contributor

…rtment!

Adds the octosplash service, a simple service that runs executes fbi with a customizable splash screen early on boot. Also disables the bootlogo and redirects tty1 to tty3 to trim up the boot process terminal. VERY CLEANSTUFF!

This could have been handled with just the service, but this calls a script splash.sh with the added with the added features of checking the configured splash image for existence and format, and subbing in a default one if it is incorrect or missing from the config.

Because this is a full script, it would be possible to extend this to check if the configured path is a directory, and call bannerd for GLORIOUS ANIMATION! However, as I had tested, bannerd may not be suitable, which is why I didn't code that in... YET

Relatively simple addition, but really polishes the boot process.

Resolves #238

@thebeline thebeline mentioned this pull request Mar 19, 2021
@JeffB42
Copy link
Collaborator

JeffB42 commented Mar 23, 2021

@thebeline I only glanced at this and haven't fully read through the changes. My first impression, is that I'm reluctant to add an additional service. I'm thinking of rewriting the internal state machine in 2.8, so this PR may be redundant... we'll see. Let's keep this PR open and I'll take a look at it again during the development of 2.8.

@thebeline
Copy link
Contributor Author

@thebeline I only glanced at this and haven't fully read through the changes. My first impression, is that I'm reluctant to add an additional service. I'm thinking of rewriting the internal state machine in 2.8, so this PR may be redundant... we'll see. Let's keep this PR open and I'll take a look at it again during the development of 2.8.

A few things:

  • The service is really only a call to fbi as outlined in my feature request. It becomes a script for the sake of sanity checking and fallbacks.
  • This can not be something that is "part" of the OctoScreen service. This service only depends on the filesystem, that's kind of its shtick. It triggers as early as possible in the boot cycle, giving the system a moment to catch up so OctoScreen it's self can start up.

I can understand not wanting to add another service, but I can also assure you that there isn't another way to achieve the same goal.

I can also understand not being interested in the concept proper, but I think it's the wrong move. You yourself said that OS appeals to people of varying levels of experience. This super polishes the UX, especially for those who don't have Linux experience proper.

Certainly it could be a separate package/project proper, but that would be a little silly:

  • Too much additional work for the target audience (less familiarity with linux).
  • A deb with a single shell script and one image would be... Overkill. 😅

Copy link
Contributor Author

@thebeline thebeline left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really makes the boot process pretty... Loving it.

@@ -23,7 +23,8 @@ Depends: ${shlibs:Depends},
libcairo2 (>= 1.14.0),
libgtk-3-0 (>= 3.14),
xserver-xorg,
xinit
xinit,
fbi
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needed for the splash service.

@@ -8,6 +8,7 @@ Type=notify
NotifyAccess=all
EnvironmentFile=/etc/octoscreen/config
ExecStart=/usr/bin/xinit /usr/bin/OctoScreen -- :0 -nolisten tcp -nocursor
ExecStartPost=/bin/bash -xc '/usr/bin/systemctl stop --quiet octosplash && exit 0 || exit 0'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stops the octosplash service so, if it is animated, it does not run in the background and on top of OctoScreen. Will always exit successfully, even if the service isn't running.

@@ -17,6 +17,10 @@ override_dh_auto_build:
-X $(DH_GOPKG)/ui.Build=$(BUILD_DATE)\
"

override_dh_installinit:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is required to install multiple services. Doesn't change any other behaviour.

@thebeline
Copy link
Contributor Author

I am going to approach this from a different direction I think.

@thebeline thebeline marked this pull request as draft March 29, 2021 13:20
@thebeline
Copy link
Contributor Author

@JeffB42 - I have been having this run on my local builds all year, and I love the touch. What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants