Ubuntu – Customize Ubuntu for a library Internet kiosk

kiosk

I would like to customize ubuntu for a library, they only want to display a web browser with their site in full screen. No address bar, no button user can only click the link on the page. If library's staff enter admin user name and password they can change any settings in ubuntu.

Any suggestion or usefully link is much appreciated.

Best Answer

  • I believe this great article explains what you want, with screenshots galore. You want to create a special session in the login manager that will start a browser like Google Chrome using the kiosk option. You can set it up so that normal users automatically log into this kiosk session, but introduce a short time delay to allow an admin user to log into the normal Ubuntu session to administer changes to the system.

    The steps are fairly detailed and so I won't reproduce them in their entirety here. But since Ask Ubuntu discourages just linking (in case the linked site goes down), I will cut and paste here the key steps. You should go to the link for the full instructions.

    The desktop file you need to create in /usr/share/xsessions/ should have:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Kiosk Mode
    Comment=Chromium Kiosk Mode
    Exec=/usr/share/xsessions/chromeKiosk.sh
    Type=Application
    

    The script chromeKiosk.sh should be placed in the same directory with execute permissions and look like:

    #!/bin/bash
    xscreensaver -nosplash &
    cat ~/.config/chromium/Local\ State | perl -pe "s/\"bottom.*/\"bottom\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f2),/" > ~/.config/chromium/Local\ State
    cat ~/.config/chromium/Local\ State | perl -pe "s/\"right.*/\"right\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f1),/" > ~/.config/chromium/Local\ State
    while true; do chromium-browser %u --start-maximized; sleep 5s; done
    
  • Related Question