2

I'm trying to something like a kiosk.

So, I'm creating a custom install of Ubuntu Desktop 14.04 using Ubuntu-Builder, and I'm simply trying to have a program start up right on boot. I do not want the global menu bar on top to display, or the side bar with the short cuts to applications to display. I just want a program to execute in full screen, even if the user exits the program. The program already runs in full screen by the way.

I've tried removing Unity, and when I do that, when Ubuntu boots up, it says that you cannot log into Ubuntu. Does anyone have any suggestions?

Here's what I've tried:

sudo apt-get autoremove --purge unity unity-common unity-services unity-lens-* unity-scope-*

I'm also having difficulties having the program boot on start up, because I'm used to adding the program to execute to the users .profile. Any suggestions for this as well?

Thanks in advance.

Someone13
  • 263

3 Answers3

4

When building a Kiosk, I would first list what is the expected behavior. Expected behavior of a Kiosk should be, from your question :

  • A single graphical application to run fullscreen
  • This graphical application is started automatically when the server boot up
  • In the case that a user is able to stop the application (on purpose or after an error), this application should be restarted again.

I thing that your approach, starting from a full desktop and trying to remove the unnecessary things (like Unity) is not the correct approach. From my own experience, I search what are the minimal components to have to be achieve the above goals.

For me, the minimal components are :

  • An X Server, automatically launch during boot time without user login (without any layer like gdm, etc.
  • A Windows manager (to draw and manage the window of your application itself) with the ability to remove the minimize, maximize, close, ... button of the title bar. (if your application is already fullscreen by default this component can be optional.)
  • A script to check that the application is still running and to restart it in case it is not.

So starting from an Ubuntu Server installation, without any graphical component installed, you will have to install at least Xorg (sudo apt-get install xorg).
From the command line, you can always start the X server with startx.
To launch the graphical application together with the X server, you will have to create an .xsession file which purpose is to tell the X server which application to launch after the X server itself.

Benoit
  • 7,567
  • 1
  • 25
  • 34
2

I've covered this a few times on the site and again on my blog (from Ubuntu Server (recommended) or from Ubuntu Desktop).

I wouldn't mess around with trying to selectively unhook things from the traditional Ubuntu desktop, just load X and the application. It sounds gritty but it's fairly basic and only involves just a few tasks:

  • Disabling LightDM (if installed) which is what would normally start our X session (echo manual | sudo tee /etc/init/lightdm.override)
  • Telling X that anybody can start an instance (sudo dpkg-reconfigure x11-common)
  • Creating a new Upstart service that starts X and runs either a script or an application directly.

The new Upstart script is the biggest element to the whole thing but loosely consists of:

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

console output
emits starting-x

respawn

exec sudo -u pranay startx /etc/X11/Xsession /path/to/application --

And you'd save that as something like /etc/init/kiosk.conf.

Oli
  • 293,335
0

I couldn't really understand your problem very well, but from what i get you have removed the Unity bar right? if yes then this might be the problem since many people have reported problems after removing Unity with no solution found yet so try reverting back to the original settings and as for the full screen thing F11 takes most apps full screen, Firefox, chromium, libreoffice etc. and many game apps already open in full screen so you could just put a task to press F11 when you open these apps instead of modifying a patch.

To make apps fullscreen temporarly (one session)

-change screen resolution so it fits only the application

-for something a little more permanent you could change xrandr (Ps. This is risky stuff be careful)

pranay
  • 54
  • Yes, every time I remove the unity bar on top, and the application menu on the side, Ubuntu does not boot into the desktop. At least that what it seems like. Sometimes it says that the user cannot log into Ubuntu. – Someone13 Aug 12 '14 at 12:40
  • I'm basically trying to create a Kiosk – Someone13 Aug 12 '14 at 12:40
  • @Someone13 have you tried finding information how other users implement a Kiosk? – LiveWireBT Aug 12 '14 at 12:46
  • @Someone13 if you have some experience in programming only then change your patches otherwise Googles your best bet. some steps i could offer to create a kiosk then change xrandr (Google this) and make it permanent using Su Gedit see if that does it – pranay Aug 12 '14 at 13:00
  • also like i said you could just press F11 when you open the app, another method to go would be to change the screen resolution so it fits only the app and not the unity bar – pranay Aug 12 '14 at 13:02
  • 1
    also may i recommend next time before doing something so drastic like removing unity try a simple Google search it'll usually give the answer :P – pranay Aug 12 '14 at 13:06