Ubuntu Server 16.04.02 with Splash Screen and Kiosk mode

13,285

Solution 1

The boot messages are avoided by GRUB_CMDLINE_LINUX_DEFAULT="quiet splash". I don't know why you still get the cursor though.

Anyway, to answer your question about the plymouth, you want to install it by running the command sudo apt-get install plymouth. This should install it to the system. Then, your want to copy all of the contents of /usr/share/plymouth/themes/ubuntu-logo to another folder (Preferably somewhere in the /usr/share/plymouth/themes directory). Then, your most likely want to change the image ubuntu-logo in your newly copied folder. Then, to make the change to the new boot logo, edit the configuration file for plymouth located at /etc/alternatives/default.plymouth. There, change the address for the two lines below to the new folder you created earlier:

ImageDir=/usr/share/plymouth/themes/ubuntu-logo
ScriptFile=/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.script

So, for example, I might edit the lines to be like this:

ImageDir=/usr/share/plymouth/themes/mytheme
ScriptFile=/usr/share/plymouth/themes/mytheme/ubuntu-logo.script

Then, save the configuration and reboot. You now should have your boot logo image instead of the regular Ubuntu one.

Solution 2

If you want to get rid of the mouse cursor, when you make the startchrome.sh executable (Make it executable and run on login:) just add -nocursor e.g.:

sudo chmod +x /home/kiosk/startchrome.sh  
echo "/usr/bin/startx /etc/X11/Xsession /home/kiosk/startchrome.sh -- -nocursor :0" | sudo tee -a /home/kiosk/.profile  
Share:
13,285

Related videos on Youtube

JPelletier
Author by

JPelletier

Updated on September 18, 2022

Comments

  • JPelletier
    JPelletier over 1 year

    I'm trying to configure a Ubuntu Server 16.04.02 in Kiosk mode with Chrome. It's working but I'm not able to configure a Splash Screen instead of showing boot messages.

    Working so far

    Steps to create my Chrome Kiosk

    1. Installed Ubuntu Server 16.04.02 with OpenSSH Server
    2. Updates: sudo apt update && sudo apt upgrade -y
    3. Display Server + Windows Manager: sudo apt install xorg openbox -y

      Note: I tried to install openbox with --no-install-recommends but half of the screen (right side) was black.

    4. Google Chrome

      sudo add-apt-repository 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main'
      wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
      sudo apt update && sudo apt install google-chrome-stable -y
      
    5. Create a "Kiosk" user: sudo adduser kiosk
    6. Start Script for Chrome:

      sudo tee -a /home/kiosk/startchrome.sh <<EOF
      #!/bin/bash
      
      # Turn off DPMS (Display Power Management Signaling)
      xset -dpms
      
      # Disable screen saver blanking
      xset s off
      
      # Start OpenBox
      openbox-session &
      
      # Make sure Chrome is always started - restart if needed
      while true; do
        rm -rf ~/.{config,cache}/google-chrome/
        google-chrome --ignore-certificate-errors --kiosk --no-first-run --disable-infobars --disable-session-crashed-bubble --disable-translate         'http://localhost:8080'
      done
      EOF
      

      Make it executable and run on login:

      sudo chmod +x /home/kiosk/startchrome.sh
      echo "/usr/bin/startx /etc/X11/Xsession /home/kiosk/startchrome.sh -- :0 &> /dev/null" | sudo tee -a /home/kiosk/.profile
      
    7. Configure Auto-Login:

      Configure Getty:

      sudo mkdir /etc/systemd/system/[email protected]/
      sudo tee -a /etc/systemd/system/[email protected]/autologin.conf <<EOF
      [Service]
      ExecStart=
      ExecStart=-/sbin/agetty --skip-login --noissue --autologin kiosk --noclear %I $TERM
      Type=idle
      EOF
      

      Enable Getty:

      sudo systemctl enable [email protected]
      
    8. Hide Banner message on boot

      sudo touch /home/kiosk/.hushlogin
      sudo chown kiosk:kiosk /home/kiosk/.hushlogin
      

    Problem - X not starting

    I want to remove all Boot Messages. I tried GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" in /etc/default/grub but now, all I see is a little cursor at the top left of the screen. Chrome is not displayed anymore?

    Solution

    The kiosk user must be added to the video group! Don't know why it was working before I installed plymouth:

        sudo usermod -a -G audio kiosk
        sudo usermod -a -G video kiosk
    

    Note: I tried my own procedure in Ubuntu 17.04 and i had to do those additional steps:

        sudo apt install xserver-xorg-legacy
        sudo dpkg-reconfigure xserver-xorg-legacy
    

    Now you select "Anyone" on the menu. Than modify /etc/X11/Xwrapper.config and set:

        needs_root_rights=yes
        allowed_users=anybody
    

    Question - How to configure a new theme

    I also want a Splash Screen, I think that I have to install plymouth? What should I install and how to configure it?

    Solution

    I created a theme based on ubuntu-logo and copied it in /usr/share/plymouth/themes/ than I did:

        sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/MY_THEME/MY_THEME.plymouth 150
        sudo update-alternatives --config default.plymouth
    

    It will ask for theme selection, I select mine and after you must do:

        sudo update-initramfs -u
        sudo update-grub
    

    Thanks!

  • JPelletier
    JPelletier almost 7 years
    Thanks for explanations on plymouth, but I have to fix grub first. As soon as I set "quiet splash" all I see is a black screen. Chrome no more visible :S
  • TechdudeGames
    TechdudeGames almost 7 years
    What is your graphics card? Sometimes it can have an affect on the bootup process.
  • JPelletier
    JPelletier almost 7 years
    Intel HD Graphics 500
  • JPelletier
    JPelletier almost 7 years
    Got it!! sudo usermod -a -G audio kiosk && sudo usermod -a -G video kiosk
  • TechdudeGames
    TechdudeGames almost 7 years
    Nice! What are you going to use the kiosk for?
  • JPelletier
    JPelletier almost 7 years
    It's a surveillance system, the kiosk is running our softwares with a web interface.
  • TechdudeGames
    TechdudeGames almost 7 years
    Sounds like a good idea!
  • JPelletier
    JPelletier almost 7 years
    My Theme is working now, but instead of manually changing the /etc/alternatives/default.plymouth file, I did and install. I edited my question with the solution