Difference between revisions of "Raspberry Pi Kiosk"

From MagnetoWiki
Jump to navigation Jump to search
(updates after installing another kiosk)
Line 4: Line 4:
 
Modified procedure at [https://pimylifeup.com/raspberry-pi-kiosk/ Raspberry Pi Kiosk using Chromium].
 
Modified procedure at [https://pimylifeup.com/raspberry-pi-kiosk/ Raspberry Pi Kiosk using Chromium].
  
Follow default setup of the RPi, including updates.
+
1. Follow default setup of the RPi, including updates.
  
Install <code>unclutter</code> to hide the mouse when idle
+
 
 +
 
 +
2. Install <code>unclutter</code> to hide the mouse when idle
  
 
   sudo apt-get install unclutter
 
   sudo apt-get install unclutter
Line 12: Line 14:
 
You might need to install <code>sed</code> as well, but that was pre-installed on my RPi.
 
You might need to install <code>sed</code> as well, but that was pre-installed on my RPi.
  
Enable auto-login at
+
 
 +
 
 +
3. Enable auto-login at
  
 
   sudo raspi-config
 
   sudo raspi-config
  
Create a bash script at <code>/home/pi/kiosk.sh</code>. (Note that "chromium-browser" may have changed name to just "chromium")
+
Arrow down to "3 Boot Options" then "B1 Desktop / CLI" then "B4 Desktop Autologin".  (I set "B2 Wait for Network at Boot" as well).
 +
 
 +
 
 +
 
 +
4. Create a bash script at <code>/home/pi/kiosk.sh</code>. (Note that "chromium-browser" may have changed name to just "chromium")
  
 
   #!/bin/bash
 
   #!/bin/bash
Line 50: Line 58:
 
     WantedBy=graphical.target
 
     WantedBy=graphical.target
  
Enable and start the service, and reboot the Pi:
+
To copy the service file:
 +
 
 +
sudo cp kiosk.service /lib/systemd/system/kiosk.service
 +
 
 +
 
 +
Enable and start the service:
  
 
  sudo systemctl enable kiosk.service
 
  sudo systemctl enable kiosk.service
 
  sudo systemctl start kiosk.service
 
  sudo systemctl start kiosk.service
 +
 +
 +
 +
5. Reboot the Pi.  Note: use <code>sudo reboot</code> to restart the pi from the command line.
 +
 +
  
 
To exit kiosk mode, use alt-space bar or alt-F4.
 
To exit kiosk mode, use alt-space bar or alt-F4.
 +
 +
  
 
===Chromium update pop-up fix===
 
===Chromium update pop-up fix===
Line 63: Line 84:
 
  sudo touch /etc/chromium-browser/customizations/01-disable-update-check;echo CHROMIUM_FLAGS=\"\$\{CHROMIUM_FLAGS\} --check-for-update-interval=31536000\" | sudo tee /etc/chromium-browser/customizations/01-disable-update-check
 
  sudo touch /etc/chromium-browser/customizations/01-disable-update-check;echo CHROMIUM_FLAGS=\"\$\{CHROMIUM_FLAGS\} --check-for-update-interval=31536000\" | sudo tee /etc/chromium-browser/customizations/01-disable-update-check
  
Note: use <code>sudo reboot</code> to restart the pi from the command line.
+
 
  
 
==Network Connectivity==
 
==Network Connectivity==

Revision as of 13:29, 15 February 2020

Raspberry Pi Setup

Modified procedure at Raspberry Pi Kiosk using Chromium.

1. Follow default setup of the RPi, including updates.


2. Install unclutter to hide the mouse when idle

 sudo apt-get install unclutter

You might need to install sed as well, but that was pre-installed on my RPi.


3. Enable auto-login at

 sudo raspi-config

Arrow down to "3 Boot Options" then "B1 Desktop / CLI" then "B4 Desktop Autologin". (I set "B2 Wait for Network at Boot" as well).


4. Create a bash script at /home/pi/kiosk.sh. (Note that "chromium-browser" may have changed name to just "chromium")

 #!/bin/bash
 xset s noblank
 xset s off
 xset -dpms
 
 unclutter -idle 0.5 -root &
 
 sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' /home/pi/.config/chromium/Default/Preferences
 sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' /home/pi/.config/chromium/Default/Preferences
 
 /usr/bin/chromium-browser --noerrdialogs --disable-infobars --kiosk https://www.bio.fsu.edu/grad/kiosk/unit1.html

Create a system daemon service file kiosk.service, and copy it to /lib/systemd/system/kiosk.service (don't forget to use sudo to do the copying).


   [Unit]
   Description=Chromium Kiosk
   Wants=graphical.target
   After=graphical.target
   
   [Service]
   Environment=DISPLAY=:0
   Environment=XAUTHORITY=/home/pi/.Xauthority
   Type=simple
   ExecStart=/bin/bash /home/pi/kiosk.sh
   Restart=on-abort
   User=pi
   Group=pi
   
   [Install]
   WantedBy=graphical.target

To copy the service file:

sudo cp kiosk.service /lib/systemd/system/kiosk.service


Enable and start the service:

sudo systemctl enable kiosk.service
sudo systemctl start kiosk.service


5. Reboot the Pi. Note: use sudo reboot to restart the pi from the command line.


To exit kiosk mode, use alt-space bar or alt-F4.


Chromium update pop-up fix

In February 2020 a bug in Chromium caused an update popup to appear. The following commands will delay displaying the update popup for 1 year (from Raspberrypi.org forum posting by ShiftPlusOne.

sudo touch /etc/chromium-browser/customizations/01-disable-update-check;echo CHROMIUM_FLAGS=\"\$\{CHROMIUM_FLAGS\} --check-for-update-interval=31536000\" | sudo tee /etc/chromium-browser/customizations/01-disable-update-check


Network Connectivity

Get the RPi ethernet MAC address with ifconfig eth0. If the RPi is on a DHCP setup, then you should see the assigned ip with ifconfig -a.

Remote Screensharing

For remote screensharing, follow procedure at Raspberry Pi Screen Sharing with TightVnc or Setting up VNC on Raspberry Pi for Mac access and Mac Screen and File Sharing.


Google Sheets

Kiosk Webpage