Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Embedded Linux with Standalone application

I want to make Linux Os which run only one application as a full screen without showing any Login window at start up or title-bar and minimize/maximize/close button.

Is there any way to do this? It's Embedded platform and I already build Linux os for it and I also have application.

like image 760
parmar7725274 Avatar asked Mar 15 '26 03:03

parmar7725274


1 Answers

In the nutshell - X System is extremely flexible.

When you system starts up, it does the following steps:

  1. Loads and runs the Kernel (and related initrd, if any, but it's irrelevant)
  2. Starts init (process 1)
  3. Starts system services, networking, etc.
  4. Starts X server
  5. Starts Window Manager (the application responsible for resizing windows etc)
  6. Starts your application.

What you need to do, is to first disable GUI login and session (easiest to disable X) - you'll be able to log in through the console terminal (You can always access it with Ctrl-Alt-F1)

Then, launch something along the lines of

X &
DISPLAY=:0 ./yourapp.exe

If your app can handle making itself fullscreen, that would be it. Add this to your startup scripts and you're there.


More explanation

The purpose of the Window Manager.. is to manage windows. It's that simple :)

Basically, there are 3 components of your typical X session.

  • X Server - the piece of software that provides an abstraction layer around the hardware (GPU drivers, Keyboard, Mouse, Touchscreen, etc). It has a concept of windows - areas where X Clients can draw into.
  • X Clients - Everything else. Your software, if it draws something, is likely one. So is the web browser, etc. The connect to the X Server, and draw.
  • Window Manager - A special type of an X Client, this piece of software provides the ability to control the windows on your screen. It often draws window decorations (minimize, maximize buttons), sometimes draws a taskbar, etc.

You are free to mix and match them entirely as you please. Simpler, minimalisting window managers, such as my ratpoison which I prefer for many prototype embedded systems only have the notion of fullscreen windows, and can switch between fullscreen apps (think Windows 8 Metro). Others draw window decorations, and allow overlapping and cascading windows.

Since developing a Window Manager is a simple and modular task, there are literally hundreds to chose from. You also can choose not to use one at all, at which point your windows have to self-manage (you'll not be able to move them around by default). Many applications respect the -geometry 1920x1080+0+0 parameter, telling them to open a window in 1920x1080 resolution at the 0,0 corner - effectively fullscreen.

like image 58
qdot Avatar answered Mar 17 '26 02:03

qdot



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!