Create a simple to use kiosk machine with Fluxbox

Jack Wallen
Jan 4, 2010
Updated • Dec 5, 2012
Linux
|
6

Have you ever had to create a kiosk PC for use in a business so that customers can either search a database of products or check out your services on line? If so, and you've tried to do this with Windows, you know how complex a task it can be. First and foremost - you have to make it such that users can only launch specific applications. Second, you have to make it secure and reliable. Often, when using a Microsoft solution for something like this you will have to add third-party softwares to lock down and lock out applications and features. I have an easier solution.

If you've ever experienced the simplicity and minimalism that is Fluxbox. Fluxbox is a minimalist window manager for the Linux operating system that requires very little in the way of resources, can be easily configured to keep users from launching applications you don't want them to launch, is lightning fast, and is very reliable.

In this tutorial I will show you how to install Fluxbox and configure it so that users will only find access to the applications you want them to use.

Installation

Because Fluxbox is an aging application, you will certainly find it in your package manager. What you want to look for (and install) are the following:

  • fluxbox: Fluxbox Window Manger
  • fluxconf: Graphical configuration tool. Use very carefully as this tool can wreak havoc on your configuration files. I do recommend getting used to configuring Fluxbox using your favorite editor in place of this tool. But if you have to have a graphical tool - just remember, you've been warned.
  • bbtime: Time applet to site in the Fluxbox slit (panel)

After you install these, you will probably want to install a style (if you want to make Fluxbox look a bit better). But there are plenty of built-in styles that will probably do.  Before we start, however, I want to introduce you to Fluxbox. To learn more about the basics of Fluxbox read my article "Get to know Linux: Fluxbox".

Minimizing and relocating the menu

Now that you know a bit about Fluxbox you are ready to start chipping away at the menu so that

Upon starting Fluxbox, you will notice very little. That is exactly what we want. But out of the box there is a behavior we will want to change. Out of the box to get to the application menu you have to click the right mouse button. This is counter-intuitive to most users. So let's switch this menu to the left mouse button. To do this you have to open up a terminal window. So click the right mouse button, select Applications, go to the Terminal Emulators sub-menu, and select a terminal window from the list.

What you want to do is open up the ~/.fluxbox/keys file. At the top of that file you will see three lines:

OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu

Change this to:

OnDesktop Mouse1 :RootMenu
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :HideMenus

Now save that file and restart Fluxbox (right mouse click and select Restart from the menu). The root menu should now be found with the left mouse click.

Time to cut out all that we don't want in that root menu. For our example we are going to set up a menu with a single entry - a browser. Of course before you deploy this you would need to set up a proxy server to keep customers from going anywhere you wouldn't want them. You might want to limit them to only your website.

When you first open the ~/.fluxbox/menu file you will see:

[begin] (fluxbox)
[include] (/etc/X11/fluxbox/fluxbox-menu)
[end]

What this is doing is including the full system-wide menu found in /etc/X11/fluxbox. You want to wipe that out and replace it with something like:
[begin] (Click Below)
[exec] (BROWSE OUR PRODUCTS) {google-chrome}
[end]

Figure 1

Now, when a user/customer clicks the left mouse menu all they will see is what you see in Figure 1. The only tool the user has access to is a browser.

Of course for the administrator you can always hit <Alt>F2 to open up the run dialog and open whatever application you like. But to the average user, this PC will do one thing and only one thing.

Final thoughts

If you have a need for single-purpose machine to be used as a customer kiosk PC you don't have to worry about looking for tools to lock down a Windows machine. All you have to do is have a Linux machine up and running and use Fluxbox.

Advertisement

Previous Post: «
Next Post: «

Comments

  1. scott said on January 5, 2010 at 10:09 pm
    Reply

    very cool, the windows way is not nearly as cool as using linux. great article.

  2. Tom said on January 5, 2010 at 10:59 am
    Reply

    Nice article – but not correct at the beginning:
    Creating a kiosk system on a Windows system (XP) with a MS product is as easy as pie! The solution is called Steady State and gives you a bunch of options for configuring and securing your windows system …

    1. Taomyn said on January 5, 2010 at 11:41 am
      Reply

      Yup, totally agree I use Steady State all the time, and for Win7 you can simply create a “Guest Mode” account which does pretty much the same.

  3. tony said on January 4, 2010 at 6:41 pm
    Reply

    its very useful post thanks

    tony

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.