Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add kiosk profile #4

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Add kiosk profile #4

wants to merge 1 commit into from

Conversation

davide125
Copy link
Contributor

This adds a profile for a kiosk-style appliance leveraging gnome-kiosk. The user can interactively customize the application run on first boot, or at image build time with something like the following in tmpfiles.d:

d     /home/kiosk/.config                      0755 kiosk kiosk - -
f     /home/kiosk/.config/gnome-initial-setup-done 0644 kiosk kiosk - -
d     /home/kiosk/.local                       0755 kiosk kiosk - -
d     /home/kiosk/.local/bin                   0755 kiosk kiosk - -
C     /home/kiosk/.local/bin/gnome-kiosk-script 0755 kiosk kiosk -

Copy link
Contributor

@behrmann behrmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat, TIL gnome-kiosk is a thing.

mkosi.profiles/kiosk/mkosi.conf Outdated Show resolved Hide resolved
Copy link
Collaborator

@DaanDeMeyer DaanDeMeyer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this run as a system service and system user I wonder? I know there's various wayland things (I think cage?) meant for this stuff as well? I'm wildly unfamiliar with this space tbh

@davide125
Copy link
Contributor Author

Shouldn't this run as a system service and system user I wonder? I know there's various wayland things (I think cage?) meant for this stuff as well? I'm wildly unfamiliar with this space tbh

No, the way this works gdm runs as a systemd system service, it autologins into the kiosk users and starts the gnome-kiosk session. Then gnome-kiosk runs a script that looks for $HOME/.local/bin/gnome-kiosk-script and runs that, which will run the application. If the script is missing instead it creates it and opens up gnome-text-editor so the user can customize it.

@septatrix
Copy link

I would name the profile gnome-kiosk to avoid confusion with the several other kiosk things out there (weston kiosk shell, cage, etc)

@davide125
Copy link
Contributor Author

I would name the profile gnome-kiosk to avoid confusion with the several other kiosk things out there (weston kiosk shell, cage, etc)

Sure, I don't have strong feelings about the name. @DaanDeMeyer are profile names with dashes ok?

@DaanDeMeyer
Copy link
Collaborator

I would name the profile gnome-kiosk to avoid confusion with the several other kiosk things out there (weston kiosk shell, cage, etc)

Sure, I don't have strong feelings about the name. @DaanDeMeyer are profile names with dashes ok?

Yeah sure no problem

Copy link
Contributor

@behrmann behrmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, haven't tried it though, still travelling.

This adds a profile for a kiosk-style appliance leveraging gnome-kiosk.
The user can customize the application run on first boot, or at image
build time with something like the following in `tmpfiles.d`:

```
d     /home/kiosk/.config                      0755 kiosk kiosk - -
f     /home/kiosk/.config/gnome-initial-setup-done 0644 kiosk kiosk - -
d     /home/kiosk/.local                       0755 kiosk kiosk - -
d     /home/kiosk/.local/bin                   0755 kiosk kiosk - -
C     /home/kiosk/.local/bin/gnome-kiosk-script 0755 kiosk kiosk -
```

Signed-off-by: Davide Cavalca <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants