From 94ac73f8c04ff8a675d800d2a4e1719707cd265f Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 01 2023 06:09:25 +0000 Subject: import gnome-session-3.28.1-19.el8 --- diff --git a/SOURCES/50-redhat-kiosk.dconf b/SOURCES/50-redhat-kiosk.dconf new file mode 100644 index 0000000..5537b0d --- /dev/null +++ b/SOURCES/50-redhat-kiosk.dconf @@ -0,0 +1,38 @@ +[org/gnome/desktop/a11y/applications] +screen-keyboard-enabled=true + +[org/gnome/desktop/interface] +gtk-im-module='ibus' +toolkit-accessibility=true + +[org/gnome/desktop/lockdown] +disable-command-line=true +disable-lock-screen=true +disable-application-handlers=true +disable-user-switching=true +user-administration-disabled=true + +[org/gnome/desktop/wm/keybindings] +always-on-top=@as [] +begin-move=@as [] +begin-resize=@as [] +close=@as [] +lower=@as [] +maximize=@as [] +maximize-horizontally=@as [] +maximize-vertically=@as [] +minimize=@as [] +panel-main-menu=@as [] +panel-run-dialog=@as [] +raise=@as [] +raise-or-lower=@as [] +show-desktop=@as [] +toggle-fullscreen=@as [] +toggle-maximized=@as [] +unmaximize=@as [] + +[org/gnome/desktop/wm/preferences] +num-workspaces=1 + +[org/gnome/mutter] +dynamic-workspaces=false diff --git a/SOURCES/50-redhat-kiosk.dconf.locks b/SOURCES/50-redhat-kiosk.dconf.locks new file mode 100644 index 0000000..f8f173d --- /dev/null +++ b/SOURCES/50-redhat-kiosk.dconf.locks @@ -0,0 +1,8 @@ +/org/gnome/desktop/a11y/applications/screen-keyboard-enabled +/org/gnome/desktop/interface/gtk-im-module +/org/gnome/desktop/interface/toolkit-accessibility +/org/gnome/desktop/lockdown/disable-command-line +/org/gnome/desktop/lockdown/disable-lock-screen +/org/gnome/desktop/lockdown/disable-application-handlers +/org/gnome/desktop/lockdown/disable-user-switching +/org/gnome/desktop/lockdown/user-administration-disabled diff --git a/SOURCES/com.redhat.KioskWithKeyboard.WindowManager.desktop b/SOURCES/com.redhat.KioskWithKeyboard.WindowManager.desktop new file mode 100644 index 0000000..feeae1d --- /dev/null +++ b/SOURCES/com.redhat.KioskWithKeyboard.WindowManager.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Type=Application +Name=Mutter +Comment=Window manager +Exec=env DCONF_PROFILE=redhat-kiosk /usr/bin/gnome-shell --mode=redhat-kiosk +Categories=GNOME;GTK;Core; +OnlyShowIn=GNOME; +NoDisplay=true +X-GNOME-Autostart-Phase=DisplayServer +X-GNOME-Provides=windowmanager; +X-GNOME-Autostart-Notify=true +X-GNOME-AutoRestart=false +X-GNOME-HiddenUnderSystemd=true diff --git a/SOURCES/com.redhat.KioskWithKeyboard.desktop b/SOURCES/com.redhat.KioskWithKeyboard.desktop new file mode 100644 index 0000000..ef51dba --- /dev/null +++ b/SOURCES/com.redhat.KioskWithKeyboard.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=Kiosk (with on-screen keyboard) +Comment=Kiosk mode with on-screen keyboard +Exec=/usr/bin/env DCONF_PROFILE=redhat-kiosk /usr/bin/gnome-session --session=redhat-kiosk-with-keyboard +DesktopNames=Red-Hat-Kiosk;GNOME; + diff --git a/SOURCES/redhat-kiosk b/SOURCES/redhat-kiosk index 154df7c..b42b293 100755 --- a/SOURCES/redhat-kiosk +++ b/SOURCES/redhat-kiosk @@ -23,4 +23,7 @@ EOF touch ~/.config/gnome-initial-setup-done fi +export DCONF_PROFILE=redhat-kiosk +systemctl --user import-environment DCONF_PROFILE + exec ~/.local/bin/redhat-kiosk "$@" diff --git a/SOURCES/redhat-kiosk-with-keyboard.session b/SOURCES/redhat-kiosk-with-keyboard.session new file mode 100644 index 0000000..bb3364c --- /dev/null +++ b/SOURCES/redhat-kiosk-with-keyboard.session @@ -0,0 +1,3 @@ +[GNOME Session] +Name=Kiosk +RequiredComponents=com.redhat.KioskWithKeyboard.WindowManager;com.redhat.Kiosk.Script; diff --git a/SOURCES/redhat-kiosk.dconf.profile b/SOURCES/redhat-kiosk.dconf.profile new file mode 100644 index 0000000..3dd2907 --- /dev/null +++ b/SOURCES/redhat-kiosk.dconf.profile @@ -0,0 +1,5 @@ +user-db:user +system-db:redhat-kiosk +system-db:local +system-db:site +system-db:distro diff --git a/SOURCES/redhat-kiosk.json b/SOURCES/redhat-kiosk.json new file mode 100644 index 0000000..d467ae7 --- /dev/null +++ b/SOURCES/redhat-kiosk.json @@ -0,0 +1,11 @@ +{ + "parentMode": "user", + "hasOverview": false, + "hasRunDialog": false, + "allowSettings": false, + "panel": { "left": [""], + "center": [], + "right": ["keyboard"] + } +} + diff --git a/SPECS/gnome-session.spec b/SPECS/gnome-session.spec index cbaed0f..76aca8e 100644 --- a/SPECS/gnome-session.spec +++ b/SPECS/gnome-session.spec @@ -9,7 +9,7 @@ Name: gnome-session Version: 3.28.1 -Release: 14%{?dist} +Release: 19%{?dist} Summary: GNOME session manager License: GPLv2+ @@ -17,12 +17,26 @@ URL: http://www.gnome.org Source0: http://download.gnome.org/sources/gnome-session/3.28/%{name}-%{version}.tar.xz Source1: gnome.desktop Source2: gnome-xorg.desktop -Source3: com.redhat.Kiosk.WindowManager.desktop -Source4: com.redhat.Kiosk.Script.desktop -Source5: com.redhat.Kiosk.desktop -Source6: redhat-kiosk.session -Source7: redhat-kiosk -Source8: 20-redhat-kiosk.conf + +Source3: com.redhat.Kiosk.Script.desktop + +Source4: com.redhat.Kiosk.desktop +Source5: com.redhat.KioskWithKeyboard.desktop + +Source6: com.redhat.Kiosk.WindowManager.desktop +Source7: com.redhat.KioskWithKeyboard.WindowManager.desktop +Source8: redhat-kiosk.json + +Source9: redhat-kiosk.session +Source10: redhat-kiosk-with-keyboard.session + +Source11: redhat-kiosk + +Source12: 20-redhat-kiosk.conf + +Source13: 50-redhat-kiosk.dconf +Source14: 50-redhat-kiosk.dconf.locks +Source15: redhat-kiosk.dconf.profile Patch0: 0001-gnome-session-don-t-validate-shell-before-using-it.patch @@ -133,17 +147,36 @@ cp $RPM_SOURCE_DIR/gnome.desktop $RPM_BUILD_ROOT%{_datadir}/wayland-sessions/gno cp $RPM_SOURCE_DIR/gnome-xorg.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions cp $RPM_SOURCE_DIR/gnome-xorg.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions/gnome.desktop -install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.WindowManager.desktop -t $RPM_BUILD_ROOT/%{_datadir}/applications install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.Script.desktop -t $RPM_BUILD_ROOT%{_datadir}/applications + +install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.WindowManager.desktop -t $RPM_BUILD_ROOT/%{_datadir}/applications +install -D $RPM_SOURCE_DIR/com.redhat.KioskWithKeyboard.WindowManager.desktop -t $RPM_BUILD_ROOT/%{_datadir}/applications + install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.desktop -t $RPM_BUILD_ROOT%{_datadir}/xsessions +install -D $RPM_SOURCE_DIR/com.redhat.KioskWithKeyboard.desktop -t $RPM_BUILD_ROOT%{_datadir}/xsessions + +install -D $RPM_SOURCE_DIR/redhat-kiosk.json -t $RPM_BUILD_ROOT%{_datadir}/gnome-shell/modes + install -D $RPM_SOURCE_DIR/redhat-kiosk.session -t $RPM_BUILD_ROOT%{_datadir}/gnome-session/sessions +install -D $RPM_SOURCE_DIR/redhat-kiosk-with-keyboard.session -t $RPM_BUILD_ROOT%{_datadir}/gnome-session/sessions + install -D $RPM_SOURCE_DIR/redhat-kiosk -t $RPM_BUILD_ROOT%{_bindir} + +install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d + +install -D $RPM_SOURCE_DIR/50-redhat-kiosk.dconf $RPM_BUILD_ROOT%{_sysconfdir}/dconf/db/redhat-kiosk.d/50-redhat-kiosk +install -D $RPM_SOURCE_DIR/50-redhat-kiosk.dconf.locks $RPM_BUILD_ROOT%{_sysconfdir}/dconf/db/redhat-kiosk.d/locks/50-redhat-kiosk +install -D $RPM_SOURCE_DIR/redhat-kiosk.dconf.profile $RPM_BUILD_ROOT%{_sysconfdir}/dconf/profile/redhat-kiosk + install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d %find_lang %{po_package} %ldconfig_scriptlets +%posttrans +dconf update + %files xsession %{_datadir}/xsessions/* %exclude %{_datadir}/xsessions/com.redhat.Kiosk.desktop @@ -152,10 +185,17 @@ install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X1 %{_datadir}/wayland-sessions/* %files kiosk-session -%{_datadir}/applications/com.redhat.Kiosk.WindowManager.desktop +%{_sysconfdir}/dconf/db/redhat-kiosk.d/50-redhat-kiosk +%{_sysconfdir}/dconf/db/redhat-kiosk.d/locks/50-redhat-kiosk +%{_sysconfdir}/dconf/profile/redhat-kiosk %{_datadir}/applications/com.redhat.Kiosk.Script.desktop +%{_datadir}/applications/com.redhat.Kiosk.WindowManager.desktop +%{_datadir}/applications/com.redhat.KioskWithKeyboard.WindowManager.desktop +%{_datadir}/gnome-shell/modes/redhat-kiosk.json %{_datadir}/xsessions/com.redhat.Kiosk.desktop +%{_datadir}/xsessions/com.redhat.KioskWithKeyboard.desktop %{_datadir}/gnome-session/sessions/redhat-kiosk.session +%{_datadir}/gnome-session/sessions/redhat-kiosk-with-keyboard.session %{_datadir}/X11/xorg.conf.d/20-redhat-kiosk.conf %{_bindir}/redhat-kiosk @@ -175,6 +215,29 @@ install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X1 %{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml %changelog +* Tue Feb 28 2023 Ray Strode - 3.28.1-19 +- Another fix + Related: #2070976 + +* Tue Feb 28 2023 Ray Strode - 3.28.1-18 +- Fix issue introduced in last build + Related: #2070976 + +* Tue Feb 28 2023 Ray Strode - 3.28.1-17 +- Don't force kiosk profile for user in non-kiosk sessions + after the user has been used for a kiosk session once + Related: #2070976 + +* Tue Feb 28 2023 Ray Strode - 3.28.1-16 +- Fix glitch where enabling on-screen keyboard requires initial + reboot + Related: #2070976 + +* Mon Feb 27 2023 Ray Strode - 3.28.1-15 +- Add new shell based variant of kiosk mode that supports + on-screen keyboard + Resolves: #2070976 + * Tue Dec 21 2021 Ray Strode - 3.28.1-14 - Make some debug spew only show up if debugging is enabled Resolves: #1877997