Instructables
At work we have the frequent need for a machine that will allow students to access the internet without having full access to a computer.  To accomplish this task we previously resorted to creating AutoHotKey scripts on a Windows XP machine.  Many of the students and the staff who monitored these computers took issue with the computer's slow boot and running speed.  To cope with this we started to explore alternatives to Windows.  This is where we combined Ubuntu (a fast operating system) with Chromium-browser (one of the fastest browsers).  Now we have really old machines running as web kiosks that boot in 20 seconds or less and are very responsive to clicks, typing, and even flash videos and animations.

Follow the steps in this Instructable to set up Ubuntu, and Chromium if you haven't already.

Some potential uses for this type of system:
    * Web Kiosk
    * Information Booth
    * Subsonic Guest Interface
    * X10 House Control
 
Remove these adsRemove these ads by Signing Up

Step 1: Add XScreensaver & Ubuntu Restricted Extras

On our systems we found that even LCD monitors got burnt in after time.  They are not supposed to be able to do this, but they were.  To remedy this, we tried to get the default screensavers to come up.  They were not great at running from a script.  Instead the best option for this is to install the xscreensaver packages.  I like to do this from the command line so click Applications, highlight Accessories, and click Terminal.  From there enter the command "sudo apt-get install xscreensav* -y" without the quotation marks.  The asterisk at the end allows aptitude to install all of the packages that start with xscreensav, thus installing all the additional screensavers available.
If you will be using flash you will need to install the plugin for it.  The best way I've found to do this is similar to adding xscreensaver.  In the terminal window enter "sudo apt-get isntall ubuntu-restricted-extras -y".  Once this is done close the Terminal window.
« Previous41-80 of 181Next »
noob2ub1 year ago
Does anyone know the correct way to get my kiosk screen to go full screen? I tried many of the methods on this site and I still have a 1/2 inch of uncovered screen at the bottom of my kiosk. My settings are 1000 bottom and 1280 right. Any help is greatly appreciated.
nmartin121 year ago
I GOT IT!!!! Once logged into kiosk I navigated in the file browser to the files I created and executed kiosk.desktop. Now chrome launches the kiosk when started as a regular program from the sidebar (unity launcher)
nmartin121 year ago
Ok so I redid the two lines in the bash file to fix the issue but chromium will not autostart or even start in kiosk mode for that other user. I am at a loss as to why. I have redone the steps several times and copy pasted to prevent typos.
natrinicle (author)  nmartin121 year ago
Can you check who the script is owned by and what the permissions on it are by running an "ls -al" in the terminal while in the same directory as the script?
nmartin121 year ago
I even thought about reworking the chromeKiosk.sh file. Though I have no Idea exactly how any of the scripting works yet. I am running 12.04 if that changes anything, I noticed some steps don't exist anymore.
rpace19061 year ago
Thank you for posting this! I found it useful. You wouldn't happen to know anything about bell - merivale would you? Any insight would be great!
natrinicle (author)  rpace19061 year ago
No problem rpace1906. I'm afraid the only things I know about Bell is what I can Google on it. I live in the U.S., not Canada.
chuydb1 year ago
Im using ubuntu 12.04 LTS, finllay got working the kiosk with autologin. Couple of things, how do I switch back? If I force reboot the autologin gets me right back to the kiosk mode, hence I cant do anything.

chuydb chuydb1 year ago
Been playing around with the terminal to see if i could force out of the kiosk, still nothing.
Clr361 year ago
Where might I have gone, followed the directions but now even when using the admin or master account it loads the kiosk mode? Now I can't change any setting. Thanks
natrinicle (author)  Clr361 year ago
You will need to edit the ~/.dmrc file's Session= line. I use KDE by default on my system (not loaded with standard Ubuntu) and my line is Session=kde-plasma.
Just guessing, but I think if you set that line to Session=gnome that it should go back to the gnome desktop for you.
mrazem3 years ago
Is there a way to force Chrome or Chromium start in Full-Screen mode?
natrinicle (author)  mrazem3 years ago
You have to use the xrandr super long command in the chromeKiosk.sh creation step. From what I understand the file that the resolution is stored in has changed locations as well and I haven't had a chance to look at and repair that script. If you can find the location of the file you should be able to just change the file name in those two commands.
Hi, thanks for your quick response but that did not work, Is anybody experiencing the same situation. i guess there is no way to gain access to the Pc from this other than a re build of the Ubuntu Os.
Those settings for fullscreen are now located in ~/.config/chromium/Default/Preferences

width=`xrandr | grep \* | head -n1 | cut -d' ' -f4 | cut -d'x' -f1`
height=`xrandr | grep \* | head -n1 | cut -d' ' -f4 | cut -d'x' -f2`

echo $width,$height

cat ~/.config/chromium/Default/Preferences | perl -pe "s/\"work_area_bottom.*/\"work_area_bottom\": $height,/" > /tmp/tmp.$$
cp /tmp/tmp.$$ ~/.config/chromium/Default/Preferences
cat ~/.config/chromium/Default/Preferences | perl -pe "s/\"bottom.*/\"bottom\": $height,/" > /tmp/tmp.$$
cp /tmp/tmp.$$ ~/.config/chromium/Default/Preferences
cat ~/.config/chromium/Default/Preferences | perl -pe "s/\"work_area_right.*/\"work_area_right\": $width,/" > /tmp/tmp.$$
cp /tmp/tmp.$$ ~/.config/chromium/Default/Preferences
cat ~/.config/chromium/Default/Preferences | perl -pe "s/\"right.*/\"right\": $width,/" > /tmp/tmp.$$
mv /tmp/tmp.$$ ~/.config/chromium/Default/Preferences

mikefoes1 year ago
I have re built the system in case i had missed something in the set up. But it is exactly the same. The kiosk works fantastically only allowing users use of the web browser, but I can't gain access to the admin user as the settings are in force here. I log on as my admin user but no access to any menu's etc. if you could find the time to point me in the right direction it would be very helpful.

great tutorial, easy to follow and very informative.

best regards

mike
natrinicle (author)  mikefoes1 year ago
After intensively searching the internet, I finally found the config file that tells GDM which desktop environment to load. You will need to edit the ~/.dmrc file's Session= line. I use KDE by default on my system (not loaded with standard Ubuntu) and my line is Session=kde-plasma.
Just guessing, but I think if you set that line to Session=gnome that it should go back to the gnome desktop for you.
mikefoes1 year ago
when switching to the Administrator the kiosk mode is still active, no menus etc, how do i over come this as i want to change some settings for the restricted user
.
regards

mike
mikefoes1 year ago
Tutorial is well thought out and explained exceptionally with the Ade of the screen shots. However Chromium wont start automatically on the users account, could you point me in the wright direction what to look for. I entered the script as shown. i am new to linux and this a great project to get me started.

also is there a way of disabling the Gnome panel for the user, I just want to really lock the system down.

best regards

mike
natrinicle (author)  mikefoes1 year ago
I would check the .desktop file creation step and make sure that the correct file permissions are set. This will take care of disabling the Gnome panel as well.
natrinicle (author)  natrinicle1 year ago
Step 6 actually, sorry I didn't include it in my last comment
nhoncoop1 year ago
I have almost everything working (great tutorial!), only the webpage is faster than the internet connection, what results in a page cannot found message. So I have to wait for just 2 a 3 seconds hit F5 and it is working but is there a better solution?

Also i did something wrong and it is not possible to go back to the normal login screen so i can login as administrator or user in unity? I use ubuntu 12.04.
natrinicle (author)  nhoncoop1 year ago
Thanks! I'm guessing it's probably that you're using DHCP and that the DHCP server is taking too long to hand out an address. You can set a static address and that should help.

My guess on the user is in step 7 not having set a time that you can log in as another user before the auto login. Unfortunately, I'm not sure where this is set so I don't know how to unset it.
I have installed Ubuntu again but I can't find the Login Screen Settings in Ubuntu 12.04. Is ther another way to set some time to login as an another user? I have tried to fix it in in the lightdm.conf but both versions login in the default interface without some time to login as someone else.

1
[SeatDefaults]
autologin-user=user
autologin-user-timeout=20
autologin-session=Kiosk Mode
user-session=Kiosk Mode
greeter-session=unity-greeter
allow-guest=false

2
[SeatDefaults]
autologin-user=user
autologin-user-timeout=20
user-session=ubuntu
greeter-session=unity-greeter
allow-guest=false
natrinicle (author)  nhoncoop1 year ago
Looks like Ubuntu changed their greeter to LightDM which is what you're trying to set here. If it's not accepting the config file then you might need to file a bug with the developers. I believe at the time I wrote this article they were using GDM.
I found a alternative gdm greeter tool called MDM (http://askubuntu.com/questions/143192/how-can-i-replace-lightdm-with-mdm). In MDM is it possible to Timed Login, what fixed the problem.
matais3 years ago
Hi, iv followed your brilliant guide and works perfecty with chromium but iv altered it for Opera and only having one issue getting it full screen (you can see the background, round the sides of the opera window), with Chromium i managed to drag the windows to full screen and it holds even after a reboot but with Opera i cant seem to do the same or find another way of doing it, any help would be greatly appricated, iv attached an image of what im getting
photo.JPG
natrinicle (author)  matais3 years ago
I haven't tried Opera yet, but a quick Google search has led me to the Opera Kiosk Mode documentation. I quickly glanced through it and it appears that there are a series of command line options to set the screen height and width. Take a look at the following url for more info: http://www.opera.com/support/mastering/kiosk/
Hi, thanks for your reply natrinicle, i wish it was that easy, iv had a read through that site in my google travels and tried
opera %U -k -ScreenWidth 800 -ScreenHeight 600
opera %U -k /ScreenWidth 800 /ScreenHeight 600
and tried other combinations

here what im using:
#! /bin/bash
xscreensaver -nosplash &
While true; do opera %U --kioskresetstation --nomail --nomaillinks --nosave --nodownload --reseronexit --nocontectmenu --nomenu --noprint --nokeys ; sleep 2s; done

im having no luck at all, using ubuntu 10.04 LTS and opera 11.50
is there anyway to start xrandr so opera can pick the screen resolution and go actual full screen?
natrinicle (author)  matais3 years ago
Xrandr actually is just a command line utility that dumps a lot of info about the screena that xwindows are displayed on. You might be able to take a chunk out of the xrandr code I have and put it in $() which runs a command and uses the output for that section of input. It would look something like this below, filling in the xrandr command line portion of course.

Opera %U -k -screenwidth $(xrandr command line) -screenheight $(xrandr command line)
Tried that command line with no luck but managed to figure it out after many hours

Opera -geometry 1280x1024-1-1

thanks for you help, was a nice challenge, knew there would be a way
Hello!
thanks for your instructions. I also tried the Opera Kiosk Mode. Everything works fine but there is one small problem. As for the keyboard. There is no Polish fonts in kiosk mode. Where can I change the code page layout in kiosk mode?
natrinicle (author)  menuchin1 year ago
See if this helps you: https://help.ubuntu.com/community/LocaleConf
heymatias2 years ago
Hi! Great tutorial.

I have a litle problem, it works fine at first time, and others times too, but I haven't cursor, just this ugly cross.

I know it can be fixed, but I don't know how, can one of you help me?

For the record, Google Chrome haves a few extensions to make it more kiosk, ie you can put a timeout and go to the home page after 5 minutes of inactivity.

And yes, my natural languaje isn't english, sorry for my erros :)
natrinicle (author)  heymatias2 years ago
The ugly cross is the default X cursor. It should only show up when you're not over a Chrome window. If you have it maximized then you should only see the nicer cursor.

Can you post links to the extensions in question? When I made this tutorial they didn't have anything like that in the Chromium Store. Thanks
rledger2 years ago
I ended up adding entries for xmodmap to the chromiumKiosk.sh file to disable the ctrl keys. I used xev to kind the keycode first for both the left and right ctrl keys then added the following to the script right before the while loop:
xmodmap -e 'keycode = (num from xev for left ctrl) = NoSymbol'; xmodmap -e 'keycode = (num from xev for right ctrl) = NoSymbol';

This made the kiosk not be able to use ctrl-o, ctrl-t, ctrl+alt+1, etc...
cheng0012 years ago
I did all of the steps, but as soon as I restarted my computer. It didnt auto-login to the user. It brought up the log in screen and once I selected the user that should have been auto-login, the screen went black and back to the login screen....do you have any idea what I did wrong?
natrinicle (author)  cheng0012 years ago
I would double check your chrome-kiosk.sh script and make sure it's executable.
I had this working the first time around. Second time I had this problem, script was executable, any further suggestions on what would cause this?
natrinicle (author)  Grayski2 years ago
Unfortunately, there are so many different things that could be wrong that the best advice I can give is to go back through the 'ible and verify each of the steps. Most likely it was just an overlooked command.
« Previous41-80 of 181Next »