# Secure Kiosk Mode

**URL:** <https://hub.mender.io/t/secure-kiosk-mode/2188>\
**Category:** General Discussions\
**Tags:** yocto\
**Created:** [July 10, 2020, 4:18pm UTC](https://hub.mender.io/t/secure-kiosk-mode/2188 "2020-07-10T16:18:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Austriker](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/austriker/32/511_2.png) [@Austriker](https://hub.mender.io/u/Austriker)\
**Post date:** [July 10, 2020, 4:18pm UTC](https://hub.mender.io/t/secure-kiosk-mode/2188/1 "2020-07-10T16:18:31Z")

</div>

Hello,

I am searching how to launch an app in kiosk mode. I have looked at this tutorial [How to create your first recipe and enable auto-start using systemd](https://hub.mender.io/t/how-to-create-your-first-recipe-and-enable-auto-start-using-systemd/1195) which explains how to launch an app at boot.

I also looked at this tutorial [Web Application for Interactive Kiosk Devices](https://wiki.yoctoproject.org/wiki/Web_Application_for_Interactive_Kiosk_Devices) but it seems that if you close the browser you still have access to the rest of the device.

My app is either a python app running tkinter or a QT based app.

What is the solution to secure my device ?

Best regards

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [July 10, 2020, 6:08pm UTC](https://hub.mender.io/t/secure-kiosk-mode/2188/2 "2020-07-10T18:08:52Z")

</div>

Hi @Austriker that is a pretty broad question. I know that Chromium has a kiosk mode built in but that is only part of the security implementation on a device. What kind of access are you trying to prohibit? just exiting the GUI doesn’t necessarily provide access to the device but you really need to define what kind of attacks are you explicitly looking to protect against.  
Drew

---

<div class="post-metadata">

**Author:** ![dellgreen](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/dellgreen/32/85_2.png) [@dellgreen](https://hub.mender.io/u/dellgreen)\
**Post date:** [July 10, 2020, 9:10pm UTC](https://hub.mender.io/t/secure-kiosk-mode/2188/3 "2020-07-10T21:10:46Z")

</div>

If your writing an application with a UI toolkit/framework, then most will have the ability to override/implement callbacks for their quit/exit/close event hooks, If you want a locked in kiosk mode app that is.  
If you worried about app crashing then also update your systemd service unit file with required Restart= policy

[https://www.freedesktop.org/software/systemd/man/systemd.service.html](https://www.freedesktop.org/software/systemd/man/systemd.service.html)

---

<div class="post-metadata">

**Author:** ![Austriker](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/austriker/32/511_2.png) [@Austriker](https://hub.mender.io/u/Austriker)\
**Post date:** [July 11, 2020, 5:35pm UTC](https://hub.mender.io/t/secure-kiosk-mode/2188/4 "2020-07-11T17:35:47Z")

</div>

I want to have it full screen and avoid when it crashes to have access to the desktop behind. Limit access through someone that plugs a keyboard on the computer. For example avoid windows + T to acces the terminal.

> **[Make a secure Ubuntu kiosk | Ubuntu](https://ubuntu.com/tutorials/secure-ubuntu-kiosk#1-overview)**
>
> Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.

---

<div class="post-metadata">

**Author:** ![dellgreen](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/dellgreen/32/85_2.png) [@dellgreen](https://hub.mender.io/u/dellgreen)\
**Post date:** [July 11, 2020, 6:03pm UTC](https://hub.mender.io/t/secure-kiosk-mode/2188/5 "2020-07-11T18:03:54Z")

</div>

I avoid all of this by not having a desktop installed at all as my programming language (Java) supports running apps on x11 or hardware accelerated framebuffer directly. I use the latter to avoid the unnecessary overhead of x11. I’d bet Qt has the same type of support.
