# Ignition client in kiosk mode

**URL:** <https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064>\
**Category:** Ignition\
**Created:** [November 26, 2018, 2:03pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064 "2018-11-26T14:03:33Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [November 26, 2018, 2:03pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/1 "2018-11-26T14:03:33Z")

</div>

Hello  
Is there any solution to run ignition java client in kiosk mode? (disabling close, win+D and run in full screen so user cant close or minimize client)  
Thanks

---

<div class="post-metadata">

**Author:** ![AlThePal](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/althepal/32/3603_2.png) [@AlThePal](https://forum.inductiveautomation.com/u/AlThePal)\
**Post date:** [November 26, 2018, 2:12pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/2 "2018-11-26T14:12:12Z")

</div>

Which operating system?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 26, 2018, 2:18pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/3 "2018-11-26T14:18:50Z")

</div>

It’s relatively easy to do this in Linux. I use the sddm session manager set to auto-login and auto-relogin, with a custom session script that launches the app instead of the desktop. If they manage to exit the app, it just relaunches.

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [November 26, 2018, 2:24pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/4 "2018-11-26T14:24:06Z")

</div>

windows OS, specially windows 10

---

<div class="post-metadata">

**Author:** ![AlThePal](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/althepal/32/3603_2.png) [@AlThePal](https://forum.inductiveautomation.com/u/AlThePal)\
**Post date:** [November 26, 2018, 2:37pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/5 "2018-11-26T14:37:32Z")

</div>

You might find [this article](https://www.howtogeek.com/173562/how-to-easily-put-a-windows-pc-into-kiosk-mode-with-assigned-access/) useful. It uses a little-known feature of Windows called Assigned Access.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [November 26, 2018, 2:46pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/6 "2018-11-26T14:46:49Z")

</div>

I used to be able to recommend DeskLock... until Win10 came out. 😒

AutoHotKey would do it, but if someone manages to kill it, it would no longer intercept keystrokes.

You can replace the shell (example below) and remap dangerous keys (further below) to make it most kiosk-y.

> [@Replace Windows shell to launch Ignition client (advanced!)](http://forum.inductiveautomation.com/t/replace-windows-shell-to-launch-ignition-client-advanced/3979):
>
> EDIT: with the advent of the native client launcher, and the death of Java Web Start, This entire thread is somewhat defunct. However, if you want to replace the shell, here is the TLDR version. slight_smile [quote=“JordanCClark, post:17, topic:3979”] If your project has a desktop icon, you can copy the contents of the target field into the registry key value. Computer\HKEY\_LOCAL\_MACHINE\SOFTWATER\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell [/quote] For those playing along at home …

> **[GitHub - randyrants/sharpkeys: SharpKeys is a utility that manages a Registry key...](https://github.com/randyrants/sharpkeys)**
>
> SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key.

---

<div class="post-metadata">

**Author:** ![Claus\_Nielsen](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@Claus\_Nielsen](https://forum.inductiveautomation.com/u/Claus_Nielsen)\
**Post date:** [November 29, 2018, 9:52am UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/7 "2018-11-29T09:52:54Z")

</div>

How do you add Ignition client as the app in Assigned Access?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [November 29, 2018, 1:09pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/8 "2018-11-29T13:09:32Z")

</div>

If you are using Win10 Pro, you can’t.

From the article:

* * *

- **Windows 10 Professional:** Only new “Universal Windows Platform” apps bundled with Windows 10 or installed from the Windows Store can be selected. Unfortunately, you can’t choose the Microsoft Edge web browser.
- **Windows 10 Enterprise or Education:** In addition to Universal Windows Platform apps, you can choose an installed desktop applications to limit a user account to.

* * *

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 29, 2018, 2:03pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/9 "2018-11-29T14:03:20Z")

</div>

> [@JordanCClark](#):
>
> If you are using Win10 Pro, you can't.  
> From the article

Ha! Since I hardly ever use Windows, and never Windows10, I haven't learned all the new ways Microsoft has castrated it.

Just out of curiosity: If only the Ignition client is to be allowed to run, why is the Windows platform a requirement?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [November 29, 2018, 2:29pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/10 "2018-11-29T14:29:30Z")

</div>

> [@pturmel](#):
>
> Just out of curiosity: If only the Ignition client is to be allowed to run, why is the Windows platform a requirement?

Inertia, and general laziness of IT people, which amounts to the same thing.

Heck, if it wasn't for the automation and CAD software we use here (Rockwell, Omron, Solidworks, for example), I'd have ditched Windows a long time ago.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 29, 2018, 3:14pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/11 "2018-11-29T15:14:12Z")

</div>

> [@JordanCClark](#):
>
> Heck, if it wasn't for the automation and CAD software we use here (Rockwell, Omron, Solidworks, for example), I'd have ditched Windows a long time ago.

I run Windows in a VM for such things. Even my CAD software (an old copy of MicroStation) runs with accelerated 3D within a KVM guest. The networking flexibility is really handy for RSLinx -- I trunk or tunnel layer 2 VLANs to software bridges in Linux, and expose those to Windows as individual interfaces. Except for some latency, I can as easily program PLCs on my office lab VLANs from my porch at home, or a hotel room, as I can in the office itself.

---

<div class="post-metadata">

**Author:** ![BrandonSHill](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/brandonshill/32/6805_2.png) [@BrandonSHill](https://forum.inductiveautomation.com/u/BrandonSHill)\
**Post date:** [November 29, 2018, 4:20pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/12 "2018-11-29T16:20:01Z")

</div>

Try it with Windows IoT Enterprise (Windows 10 Embedded essentially). Has a lot of functionality to disable a great number of hotkeys, shortcuts, etc for the User account. Can auto-login to the User account, etc. ALT+F4 gets disabled and all sorts of items that can be modified via policies. Windows Embedded is still a Windows nightmare, but has some of that functionality. Also, it has Enhanced Write Filter, to lock down the image after deployment.

But I second Phil’s solution if your IT department can maintain a Linux workstation. A lot more control over the system as a whole with that.

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [December 1, 2018, 2:05pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/13 "2018-12-01T14:05:29Z")

</div>

for those that want a simple and easy solution, use InTouch Lock.  
It’s easy to setup and can disable and restrict any thing you can imagine. It only cost you $34.  
I test it with ignition and they works perfectly.

---

<div class="post-metadata">

**Author:** ![Ross\_McCormick](https://avatars.discourse-cdn.com/v4/letter/r/c4cdca/32.png) [@Ross\_McCormick](https://forum.inductiveautomation.com/u/Ross_McCormick)\
**Post date:** [December 5, 2024, 10:07pm UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/15 "2024-12-05T22:07:20Z")

</div>

I realize this thread is a bit old, but if you still use this method, can you share a bit of detail? Or have you found something better?  
I'm a fairly experienced linux cli user, but not so familiar with mucking around in the guts of the various GUI environments.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 6, 2024, 12:34am UTC](https://forum.inductiveautomation.com/t/ignition-client-in-kiosk-mode/21064/16 "2024-12-06T00:34:28Z")

</div>

Key pieces, after installing an XFCE desktop:

- `/usr/local/bin/visionsession` marked executable:

```python
#!/bin/bash

xfwm4 --desktop $DESKTOP &

rm -rf "$HOME/.ignition/cache" &>/dev/null

cd "$HOME/visionclientlauncher/app"
"$HOME/visionclientlauncher/app/visionclientlauncher.sh" app.home="$HOME/.ignition/clientlauncher-data"

while /bin/true ; do
	javaid="$(pgrep -u $(id -u) java)" || exit 0
	wait $javaid
done

```

- `/usr/share/xsessions/vision.desktop`

```python
[Desktop Entry]
Version=1.0
Name=Ignition Vision Session
Comment=Use this session to run Vision Client Launcher's default project as your desktop
Exec=visionsession
Icon=
Type=Application
DesktopNames=Vision

```

- `/etc/lightdm/lightdm.conf` with LightDM as the default greeter:

```python
# Autologin after 10 seconds
[SeatDefaults]
autologin-user=something
autologin-user-timeout=10
user-session=vision

```

Tweak to suit.
