Compare commits

..

No commits in common. "c10s" and "c8" have entirely different histories.
c10s ... c8

28 changed files with 2240 additions and 268 deletions

128
.gitignore vendored
View File

@ -1,127 +1 @@
gnome-session-2.31.2.tar.bz2 SOURCES/gnome-session-3.28.1.tar.xz
gnome-session-2.31.6.tar.bz2
/gnome-session-2.32.0.tar.bz2
/gnome-session-2.91.0.tar.bz2
/gnome-session-2.91.4.tar.bz2
/gnome-session-2.91.6.tar.bz2
/gnome-session-2.91.90.tar.bz2
/gnome-session-2.91.91.tar.bz2
/gnome-session-2.91.91.2.tar.bz2
/gnome-session-2.91.91.3.tar.bz2
/gnome-session-2.91.92.tar.bz2
/gnome-session-2.91.93.tar.bz2
/gnome-session-2.91.94.tar.bz2
/gnome-session-3.0.0.tar.bz2
/gnome-session-3.0.1.tar.bz2
/gnome-session-3.1.2.tar.xz
/gnome-session-3.1.3.tar.xz
/gnome-session-3.1.91.tar.xz
/gnome-session-3.1.92.tar.xz
/gnome-session-3.2.0.tar.xz
/gnome-session-3.2.1.tar.xz
/gnome-session-3.3.1.tar.xz
/gnome-session-3.3.2.tar.xz
/gnome-session-3.3.3.tar.xz
/gnome-session-3.3.5.tar.xz
/gnome-session-3.3.90.tar.xz
/gnome-session-3.3.92.tar.xz
/gnome-session-3.4.0.tar.xz
/gnome-session-3.4.1.tar.xz
/gnome-session-3.4.2.tar.xz
/gnome-session-3.5.2.tar.xz
/gnome-session-3.5.4.tar.xz
/gnome-session-3.5.5.tar.xz
/gnome-session-3.5.91.tar.xz
/gnome-session-3.6.0.tar.xz
/gnome-session-3.6.1.tar.xz
/gnome-session-3.7.1.tar.xz
/gnome-session-3.7.2.tar.xz
/gnome-session-3.7.3.tar.xz
/gnome-session-3.7.4.tar.xz
/gnome-session-3.7.90.tar.xz
/gnome-session-3.7.91.tar.xz
/gnome-session-3.7.92.tar.xz
/gnome-session-3.8.0.tar.xz
/gnome-session-3.8.1.tar.xz
/gnome-session-3.8.2.tar.xz
/gnome-session-3.8.2.1.tar.xz
/gnome-session-3.9.5.tar.xz
/gnome-session-3.9.90.tar.xz
/gnome-session-3.9.91.tar.xz
/gnome-session-3.10.0.tar.xz
/gnome-session-3.10.1.tar.xz
/gnome-session-3.11.1.tar.xz
/gnome-session-3.11.2.tar.xz
/gnome-session-3.11.3.tar.xz
/gnome-session-3.11.4.tar.xz
/gnome-session-3.11.92.tar.xz
/gnome-session-3.12.0.tar.xz
/gnome-session-3.12.1.tar.xz
/gnome-session-3.13.3.tar.xz
/gnome-session-3.14.0.tar.xz
/gnome-session-3.15.3.tar.xz
/gnome-session-3.15.4.tar.xz
/gnome-session-3.15.90.tar.xz
/gnome-session-3.15.92.tar.xz
/gnome-session-3.16.0.tar.xz
/gnome-session-3.17.92.tar.xz
/gnome-session-3.18.0.tar.xz
/gnome-session-3.18.1.tar.xz
/gnome-session-3.18.1.1.tar.xz
/gnome-session-3.18.1.2.tar.xz
/gnome-session-3.19.2.tar.xz
/gnome-session-3.19.4.tar.xz
/gnome-session-3.19.91.tar.xz
/gnome-session-3.19.92.tar.xz
/gnome-session-3.20.0.tar.xz
/gnome-session-3.20.1.tar.xz
/gnome-session-3.21.3.tar.xz
/gnome-session-3.21.4.tar.xz
/gnome-session-3.21.90.tar.xz
/gnome-session-3.22.0.tar.xz
/gnome-session-3.23.2.tar.xz
/gnome-session-3.23.4.1.tar.xz
/gnome-session-3.23.91.tar.xz
/gnome-session-3.23.92.tar.xz
/gnome-session-3.24.0.tar.xz
/gnome-session-3.24.1.tar.xz
/gnome-session-3.25.3.tar.xz
/gnome-session-3.25.4.tar.xz
/gnome-session-3.25.90.tar.xz
/gnome-session-3.25.92.tar.xz
/gnome-session-3.26.0.tar.xz
/gnome-session-3.26.1.tar.xz
/gnome-session-3.27.4.tar.xz
/gnome-session-3.27.90.1.tar.xz
/gnome-session-3.27.91.tar.xz
/gnome-session-3.27.92.tar.xz
/gnome-session-3.28.0.tar.xz
/gnome-session-3.28.1.tar.xz
/gnome-session-3.29.90.tar.xz
/gnome-session-3.30.0.tar.xz
/gnome-session-3.30.1.tar.xz
/gnome-session-3.31.4.tar.xz
/gnome-session-3.32.0.tar.xz
/gnome-session-3.33.4.tar.xz
/gnome-session-3.33.90.tar.xz
/gnome-session-3.33.92.tar.xz
/gnome-session-3.34.0.tar.xz
/gnome-session-3.34.1.tar.xz
/gnome-session-3.34.2.tar.xz
/gnome-session-3.35.3.tar.xz
/gnome-session-3.36.0.tar.xz
/gnome-session-3.37.0.tar.xz
/gnome-session-3.38.0.tar.xz
/gnome-session-40.beta.tar.xz
/gnome-session-40.0.tar.xz
/gnome-session-40.1.tar.xz
/gnome-session-40.1.1.tar.xz
/gnome-session-41.3.tar.xz
/gnome-session-42.0.tar.xz
/gnome-session-43.0.tar.xz
/gnome-session-44.rc.tar.xz
/gnome-session-44.0.tar.xz
/gnome-session-45.0.tar.xz
/gnome-session-46.alpha.tar.xz
/gnome-session-46.rc.tar.xz
/gnome-session-46.0.tar.xz

View File

@ -1,4 +1,4 @@
From e3d6f1c1d342d0c74f2125ea0efa2a9669aaa8df Mon Sep 17 00:00:00 2001 From 15be30033e5b24a8c84a4d4338da0e8a3930303a Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com> From: Hans de Goede <hdegoede@redhat.com>
Date: Tue, 14 Aug 2018 14:49:59 +0200 Date: Tue, 14 Aug 2018 14:49:59 +0200
Subject: [PATCH] Fedora: Set grub boot-flags on shutdown / reboot Subject: [PATCH] Fedora: Set grub boot-flags on shutdown / reboot
@ -18,10 +18,37 @@ the boot-menu not being hidden.
1 file changed, 12 insertions(+) 1 file changed, 12 insertions(+)
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index 6839a02d..589efb02 100644 index 3cf421cd..924767af 100644
--- a/gnome-session/gsm-manager.c --- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c +++ b/gnome-session/gsm-manager.c
@@ -3823,10 +3823,22 @@ do_query_end_session_exit (GsmManager *manager) @@ -3629,51 +3629,63 @@ on_shutdown_prepared (GsmSystem *system,
gboolean success,
GsmManager *manager)
{
g_debug ("GsmManager: on_shutdown_prepared, success: %d", success);
g_signal_handlers_disconnect_by_func (system, on_shutdown_prepared, manager);
if (success) {
/* move to end-session phase */
g_assert (manager->priv->phase == GSM_MANAGER_PHASE_QUERY_END_SESSION);
manager->priv->phase++;
start_phase (manager);
} else {
disconnect_shell_dialog_signals (manager);
gsm_shell_close_end_session_dialog (manager->priv->shell);
/* back to running phase */
cancel_end_session (manager);
}
}
static gboolean
do_query_end_session_exit (GsmManager *manager)
{
gboolean reboot = FALSE;
gboolean shutdown = FALSE;
switch (manager->priv->logout_type) {
case GSM_MANAGER_LOGOUT_LOGOUT:
break; break;
case GSM_MANAGER_LOGOUT_REBOOT: case GSM_MANAGER_LOGOUT_REBOOT:
case GSM_MANAGER_LOGOUT_REBOOT_INTERACT: case GSM_MANAGER_LOGOUT_REBOOT_INTERACT:
@ -44,6 +71,20 @@ index 6839a02d..589efb02 100644
shutdown = TRUE; shutdown = TRUE;
break; break;
default: default:
-- g_warning ("Unexpected logout type %d in do_query_end_session_exit()",
2.28.0 manager->priv->logout_type);
break;
}
if (reboot || shutdown) {
g_signal_connect (manager->priv->system, "shutdown-prepared",
G_CALLBACK (on_shutdown_prepared), manager);
gsm_system_prepare_shutdown (manager->priv->system, reboot);
return FALSE; /* don't leave query end session yet */
}
return TRUE; /* go to end session phase */
}
--
2.31.1

View File

@ -0,0 +1,63 @@
From a42ccfa0e8be2e658d081c3637ff0f43e2b38d3c Mon Sep 17 00:00:00 2001
From: Takao Fujiwara <tfujiwar@redhat.com>
Date: Tue, 22 Oct 2019 20:44:04 +0900
Subject: [PATCH] gnome-session: avoid setting LC_ unless LANG and region
disagree
At the moment, gnome-session explicitly sets the various LC_ variables
to the user configured region.
That's unnecessary, though. If the LC_ variables are unset,
applications know to use LANG. Furthermore, setting the LC_ variables
makes it so you can't override them with LANG anymore.
This commit makes sure the LC_ variables only get set when absolutely
necesary. That is, when they are different than LANG.
https://gitlab.gnome.org/GNOME/gnome-session/issues/37
---
gnome-session/gnome-session.in | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
index 7d967d34..90566f1d 100755
--- a/gnome-session/gnome-session.in
+++ b/gnome-session/gnome-session.in
@@ -1,25 +1,29 @@
#!/bin/sh
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
[ -n "$SHELL" ]; then
if [ "$1" != '-l' ]; then
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
else
shift
fi
fi
SETTING=$(gsettings get org.gnome.system.locale region)
REGION=${SETTING#\'}
REGION=${REGION%\'}
if [ -n "$REGION" ]; then
- export LC_TIME=$REGION
- export LC_NUMERIC=$REGION
- export LC_MONETARY=$REGION
- export LC_MEASUREMENT=$REGION
- export LC_PAPER=$REGION
+ unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER
+
+ if [ "$LANG" != "$REGION" ] ; then
+ export LC_TIME=$REGION
+ export LC_NUMERIC=$REGION
+ export LC_MONETARY=$REGION
+ export LC_MEASUREMENT=$REGION
+ export LC_PAPER=$REGION
+ fi
fi
exec @libexecdir@/gnome-session-binary "$@"
--
2.41.0.rc2

View File

@ -0,0 +1,53 @@
From ae60cb25636b6f68d087591de11fd681f6f8c918 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 19 Nov 2019 09:29:16 -0500
Subject: [PATCH] gnome-session: don't validate shell before using it
Users sometimes set their shell to an invalid shell to prevent
login from proceeding.
GNOME on Wayland still allows login in these cases.
This commit makes the behavior match expectations by skipping
shell validity checks when deciding to run though a login shell.
---
gnome-session/gnome-session.in | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
index ce63df56..7d967d34 100755
--- a/gnome-session/gnome-session.in
+++ b/gnome-session/gnome-session.in
@@ -1,28 +1,25 @@
#!/bin/sh
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
- [ -n "$SHELL" ] &&
- grep -q "$SHELL" /etc/shells &&
- ! (echo "$SHELL" | grep -q "false") &&
- ! (echo "$SHELL" | grep -q "nologin"); then
+ [ -n "$SHELL" ]; then
if [ "$1" != '-l' ]; then
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
else
shift
fi
fi
SETTING=$(gsettings get org.gnome.system.locale region)
REGION=${SETTING#\'}
REGION=${REGION%\'}
if [ -n "$REGION" ]; then
export LC_TIME=$REGION
export LC_NUMERIC=$REGION
export LC_MONETARY=$REGION
export LC_MEASUREMENT=$REGION
export LC_PAPER=$REGION
fi
exec @libexecdir@/gnome-session-binary "$@"
--
2.21.0

View File

@ -0,0 +1,107 @@
From 7cdf11b1b4b04f8cd366316f6c50a9bd0b4e67d3 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 6 May 2020 13:45:50 -0400
Subject: [PATCH] main: only log check-accelerated errors when debugging
enabled
The journal currently gets spammed with messages like:
gnome-session: gnome-session-check-accelerated: GL Helper exited with code 512
gnome-session: libEGL warning: DRI2: failed to authenticate
gnome-session: gnome-session-check-accelerated: GLES Helper exited with code 512
if a the machine lacks accelerated graphics. But lacking accelerated
graphics isn't actually an error (many servers do).
This commit changes the messages to only show when debugging is enabled.
---
gnome-session/main.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gnome-session/main.c b/gnome-session/main.c
index b1ac3850..0e75eecf 100644
--- a/gnome-session/main.c
+++ b/gnome-session/main.c
@@ -193,72 +193,78 @@ require_dbus_session (int argc,
g_return_val_if_fail (!g_str_has_prefix (argv[0], "dbus-launch"),
TRUE);
/* +2 for our new arguments, +1 for NULL */
new_argv = g_malloc ((argc + 3) * sizeof (*argv));
new_argv[0] = "dbus-launch";
new_argv[1] = "--exit-with-session";
for (i = 0; i < argc; i++) {
new_argv[i + 2] = argv[i];
}
new_argv[i + 2] = NULL;
if (!execvp ("dbus-launch", new_argv)) {
g_set_error (error,
G_SPAWN_ERROR,
G_SPAWN_ERROR_FAILED,
"No session bus and could not exec dbus-launch: %s",
g_strerror (errno));
return FALSE;
}
/* Should not be reached */
return TRUE;
}
static gboolean
check_gl (GError **error)
{
int status;
+ g_autofree char *error_output = NULL;
+
char *argv[] = { LIBEXECDIR "/gnome-session-check-accelerated", NULL };
if (getenv ("DISPLAY") == NULL) {
/* Not connected to X11, someone else will take care of checking GL */
return TRUE;
}
- if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, &gl_renderer, NULL,
+ if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, &gl_renderer, &error_output,
&status, error)) {
return FALSE;
}
+ if (error_output != NULL) {
+ g_debug ("%s", error_output);
+ }
+
return g_spawn_check_exit_status (status, error);
}
static void
initialize_gio (void)
{
char *disable_fuse = NULL;
char *use_vfs = NULL;
disable_fuse = g_strdup (g_getenv ("GVFS_DISABLE_FUSE"));
use_vfs = g_strdup (g_getenv ("GIO_USE_VFS"));
g_setenv ("GVFS_DISABLE_FUSE", "1", TRUE);
g_setenv ("GIO_USE_VFS", "local", TRUE);
g_vfs_get_default ();
if (use_vfs) {
g_setenv ("GIO_USE_VFS", use_vfs, TRUE);
g_free (use_vfs);
} else {
g_unsetenv ("GIO_USE_VFS");
}
if (disable_fuse) {
g_setenv ("GVFS_DISABLE_FUSE", disable_fuse, TRUE);
g_free (disable_fuse);
} else {
g_unsetenv ("GVFS_DISABLE_FUSE");
}
}
--
2.33.1

View File

@ -0,0 +1,124 @@
From 06271eea2a12970fbe73b3d3f2c6ae5d79339379 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 29 Jun 2020 15:15:48 -0400
Subject: [PATCH] session-selector: show cursor explicitly
Normally the window manager would show the cursor at start up, but
the session selector runs when no window manager is present.
This commit makes the session selector explicitly set a cursor, so
users can interact with the dialog using the mouse.
---
tools/gnome-session-selector.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/gnome-session-selector.c b/tools/gnome-session-selector.c
index 71892c43..9225639e 100644
--- a/tools/gnome-session-selector.c
+++ b/tools/gnome-session-selector.c
@@ -594,60 +594,61 @@ auto_save_next_session_if_needed (void)
static int
compare_sessions (GtkTreeModel *model,
GtkTreeIter *a,
GtkTreeIter *b,
gpointer data)
{
char *name_a, *name_b;
int result;
gtk_tree_model_get (model, a, 0, &name_a, -1);
gtk_tree_model_get (model, b, 0, &name_b, -1);
result = g_utf8_collate (name_a, name_b);
g_free (name_a);
g_free (name_b);
return result;
}
static void
on_map (GtkWidget *widget,
gpointer data)
{
gdk_window_focus (gtk_widget_get_window (widget), GDK_CURRENT_TIME);
}
int
main (int argc, char *argv[])
{
+ GdkCursor *cursor;
GtkWidget *window;
GtkWidget *widget;
GtkCellRenderer *cell;
GtkTreeViewColumn *column;
GtkTreeSelection *selection;
GError *error;
if (getenv ("SESSION_MANAGER") != NULL)
return 1;
gtk_init (&argc, &argv);
if (argc > 1) {
g_print ("create and select session\n");
if (!create_and_select_session (argv[1]))
return 1;
else
return 0;
}
builder = gtk_builder_new ();
gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
error = NULL;
if (!gtk_builder_add_from_file (builder, GTKBUILDER_DIR "/" "session-selector.ui", &error)) {
g_warning ("Could not load file 'session-selector.ui': %s", error->message);
exit (1);
}
window = (GtkWidget *) gtk_builder_get_object (builder, "main-window");
@@ -663,36 +664,40 @@ main (int argc, char *argv[])
session_list = (GtkWidget *) gtk_builder_get_object (builder, "session-list");
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (session_list));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
populate_session_list (session_list);
cell = gtk_cell_renderer_text_new ();
g_signal_connect (cell, "edited", G_CALLBACK (on_row_edited), NULL);
column = gtk_tree_view_column_new_with_attributes ("", cell, "text", 0, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (session_list), GTK_TREE_VIEW_COLUMN (column));
g_signal_connect (session_list, "row-activated", G_CALLBACK (on_row_activated), NULL);
g_signal_connect (selection, "changed",
G_CALLBACK (on_selection_changed), NULL);
widget = (GtkWidget *) gtk_builder_get_object (builder, "new-session");
g_signal_connect (widget, "clicked", G_CALLBACK (on_new_session_clicked), NULL);
widget = (GtkWidget *) gtk_builder_get_object (builder, "remove-session");
g_signal_connect (widget, "clicked", G_CALLBACK (on_remove_session_clicked), NULL);
widget = (GtkWidget *) gtk_builder_get_object (builder, "rename-session");
g_signal_connect (widget, "clicked", G_CALLBACK (on_rename_session_clicked), NULL);
widget = (GtkWidget *) gtk_builder_get_object (builder, "continue-button");
g_signal_connect (widget, "clicked", G_CALLBACK (on_continue_clicked), NULL);
g_signal_connect (window, "map", G_CALLBACK (on_map), NULL);
gtk_widget_show (window);
+ cursor = gdk_cursor_new_from_name (gtk_widget_get_display (window),
+ "default");
+ gdk_window_set_cursor (gtk_widget_get_window (window), cursor);
+
gtk_main ();
auto_save_next_session_if_needed ();
return 0;
}
--
2.26.0

View File

@ -0,0 +1,3 @@
Section "ServerFlags"
Option "DontVTSwitch" "on"
EndSection

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,5 @@
[Desktop Entry]
Name=Kiosk
Type=Application
Exec=redhat-kiosk

View File

@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Name=Mutter
Comment=Window manager
Exec=/usr/bin/mutter
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

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Name=Kiosk
Comment=Kiosk mode
Exec=/usr/bin/gnome-session --session=redhat-kiosk
DesktopNames=Red-Hat-Kiosk;GNOME;

View File

@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Name=GNOME Shell Kiosk Mode
Comment=Window manager
Exec=env DCONF_PROFILE=redhatkiosk /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

View File

@ -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=redhatkiosk /usr/bin/gnome-session --session=redhat-kiosk-with-keyboard
DesktopNames=Red-Hat-Kiosk;GNOME;

View File

@ -0,0 +1,27 @@
[Desktop Entry]
Name[de]=Standard (X11 Anzeige-Server)
Name[es]=Estándar (servidor gráfico X11)
Name[fr]=Standard (serveur affichage X11)
Name[it]=Standard (server grafico X11)
Name[ja]= (X11 )
Name[ko]= (X11 )
Name[pt_BR]=Padrão (servidor de exibição X11)
Name[ru]=Стандартный (дисплейный сервер X11)
Name[zh_CN]=X11
Name[zh_TW]=X11
Name=Standard (X11 display server)
Comment[de]=Diese Sitzung meldet Sie bei GNOME an
Comment[es]=Esta sesión accede a GNOME
Comment[fr]=Cette session vous connecte dans GNOME
Comment[it]=Questa sessione esegue l'accesso in GNOME
Comment[ja]= GNOME
Comment[ko]=
Comment[pt_BR]=Essa sessão o leva ao GNOME
Comment[ru]=Этот сеанс позволяет вам войти в GNOME
Comment[zh_CN]= GNOME
Comment[zh_TW]= GNOME
Comment=This session logs you into GNOME
Exec=gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME

27
SOURCES/gnome.desktop Normal file
View File

@ -0,0 +1,27 @@
[Desktop Entry]
Name[de]=Standard (Wayland Anzeige-Server)
Name[es]=Estándar (servidor gráfico Wayland)
Name[fr]=Standard (serveur affichage Wayland)
Name[it]=Standard (server grafico Wayland)
Name[ja]= (Wayland )
Name[ko]= (Wayland )
Name[pt_BR]=Padrão (servidor de exibição Wayland)
Name[ru]=Стандартный (дисплейный сервер Wayland)
Name[zh_CN]=Wayland
Name[zh_TW]=Wayland
Name=Standard (Wayland display server)
Comment[de]=Diese Sitzung meldet Sie bei GNOME an
Comment[es]=Esta sesión accede a GNOME
Comment[fr]=Cette session vous connecte dans GNOME
Comment[it]=Questa sessione esegue l'accesso in GNOME
Comment[ja]= GNOME
Comment[ko]=
Comment[pt_BR]=Essa sessão o leva ao GNOME
Comment[ru]=Этот сеанс позволяет вам войти в GNOME
Comment[zh_CN]= GNOME
Comment[zh_TW]= GNOME
Comment=This session logs you into GNOME
Exec=gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME

29
SOURCES/redhat-kiosk Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
if [ ! -e ~/.local/bin/redhat-kiosk ]; then
mkdir -p ~/.local/bin ~/.config
cat > ~/.local/bin/redhat-kiosk << EOF
#!/bin/sh
# This script is located in ~/.local/bin.
# It's provided as an example script to show how
# the kiosk session works. At the moment, the script
# just starts a text editor open to itself, but it
# should get customized to instead start a full screen
# application designed for the kiosk deployment.
# The "while true" bit just makes sure the application gets
# restarted if it dies for whatever reason.
while true; do
gedit ~/.local/bin/redhat-kiosk
done
EOF
chmod +x ~/.local/bin/redhat-kiosk
touch ~/.config/gnome-initial-setup-done
fi
export DCONF_PROFILE=redhatkiosk
systemctl --user import-environment DCONF_PROFILE
exec ~/.local/bin/redhat-kiosk "$@"

View File

@ -0,0 +1,3 @@
[GNOME Session]
Name=Kiosk
RequiredComponents=com.redhat.KioskWithKeyboard.WindowManager;com.redhat.Kiosk.Script;

View File

@ -0,0 +1,5 @@
user-db:user
system-db:redhatkiosk
system-db:local
system-db:site
system-db:distro

11
SOURCES/redhat-kiosk.json Normal file
View File

@ -0,0 +1,11 @@
{
"parentMode": "user",
"hasOverview": false,
"hasRunDialog": false,
"allowSettings": false,
"panel": { "left": [""],
"center": [],
"right": ["keyboard"]
}
}

View File

@ -0,0 +1,3 @@
[GNOME Session]
Name=Kiosk
RequiredComponents=com.redhat.Kiosk.WindowManager;com.redhat.Kiosk.Script;

1650
SPECS/gnome-session.spec Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}

View File

@ -1,130 +0,0 @@
%define po_package gnome-session-46
%if 0%{?fedora}
%else
%global with_session_selector 1
%endif
%global tarball_version %%(echo %{version} | tr '~' '.')
Name: gnome-session
Version: 46.0
Release: %autorelease
Summary: GNOME session manager
License: GPL-2.0-or-later
URL: https://gitlab.gnome.org/GNOME/gnome-session
Source: https://download.gnome.org/sources/gnome-session/46/%{name}-%{tarball_version}.tar.xz
# Blacklist NV30: https://bugzilla.redhat.com/show_bug.cgi?id=745202
Patch: gnome-session-3.3.92-nv30.patch
Patch: gnome-session-3.6.2-swrast.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=772421
Patch: 0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
# For https://fedoraproject.org/w/index.php?title=Changes/HiddenGrubMenu
# This should go upstream once systemd has a generic interface for this
Patch: 0001-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch
BuildRequires: meson
BuildRequires: gcc
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(gnome-desktop-3.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xtrans)
BuildRequires: pkgconfig(xtst)
# this is so the configure checks find /usr/bin/halt etc.
BuildRequires: usermode
BuildRequires: gettext
BuildRequires: intltool
BuildRequires: xmlto
BuildRequires: /usr/bin/xsltproc
# an artificial requires to make sure we get dconf, for now
Requires: dconf
Requires: system-logos
# Needed for gnome-settings-daemon
Requires: control-center-filesystem
Requires: gsettings-desktop-schemas >= 0.1.7
Requires: dbus
Obsoletes: gnome-session-xsession <= 46.0
# https://github.com/containers/composefs/pull/229#issuecomment-1838735764
%if 0%{?rhel} >= 10
ExcludeArch: %{ix86}
%endif
%description
gnome-session manages a GNOME desktop or GDM login session. It starts up
the other core GNOME components and handles logout and saving the session.
%package wayland-session
Summary: Desktop file for wayland based gnome session
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: xorg-x11-server-Xwayland%{?_isa} >= 1.20.99.1
Requires: gnome-shell
%description wayland-session
Desktop file to add GNOME on wayland to display manager session menu.
%prep
%autosetup -p1 -n %{name}-%{tarball_version}
%build
%meson \
%if 0%{?with_session_selector}
-Dsession_selector=true \
%endif
%{nil}
%meson_build
%install
%meson_install
rm -rf $RPM_BUILD_ROOT%{_datadir}/xsessions
%find_lang %{po_package}
%ldconfig_scriptlets
%files wayland-session
%{_datadir}/wayland-sessions/*
%files -f %{po_package}.lang
%doc AUTHORS NEWS README
%license COPYING
%{_bindir}/gnome-session*
%{_libexecdir}/gnome-session-binary
%{_libexecdir}/gnome-session-check-accelerated
%{_libexecdir}/gnome-session-check-accelerated-gl-helper
%{_libexecdir}/gnome-session-check-accelerated-gles-helper
%{_libexecdir}/gnome-session-ctl
%{_libexecdir}/gnome-session-failed
%{_mandir}/man1/gnome-session*1.*
%{_datadir}/gnome-session/
%dir %{_datadir}/xdg-desktop-portal
%{_datadir}/xdg-desktop-portal/gnome-portals.conf
%{_datadir}/doc/gnome-session/
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
%{_userunitdir}/gnome-session*
%{_userunitdir}/gnome-launched-.scope.d/
%changelog
%autochangelog

View File

@ -1 +0,0 @@
SHA512 (gnome-session-46.0.tar.xz) = 2187b8ae4ac4ec728283c5dc03edba6472864a704f6c6cd7a3e962515a3925d3a8438f7f89855dd082d2c013868da81e16da280c70b0e07537c8e431301b4bd8