Bug 2221797 - Branding and Chroming of GDM Login Screen
Summary: Branding and Chroming of GDM Login Screen
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: Documentation
Version: 8.7
Hardware: All
OS: Linux
high
low
Target Milestone: rc
: ---
Assignee: Marek Suchánek
QA Contact: Michael Boisvert
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-10 19:37 UTC by Paulo Andrade
Modified: 2023-08-16 14:27 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-08-16 14:26:55 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-161952 0 None None None 2023-07-10 19:41:17 UTC
Red Hat Issue Tracker RHELPLAN-161953 0 None None None 2023-07-18 14:45:26 UTC

Description Paulo Andrade 2023-07-10 19:37:56 UTC
Please consider extending documentation at
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_the_desktop_environment_in_rhel_8/customizing-desktop-appearance_using-the-desktop-environment-in-rhel-8

to include extra information. For example, for a custom gdm logo,
replace /usr/share/pixmaps/fedora-gdm-logo.png and extra customizations
can be done editing below files:

/usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.xml and
/usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override
for example, banner-message-enable and banner-message-text could be added
to /usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override

Comment 1 Marek Suchánek 2023-08-03 16:59:40 UTC
(In reply to Paulo Andrade from comment #0)
> Please consider extending documentation at
> https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/
> html/using_the_desktop_environment_in_rhel_8/customizing-desktop-
> appearance_using-the-desktop-environment-in-rhel-8
> 
> to include extra information. For example, for a custom gdm logo,
> replace /usr/share/pixmaps/fedora-gdm-logo.png and extra customizations
> can be done editing below files:
> 
> /usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.xml and
> /usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override
> for example, banner-message-enable and banner-message-text could be added
> to /usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override

Hi Paulo,
This looks like an absolutely legitimate use case, but I'm concerned about the implementation. If a customer edits the files in /usr/share/, wouldn't the next package update overwrite these changes back to the standard RHEL branding? I'd prefer to document a way to apply configuration on top of the system files, so that it's reliably preserved.

By the way, we have some documentation on adding banners to the login screen, in case this is something that the customer who opened the case would appreciate:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_the_desktop_environment_in_rhel_8/assembly_displaying-the-system-security-classification_using-the-desktop-environment-in-rhel-8

Comment 2 Marek Suchánek 2023-08-03 17:23:10 UTC
To expand on the issue with packages. The logo file seems to be provided by the redhat-logos package in RHEL. In Fedora, it's the fedora-logos package, and Fedora additionally distributes the generic-logos package:

> It can be used as a replacement for the fedora-logos package, if you
> are unable for any reason to abide by the trademark restrictions
> on the fedora-logos or fedora-remix-logos package.

When you install generic-logos in Fedora, it replaces the fedora-logos package. This suggests to me that there can only be one branding on the system and it comes from the currently selected package. However this is just my guess based on this limited information.

Comment 3 Paulo Andrade 2023-08-03 17:47:41 UTC
Yes, the suggestion was to have some possible extra customizations.
Maybe /usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override
should be marked %config(noreplace) ?

Another option might be to build another package based on redhat-logos.
As long as it has a 'Provides: system-logos = %{version}-%{release}'
and equivalent for sub packages it could be a way to customize.

Comment 4 Marek Suchánek 2023-08-04 13:22:42 UTC
Hi Ray,
I believe you're the maintainer of the redhat-logos package.
What would be the correct way to change the GDM logo so that package updates don't overwrite it, please?

Comment 6 Ray Strode [halfline] 2023-08-04 23:19:31 UTC
Create a configuration file in /etc/dconf/db/gdm.d/01-override-logo

with these contents:

[org/gnome/login-screen]
logo='/path/to/logo.png'

then run "sudo dconf update"

Details are in the Desktop Migration and Administration Guide iirc

Comment 7 Marek Suchánek 2023-08-07 18:36:09 UTC
(In reply to Ray Strode [halfline] from comment #6)
> Create a configuration file in /etc/dconf/db/gdm.d/01-override-logo
> 
> with these contents:
> 
> [org/gnome/login-screen]
> logo='/path/to/logo.png'
> 
> then run "sudo dconf update"
> 
> Details are in the Desktop Migration and Administration Guide iirc

Perfect, thank you! I didn't know that we had this documentation back in RHEL 7. I only checked RHEL 8 documentation and found nothing there.

I'm adding the GDM logo configuration in RHEL 8 and 9 guides now.

Here's a preview:

https://jenkins.dxp.redhat.com/job/CCS/job/ccs-mr-preview/54556/artifact/rhel-9/titles/configuring-and-maintaining/customizing-the-gnome-desktop-environment/preview/index.html#customizing-the-branding-of-the-login-screen_customizing-desktop-appearance-and-branding

I'm not sure if this part is still up to date in RHEL 8 and 9, though:

> Prerequisites
> 
> * Prepare an image file in any of the supported formats: ANI, BPM, GIF, GTIFF, ICNS, ICO, JPEG, JPEG 2000, PCX, PNM, PBM, PGM, PPM, RAS, SVG, TGA, TIFF, WBMP, XBM, or XPM.
> 
> * Consider the aspect ratio of the image. GDM scales the size of the image proportionally to the height of 48 pixels. For example, if you use an image that is 1920x1080 pixels in size, GDM changes it into an 85x48 thumbnail of the original image.

Tomáš, could you (or somebody else from QE) please test if this short procedure works correctly on RHEL 8 and 9?

Comment 10 Michael Boisvert 2023-08-09 18:34:12 UTC
Here are the updates from testing and talking to Ray:

This needs to be removed, it does not scale the image: "Consider the aspect ratio of the image. GDM scales the size of the image proportionally to the height of 48 pixels. For example, if you use an image that is 1920x1080 pixels in size, GDM changes it into an 85x48 thumbnail of the original image."

Information about appropriate file location needs to be added too, the image file needs to be placed in a directory that the GDM user has access to. The image will not simply replace the logo at the bottom of the login screen, it will be the entire backdrop of the login screen. 

Let me know if you need more clarification.

Comment 11 Marek Suchánek 2023-08-11 15:30:08 UTC
(In reply to Michael Boisvert from comment #10)
> Here are the updates from testing and talking to Ray:
> 
> This needs to be removed, it does not scale the image: "Consider the aspect
> ratio of the image. GDM scales the size of the image proportionally to the
> height of 48 pixels. For example, if you use an image that is 1920x1080
> pixels in size, GDM changes it into an 85x48 thumbnail of the original
> image."
> 
> Information about appropriate file location needs to be added too, the image
> file needs to be placed in a directory that the GDM user has access to. The
> image will not simply replace the logo at the bottom of the login screen, it
> will be the entire backdrop of the login screen. 
> 
> Let me know if you need more clarification.

Thanks, Michael.

I've tested the configuration and I still don't quite understand the behavior. The original picture, /usr/share/pixmaps/fedora-gdm-logo.png, is quite small: 150x48 px. It functions as a logo below the user list. If I set a large picture, it fills the whole screen background.

Is the picture always centered on the logo location on the screen, and does it get larger from that center point the larger the picture is? At which point does it stop being a logo and starts being a background?

Comment 12 Michael Boisvert 2023-08-11 16:52:52 UTC
(In reply to Marek Suchánek from comment #11)
> (In reply to Michael Boisvert from comment #10)
> > Here are the updates from testing and talking to Ray:
> > 
> > This needs to be removed, it does not scale the image: "Consider the aspect
> > ratio of the image. GDM scales the size of the image proportionally to the
> > height of 48 pixels. For example, if you use an image that is 1920x1080
> > pixels in size, GDM changes it into an 85x48 thumbnail of the original
> > image."
> > 
> > Information about appropriate file location needs to be added too, the image
> > file needs to be placed in a directory that the GDM user has access to. The
> > image will not simply replace the logo at the bottom of the login screen, it
> > will be the entire backdrop of the login screen. 
> > 
> > Let me know if you need more clarification.
> 
> Thanks, Michael.
> 
> I've tested the configuration and I still don't quite understand the
> behavior. The original picture, /usr/share/pixmaps/fedora-gdm-logo.png, is
> quite small: 150x48 px. It functions as a logo below the user list. If I set
> a large picture, it fills the whole screen background.
> 
> Is the picture always centered on the logo location on the screen, and does
> it get larger from that center point the larger the picture is? At which
> point does it stop being a logo and starts being a background?

I honestly don't know which image size makes it a background vs logo. I don't think the image is always centered on the logo location either. I think you can just make the docs kind of generic here: "Large image takes the whole background, small image replaces the bottom logo."

Comment 13 Ray Strode [halfline] 2023-08-14 12:47:12 UTC
i wouldnt advertise it as a background replacement. that it sort of works as that is an accident. its meant for small logo files. behavior is undefined if the image is bigger than will fit in the logo area

Comment 14 Marek Suchánek 2023-08-16 13:53:01 UTC
Thanks, got it. That answers my last question. I'm publishing the documentation now.


Note You need to log in before you can comment on or make changes to this bug.