KioskWiki | KioskSetups | RecentChanges | Preferences
Jims quik 'n dirty kiosk setup
Boot directly into kiosk mode with the kiosk browser running
Getting a kiosk style system up and running is not very hard. It does require setting up your system and involves editing several files. This setup should work for most gnu/linux systems with gnome installed. It depends on GDM being the login manager. It uses the mozilla kiosk browser and the twm-kiosk window manager. These may be obtained from the Kiosk Project site and don't forget to read those docs.
- Install the twm-kiosk[twm-kiosk.tar] window manager and verifiy it works. Read all the twm-kiosk docs. To start twm-kiosk do: xinit /path-to/twm/twm-kiosk --:1 from a tty. You may want to edit the /etc/X11/twm/system.twmrc file to remove, or add to, items from the 'defops' section once you have your kiosk system working. The 'defops' section of twm-kiosk system.twmrc file is the definition of the left-click popup menu.
- Install the kiosk browser and verify it works. Read all the kiosk browser docs.
- If you are using the mozilla suite - Edit the /etc/X11/twm/kiosk-default.sh script as needed. This file should already contain the line: xterm -e mozilla -chrome chrome://kiosk/content/' if this line is not in there then copy it in. You should use the full kiosk browser distro since the mozilla suite is no longer supported.
- If you are using the full KioskEdition [kiosk browser distro] edit the /etc/X11/twm/kiosk-default.sh to have the line /usr/lib/kiosk/kiosk so that the kiosk browser starts automaticaly.
- For newer fedora systems GDM allows auto login, so add these lines to /etc/gdm/custom.conf [daemon] section:
- AutomaticLoginEnabled=true
- AutomaticLogin=UserName
UserName would be a user account you created for kiosk use. This account would have custom .Xclients, .Xinitrc and .Xsession files to start the twm-kiosk window manager.
-- The Xsetup_0 stuff is realy only usefull for older systems and should not be used. Use the gdm auto login since it offers much better system security
- Edit the /etc/X11/gdm/Init?/default file, this file may be symlink to /etc/X11/xdm[/Xsetup 0]? or it may be /usr/etc/gdm/Init?/default depending on your system.
Here is a sample Xsetup_0 file:
#!/bin/sh
# Xsetup for Red Hat Linux
# Copyright (c) 1999, 2000 Red Hat, Inc.
/usr/X11R6/bin/xsetroot -solid "#356390"
xterm -e /extraspace/twm/twm/twm-kiosk
/sbin/pidof -s kdm &> /dev/null && [ $? -eq 0 -a -x /usr/bin/kdmdesktop ] && /usr/bin/kdmdesktop && sleep 1s
# only set the background if the xsri program is installed
if [ -x /usr/bin/xsri ]; then
/usr/bin/xsri -geometry +5+5 -avoid 300x250 -keep-aspect /usr/share/pixmaps/redhat/redhat-transparent.png
fi
Notice the line xterm -e /extraspace/twm/twm/twm-kiosk contains the path to the twm-kiosk installed on my system - your path will probably be different. Also you may not need the xterm -e depending on how your system is setup. Anyway this starts the twm-kiosk which starts the kiosk browser before the login window appears. In the /etc/X11/gdm/Init?/default file you would only need to add the xterm -e /extraspace/twm/twm/twm-kiosk line. I should also point out that you could start twm or fvwm or some other program just as easily. But beware that starting some programs without a window manager will cause them to not work correctly becuase they rely on the window manager for mouse, keyboard tracking and other gui related issues.
If all goes well you should now have a system that boots and goes directly into a kiosk mode. Is there more that could be done to make your kiosk system better? You bet! This is just a base system that could be tuned to better match your situation. I use this base setup on standalone pc's and on thin clients, vist [The Linux Terminal Server Project] for information on thin clients.
After you get the basic setup working you may want to investigate some things:
- In your xconfig you may want to disable the ctrl+alt+backspace command. Look at the 'DontZap?', 'DontZoom?' flags in the 'ServerFlags?' section. This command allows the Xsession to be killed, not something you want in a production kiosk system.
- You may want to start xscreen saver from the /etc/X11/twm/kiosk-default.sh file. You could then use the banner screen saver to display a message after some period of inactivity.
- You may want to disable the screen saver in the kiosk.default.sh. the command is 'xset s off'
- To turn off automatic power saving(monitor shutdown/suspened) the command is 'xset -dpms'
- Disable access to your system bios. Again this is one of those things that you don't want users to be able to do in a production kiosk system. Most bios let you set an access password.