After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 726268 - new topic: custom shell modes
new topic: custom shell modes
Status: RESOLVED OBSOLETE
Product: gnome-user-docs
Classification: Core
Component: sysadmin-guide
3.11.x
Other Linux
: Normal normal
: ---
Assigned To: Maintainers of Gnome user documentation
Maintainers of Gnome user documentation
winterdocs
Depends on:
Blocks:
 
 
Reported: 2014-03-13 18:39 UTC by Matthias Clasen
Modified: 2018-03-26 14:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
explains how to set up kiosk mode on gnome shell (4.03 KB, patch)
2014-11-27 18:04 UTC, Jana Svarova
none Details | Review
new page describing the set up of kiosk-like system in GNOME Shell (4.51 KB, patch)
2014-12-02 18:30 UTC, Jana Svarova
needs-work Details | Review

Description Matthias Clasen 2014-03-13 18:39:07 UTC
This may be too complex for a single-page topic, but we should explain how one can set up a kiosk-like single-application system with gnome-shell. There are a few aspects to this:

1) Lock down settings to prevent e.g. printing, terminal access, etc (already covered elsewhere)

2) Configure automatic login in /etc/gdm/custom.conf (already covered elsewhere) for a user

3) Set the default session for that user by adding a line

XSession=kiosk

to the file /var/lib/AccountsService/users/kiosk-user (assuming kiosk-user is the account you are using)

4) Create the kiosk session by writing the desktop file /usr/share/xsessions/kiosk.desktop and setting the Exec line to be:

Exec=gnome-session --session kiosk

5) Define the kiosk session by writing a custom session definition, ie a file  /usr/share/gnome-session/sessions/kiosk.session, which has a line:

RequiredComponents=kiosk-app;gnome-settings-daemon;kiosk-shell;

This makes it so that you are launching your kiosk application, gnome-settings-daemon and gnome-shell in a custom configuration

6) Create a desktop file for the kiosk-shell, /usr/share/applications/kiosk-shell.desktop, which will have a line like this:

Exec=gnome-shell --mode=kiosk

and a mode definition for gnome-shell called /usr/share/gnome-shell/modes/kiosk.json. This is a small json file defining the available gnome-shell UI. It is best to look at classic.json and initial-setup.json (in the same directory) as starting points
Comment 1 Jana Svarova 2014-11-27 18:04:29 UTC
Created attachment 291675 [details] [review]
explains how to set up kiosk mode on gnome shell
Comment 2 Jana Svarova 2014-11-27 18:06:14 UTC
Hello,
I've put Matthias' ideas together and created a kiosk-mode.page.
Feel free to review the patch, any comments are welcome!
Thank you in advance,
jana
Comment 3 Kat 2014-11-27 18:15:43 UTC
Hi Jana, can you please tidy up the indentation to be consistent with the style of gnome-user-docs?

You should probably start by explaining that kiosk mode doesn't exist in GNOME and the user should instead lockdown some behaviour to make the standard desktop slightly more restrictive.

You should also build gnome-user-docs before you resubmit the patch because it will fail and you will need to fix the error.
Comment 4 Jana Svarova 2014-12-02 18:30:57 UTC
Created attachment 292013 [details] [review]
new page describing the set up of kiosk-like system in GNOME Shell

Hello Kat,
Thank you very much for your review!

I've tried to improve the page, I've:

* deleted white spaces at the end of lines 
* further indented steps and items
* added a title to the procedure. 
* added the explanation concerning GNOME x kiosk mode.

Do you think I'm allowed to push to master? :)
Comment 5 Kat 2014-12-10 12:38:59 UTC
Review of attachment 292013 [details] [review]:

Hi, here are a few comments to get you started :)

::: system-admin-guide/C/kiosk-like-mode.page
@@ +2,3 @@
+      xmlns:its="http://www.w3.org/2005/11/its"
+      type="topic" style="task"
+      id="kiosk-mode">

The ID should match the page name. As this page is about single-application mode, then I think it would be more apropriate to call it "lockdown-single-app-mode". It's a bit long, but more accurate. To achieve a kiosk-like mode, one needs to take other steps on top of what is described here.

@@ +26,3 @@
+    <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
+       
+    <desc>How to set up a kiosk-like single-application system with gnome-shell.</desc>

The description should be more active. Such as "Set up a kiosk-like, single-application system. Given that this is gnome-user-docs, the GNOME desktop help, you shouldn't need to mention gnome-shell. If you do need to mention it, then you should use "GNOME Shell", rather than the repository name.

@@ +29,3 @@
+  </info>
+  
+  <title>Kiosk mode</title>

I think it would be best to call it "single-application mode" for accuracy.

@@ +34,3 @@
+  interactive kiosk, for example, a point-of-sale kiosk.</p>
+  <p>Kiosk mode does not exist in GNOME. However, the user can lockdown some 
+  behaviour instead to make the standard desktop more restrictive.</p>

This is odd. First you say that kiosk mode exists, then you say that it doesn't exist. You should also start with a simple use-case for enabling single application mode. Focus on the positive aspects rather than the negative.

@@ +51,3 @@
+      <p>Assuming the kiosk-user is the account you are using, set the default
+      session for the user by adding the following line
+      to the <file>/var/lib/AccountsService/users/kiosk-user</file> file.</p>

Mark up "kiosk-user" as you want people to pay attention to this. What does the default session do?

@@ +57,3 @@
+      <p>Create the kiosk session by writing the <file>/usr/share/xsessions/kiosk.desktop</file>
+      desktop file and setting the Exec line to be:</p>
+  	<code>Exec=gnome-session --session kiosk</code>

Is this the whole content of the file? If it is, mark it up the same way that we markup the lockdown pages when we create a new file. Apply this to all relevant areas on this page.
Comment 6 Denis Donici 2017-12-06 04:23:18 UTC
Any progress on this, Mathias? It will be really helpful to have a GUI in control center where it is possible to set up a complete lockdown system. As an exmple,for people with special needs and other user cases where only one specific app can run. Or maybe a limited number. However no alt-tabing, overview, dock, top bar etc. In case of just one app allowed, it starts in full screen by itself. If there are a few apps, the app overview selector with icons can be revealed at the start. After the app is initiated, it is open full screen with just close and minimize buttons in top right corner.
Comment 7 André Klapper 2017-12-06 11:59:56 UTC
Denis: This ticket is about documentation, not about software features. :)
Comment 8 Denis Donici 2017-12-06 15:38:17 UTC
Okay. I'll open a separate bug for software the.
Comment 9 GNOME Infrastructure Team 2018-03-26 14:32:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-user-docs/issues/11.