Custom login screen with screenfetch and glances

I have a home Ubuntu server installation with Lubuntu desktop (sddm display manager), and I would like to make a custom login screen that shows:

  • The prompt to log in with the user on the left
  • 2 terminal applications on the right:
    • glances
    • screenfetch

I imagine it like this:

image.

Is it possible to add terminal applications to the sddm login screen, and if so, any guidance on how?


Solution 1:

I'm not a huge fan of providing "negative answers", but I wanted to share what I found in some research on this question myself.

Again, as I mentioned in the comments, I'm not by any means an expert in this area, but (I think) I know enough to understand what's going on when reading through the documentation. That said, I'd be more than happy to be wrong, and to have someone post an answer on how to do this.

Even if it's possible, this would not be easy, and definitely not in skillset of a Linux rookie. No offense -- We've all been there, and glad to have you aboard!

I think you have an interesting idea there, and I'd love to see an implementation, honestly. But it won't be "easy", I don't believe.

There are (at a very high level) a few tasks that I see here:

  • It appears that sddm themes are written in QML, the Qt Modeling Language. Basic theming shouldn't be too bad, especially since there are plenty of examples to work from. But you would need to learn the language, to some degree. This isn't really a beginner-friendly task. If you want to ultimately get to the example you provided, at least start with learning "basic" theming (without glances and screenfetch) first.

    As you mentioned in the comments, I also didn't see any theme examples that ran terminal applications (or any application) in scrolling through multiple pages of themes.

  • Second, you'll need to be able to run a terminal widget of some sort in your QML code. There's no built-in way of doing this in QML, but there are some options out there. For example, this Stack Overflow question points to QTermWidget. That's actually part of the LXQt project, which is what lubuntu uses, of course. So that might not be too bad (for an experience Qt developer, at least).

  • Finally, you'll need to run those applications as a limited user pre-login. Again, I'm not sure how to do this in sddm, but I would expect this to be the "easy part". Still, something that you'll need more experience with Linux in order to do (especially to do it securely), I would think.