Is it possible to only have one full-screen application run without the PIXEL desktop environment on the current Raspbian Stretch Lite? So basically, replace PIXEL with a regular desktop GUI application (made with the Electron framework, in my case). If so, do I need to optimize it somehow or can I just use the code of the desktop application without any changes?
- 
                    YES - Most of us don't use PIXEL PIXEL desktop: now defunct and replaced by Raspbian Stretch – Milliways Jun 23 '18 at 22:57
1 Answers
Is it possible to only have one full-screen application run without the PIXEL desktop environment
Yes. There are three or four basic userspace layers (i.e., not including the kernel, which controls the hardware) involved in contemporary GNU/Linux based GUI desktops.
- The Xorg server is the most fundamental and the only one which is required. Although there are ways to do graphics without it, those are unlikely to be used in a "GUI desktop" context. There are newer alternatives to it (X has been evolving since the early eighties), but it is still predominant and what is used by default on Raspbian. - X has a variety of responsibilities but all we need to know here is that it is what creates the "windows" (the Xorg server is actually an implementation of the X Window System) used by desktop applications. It also provides for HIDs (human interface devices, usually a keyboard and mouse). - And that's about it. If you start Xorg without the next two layers and without running an application inside, all you'll see is a black screen with an X shaped mouse pointer. There are no menus, taskbars, etc., so the user is in a pretty boring place. However this is all GUI applications actually need to run. I.e., You can configure X to run a normal app at this point, and that would be a standard approach to creating a kiosk, which is a system that runs "one full-screen application". 
- The window manager elaborates on the X primitives; features like borders, titlebars, smart placement, themes, minimizing, etc. are implemented by the window manager. If you are running one full screen app, this doesn't serve much of a purpose. Some WM's can be used without the next layer and may include some of its features. 
- The desktop environment (e.g. PIXEL) is responsible for stuff like taskbars, menus, icons, managing multiple desktops, etc. and usually include at least a file browser. 
You can read more about the last two in that other answer I already linked. To these we might add the widget library (Gtk+, Qt) but that is only of interest if you are writing desktop apps.
Also in that answer is a bit about nodm, which would be one of the first things you should explore. This helps deal with the role of the display manager, also explained there.
 
    
    - 58,859
- 17
- 112
- 227
