Skip to content

Lubuntu kiosk setup procedures

caywood edited this page Nov 10, 2012 · 6 revisions

The following instructions apply to creating a kiosk using Lubuntu on a Foxconn computer.

Contents

1 Install Lubuntu on the device
    1.1 Fresh installation method
    1.2 Duplication method
2 Configure Lubuntu and the device
3 Configure the kiosk boot code

#Install Lubuntu on the device ##Fresh installation method

Download the ISO installation file.
"Burn" the ISO to a USB drive. UNetbootin can help you place the ISO onto the USB drive.
Insert the USB drive into the computer and boot from it.
Follow the setup instructions while the computer sets up the operating system. This process may take about 45 minutes. 

Duplication method

If you have a preconfigured distro, write the distro to the SD card and install the SD card into the device. You will need to change a few settings, however, to ensure the kiosk's web browser loads the correct page.

Write the distro to the card

Open the terminal in your desktop and type

sudo dd if=/location/of/image/file.bin of=/location/of/card

The source file will end in .bin and the destination should be your card. On some computers, the card will be located at /dev/sdc, as sdc refers to SD Card. It may be different on different computers.

Set up device BIOS

Since the BIOS settings are not written to the card, follow the steps in Hardware settings below.

Customization

You should be able to boot from the SD card now. When it boots and loads the web browser, hit F11 to escape full-screen mode and then close the browser.

If you need admin access, the user name and password are both set to transit.

Configure the wifi using the wifi dialog in the taskbar.

Customize the startup location.

Click the Lubuntu menu button Click Accessories | File Manager Navigate to /home/transit/.config/autostart/ Open browserboot.sh for editing. Change the URL in line 17 to point to the correct URL. Save and close the file. To test the change, double-click browserboot.sh and execute it in the terminal. Make sure the browser loads to the correct page.

Configure Lubuntu and the device

You will need to configure Lubuntu settings as well as hardware settings.

Hardware settings

Hold F11 or the Del key while the computer boots to enter the BIOS setup. Set the Restore on AC power loss setting to On. Disable the Deep sleep option. (Optional) Set the Boot Num-Lock setting to On.

Lubuntu settings

Set the background to black

Right-click on the desktop. Click Desktop preferences. Set the Wallpaper mode to Fill with background color only Click Close.

Disable the screen saver

Click the Lubuntu menu button. Click Preferences | Screensaver. Set the Mode to Disable Screen Saver. Quit.

Turn off software updates

Click the Lubuntu menu button. Click System Tools | Update Manager. When the Update Manager opens, click the Settings button. Uncheck everything in the Updates tab. Set Automatically check for updates and Notify me of a new Ubuntu version to Never. Click Close and click Close again.

Install several applications from the command line

Click the Lubuntu menu button. Click Accessories | LXTerminal. Type sudo apt-get install unclutter and confirm any installation questions. Type sudo apt-get install libnotify-bin and confirm any installation questions. Type sudo apt-get install startupmanager and confirm any installation questions. You are installing startupmanager so you can disable the boot dialog that offers the option to boot in recovery mode. Now disable recovery mode.

Install a black chrome theme for Chromium

Open the Chromium browser from the taskbar. Click the wrench image to the right of the location bar. Click Preferences Click the Personal Stuff section. Click the Get themes link in the Appearance section. Type Slinky Elegant into the search box on the preferences page. Click the Results for "Slinky Elegant" in Themes link. Mouse over the theme and click the Choose theme button. Install the theme.

Turn off power management

Click the Lubuntu menu button. Click Run. In the text box, type xfce4-power-manager-settings and click OK. Click the On AC button. Set all of the sliders in the Actions and Monitor tabs to Never. Click Close.

Configure the kiosk boot code

You will need to create two new files on the system. Open your favorite text editor to create the file /home/{your user name}/.config/autostart/browserboot.sh and past the following code into the file.

    #!/bin/bash
     
    fnCheckConnection() {
     
    notify-send 'Transit Screen' 'Verifying the internet connection.' -t 3000
    sleep 4s
    WGET="/usr/bin/wget"
    $WGET -q --tries=10 --timeout=5 http://www.google.com -O /tmp/index.google &> /dev/null
     
    if [ ! -s /tmp/index.google ];then
    notify-send 'Transit Screen' 'Cannot connect to the internet. Re-attempting...' -t 3000
    sleep 4s
    fnCheckConnection `expr $1 + 1`
    else
    notify-send 'Transit Screen' 'Connected to the internet. Opening the screen' -t 2000
    sleep 3s
    /usr/bin/chromium-browser --incognito --kiosk "http://www.commuterpage.com"
    fi
    }
     
    fnCheckConnection "1"

Replace www.commuterpage.com with the URL you want the browser to load. You will also notice that we have set the incognito and kiosk flags. The former ensures that the browser does not display the session recovery window if the device loses power and reboots. The latter flag ensures that the browser boots full-screen with all the browser chrome hidden.

Since this is just a shell script, you will need another file that the operating system reads when it boots. This other file will tell the operating system to run the shell script.

In the same directory as the broswerboot.sh file, create a new file transit.desktop and enter in the following code:

    [Desktop Entry]
    Version=1.0
    Name=Transit booter
    GenericName=Transit booter
    Exec=/home/transit/.config/autostart/browserboot.sh
    Terminal=false
    X-MultipleArgs=false