GNOME Bugzilla – Bug 726268
new topic: custom shell modes
Last modified: 2018-03-26 14:32:51 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
Created attachment 291675 [details] [review] explains how to set up kiosk mode on gnome shell
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
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.
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? :)
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.
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.
Denis: This ticket is about documentation, not about software features. :)
Okay. I'll open a separate bug for software the.
-- 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.