210 likes | 226 Views
X-Windows Configuring and Using Building a Kiosk (Chapter 15) . XWN740. Agenda. Building a Kiosk: Definition / Purpose Selecting Kiosk Hardware Configuring X for a Kiosk Controlling Keyboard / Mouse Starting a Fullscreen Application Booting a Kiosk. Building a Kiosk.
E N D
X-Windows Configuring and Using Building a Kiosk (Chapter 15) XWN740
Agenda Building a Kiosk: • Definition / Purpose • Selecting Kiosk Hardware • Configuring X for a Kiosk • Controlling Keyboard / Mouse • Starting a Fullscreen Application • Booting a Kiosk
Building a Kiosk • Definition / Purpose A kiosk is a publicly accessible computer display dedicated to a specific task or group of tasks. Here are some examples: • An electronic catalog station in a library • An automated teller machine • A ticket-vending machine • A video wall • A browsing and word-processing systemin an Internet café
Building a Kiosk • Challenge Kiosks differ from normal user-interface configurations in the way that they are managed: • Many kiosks do not offer normal windows, and instead run a single application that takes up the entire display; others offer a limited selection of applications in a normal window environment. • The user-interface hardware may also be more limited than in a desktop configuration. For example, there may be no keyboard or it may be more rugged. On the other hand, a trackball may be used instead of a mouse to control the pointer.
Building a Kiosk • Challenge • If your kiosk will be used only by selected, trusted users (e.g., staff) or in a light-duty environment (Internet café), you may be able to get by with regular PC hardware. • For any other purpose, you will probably want to invest in specialized hardware. Kiosk hardware is usually similar to desktop hardware but is typically more rugged and is often mounted in a custom-built case. • Obviously, the wide range of kiosk applications means that there is also a wide range of possible kiosk hardware configurations: what is suitable for a vending machine is not suitable for an Internet café.
Building a Kiosk • Monitor • Although LCDs have long life, low-power consumption, and a flat surface, they usually have a soft plastic surface that is not sufficiently durable for public operation. Therefore, many kiosks use an LCD display covered by a glass, acrylic, or polycarbonate sheet, or a traditional CRT display. • Since most kiosks are used from a standing position, the display may be farther from the user than a normal desktop display. Because some users may have visual impairment, it is best to use a large, bright, highcontrast display. • The monitor should be positioned to accommodate users of many different heights, including people in wheelchairs.
Building a Kiosk • Point Devices • Mice are generally inappropriate for most kiosks, because the cord and position sensor are susceptible to damage. • When the kiosk application requires pointer positioning (not always the case), a touchscreen, touchpad, or trackball are usually used.
Building a Kiosk • Keyboards • Some kiosk applications require a full keyboard. Keyboards are susceptible to dirt, abraded labels, and liquids; to deal with this, some kiosk builders use cheap keyboards that can be replaced inexpensively, while others choose rugged keyboards that resist liquids and can be easily cleaned. The keyboard can be mounted behind a metal or acrylic panel cut to shape. • If your application does not require a full keyboard, you may be able to use a USB numeric keypad instead; these are commonly marketed for use with laptops.There are a number of companies that make custom keycaps for use with keyboards or keypads • Consider using touchscreens if possible...
Building a Kiosk • Touch Screens • Warning: Avoid using a touchscreen for password or PIN entries, since it's too easy for someone else to view (or video-record) the password as it being entered.
Building a Kiosk • System Unit / Power Supply / Ventilation • Most kiosks have an inner and outer case. The inner case is usually a standard or rackmount PC chassis. • Because kiosks may run without inspection for weeks or months at a time, it is wise to select a basic but rugged chassis with a good power supply and extra fans for the system unit. • Ventilation louvers should be positioned to allow good airflow while eliminating the possibility of liquids or foreign objects reaching internal components (an internal baffle can prove helpful). • A good UPS with temperature monitoring is highly recommended.
Building a Kiosk • Configuring X Windows for a Kiosk • Configuring X for a kiosk involves removing features to limit what the user can do. The three main configuration entries for this can be placed in the ServerFlags section: Section "ServerFlags" Option "DontZoom" Option "DontZap" Option "DontVTSwitch" EndSection • This prevents the user from changing the display resolution, terminating the X server, or switching virtual terminals.
Building a Kiosk • Configuring X Windows for a Kiosk • During the development and testing of the kiosk, you may want to store the kiosk X configuration in a separate file (such as /etc/X11/xorg.kiosk.conf) so that the default X server retains its original configuration. • To start X with the kiosk configuration, supply the -config argument on the command line: blue$ X -config /etc/X11/xorg.kiosk.conf
Building a Kiosk • Controlling the Keyboard • Many programs have special functions that can be invoked using function keys, Alt-or Ctrl-key combinations, or Alt-Ctrl-Shift-modified mouse clicks. • To prevent the users from accessing these functions, you can modify the keyboard map using the X Keyboard Extension or the xmodmap command. • In most cases, the xmodmap command provides the simplest solution. Refer to X PowerTools text page 222 for the procedures to “lock-down” the keyboard...
Building a Kiosk • Controlling the Mouse • If you decide to use a mouse or some type of pointing device, you should be aware that the middle and left mouse buttons can be used to access special features of some programs. • You can configure which physical mouse buttons generate which button event using xmodmap. programs have special functions that can be invoked using function keys, Alt-or Ctrl-key combinations, or Alt-Ctrl-Shift-modified mouse clicks.
Building a Kiosk • Controlling the Mouse • Some applications may not use the pointer mapping set by xmodmap and may continue to recognize all of the mouse buttons. In that case, you can disable all but the first mouse button by using the Buttons option in the mouse's InputDevice section of the X server configuration file: Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Buttons" "1" Option "Protocol" "IMPS/ Option "Device" "/dev/input/ EndSection
Building a Kiosk • Controlling the Mouse • Refer to X PowerTools text page 223-224 for the procedures to “lock-down” the keyboard...
Building a Kiosk • Starting a Full Screen Application • For a kiosk that runs only one application, it makes sense to omit the window manager and just start that one application in fullscreen mode. • For many applications, this can be done with a command-line geometry specification; on a 1024 x 768 screen, this opens a full-screen xclock: xclock -geometry 1024x768+0+0 • You can also employ additional methods like one of the previous labs to run a web-browser and load up a webpage....
Building a Kiosk • Booting a Kiosk • Most kiosk systems boot directly into the configured kiosk application. This can easily be configured and tested on a system that supports runlevels. • Traditionally, runlevel 4 is unused, so it is a perfect candidate for a kiosk mode. It's easiest to start off by copying the scripts for a working runlevel. On a Fedora system, you could copy the runlevel 5 configuration with this command: cp -l /etc/rc.d/rc5.d /etc/rc.d/rc4.d(note techniques varies by distro...)
Building a Kiosk • Booting a Kiosk • Next, disable all unnecessary services (this will depend on the kiosk application). For example, to delete the bluetooth services: chkconfig bluetooth off • Warning: It is a good idea to leave sshenabled, so that you can log in to the kiosk remotely for diagnostic and maintenance work.
Building a Kiosk • Booting a Kiosk • You will then need to modify /etc/inittab to disable character-mode logins in runlevel 4 (refer to page 232 in X Power Tools textbook) • Append a line to this file to configure init to start the kiosk script (and respawn it if it dies) only in runlevel 4 (usuing the script name kiosh.sh as an example): ks:4:respawn:/usr/local/kiosk/kiosk.sh
Building a Kiosk • Booting a Kiosk • Whenever you change /etc/inittab, you must inform init of the change: init q • You can then test the kiosk mode by switching into from your current runlevel: init 4 • Once you are confident that the kiosk is properly configured, you can change the default system boot runlevel by changing the initdefault line in /etc/inittab