Building a Point of Sale or (How does X work?)

David N. Lombard dnl at speakeasy.net
Fri Oct 16 02:19:24 UTC 2009


Valter Nogueira wrote:
> Today I went to the supermakert and while wainting in line, the 
> point-of-sale frozen.
> 
> Well, it could be disturbing for most people - but I saw the operator 
> rebooting software and it was Linux. I could not realize the distro and 
> I can say that it loads tons of services during start-up (more than I am 
> used to see)
> 
> After booting, with no login nor any kind of visible window manager, 
> appeared the graphical user interface of POS and continued from the last 
> product registered.
> 
> OK. It is a long, long history. Well, what I want to know is what is the 
> best way to produce a effect like that in my distro of choice (Ubuntu)?
> 
> Tons of options suddenly crossed my mind. A Gnome/GTK program using 
> full-screen started at gnome starting. A Java/Swing Application, a xfce 
> application (if such thing exists) and suddenly I figured out that I 
> don't have a clear idea of how X works at all.
> 
> In Win32 that is just one way to do anything: Win API and Petzold way. 
> Anything else (including .NET) are just layers between app and gdi/kernel.
> 
> So, what is the learning path to programming X? Could anyone send me a 
> direction?

There's no requirement to have a login screen.  There's also no reason 
to run Gnome, just X and the program(s) of choice.

Where to start?  Well, that's actually somewhat hard because there are 
SO MANY options.  Back in the day, you would get the X "bookshelf" and 
start reading.

In any event, take a look at /etc/X11/xinit/xinitrc, you see it sources 
/etc/X11/Xsession.  In that file you'll see the startup of the window 
manager.  You could hack that file to start your application instead. 
That leaves a login.  See the init manpage, along with /etc/event.d/* to 
see system startup. That will ultimately lead to /etc/init.d/rc.

-- 
David N. Lombard




More information about the ubuntu-users mailing list