Menu Close
Settings Close

Language and Page Formatting Options

Customizing the GNOME desktop environment

Red Hat Enterprise Linux 9

Customizing the GNOME desktop environment on Red Hat Enterprise Linux 9

Red Hat Customer Content Services

Abstract

This document describes how to customize GNOME, which is the only desktop environment available in RHEL 9. It covers the instructions for users and system administrators for configuring GNOME to meet various use cases.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.

Providing feedback on Red Hat documentation

We appreciate your feedback on our documentation. Let us know how we can improve it.

Submitting comments on specific passages

  1. View the documentation in the Multi-page HTML format and ensure that you see the Feedback button in the upper right corner after the page fully loads.
  2. Use your cursor to highlight the part of the text that you want to comment on.
  3. Click the Add Feedback button that appears near the highlighted text.
  4. Add your feedback and click Submit.

Submitting feedback through Bugzilla (account required)

  1. Log in to the Bugzilla website.
  2. Select the correct version from the Version menu.
  3. Enter a descriptive title in the Summary field.
  4. Enter your suggestion for improvement in the Description field. Include links to the relevant parts of the documentation.
  5. Click Submit Bug.

Chapter 1. Enabling desktop icons

You can enable the desktop icons functionality and move files to the desktop.

1.1. Desktop icons in RHEL 9

Desktop icons are provided by the Desktop icons GNOME Shell extension, which is available from the gnome-shell-extension-desktop-icons package.

Desktop icons in GNOME Classic

The GNOME Classic environment includes the gnome-shell-extension-desktop-icons package by default. Desktop icons are always on, and you cannot turn them off.

Desktop icons in GNOME Standard

In GNOME Standard, desktop icons are disabled by default.

To enable desktop icons in the GNOME Standard environment, you must install the gnome-shell-extension-desktop-icons package.

1.2. Enabling desktop icons in GNOME Standard

This procedure enables the desktop icons functionality in the GNOME Standard environment.

Prerequisites

  • The Extensions application is installed on the system:

    # dnf install gnome-shell-extension-desktop-icons

Procedure

  1. Open the Extensions application.
  2. Enable the Desktop Icons extension.

    Enabling desktop icons in GNOME Standard

1.3. Creating a desktop icon for a file

This procedure creates a desktop icon for an existing file.

Prerequisites

  • The Desktop icons extension is enabled.

Procedure

  • Move the selected file into the ~/Desktop/ directory.

    desktop icon for a file

Verification steps

  • Check that the icon for the file appears on the desktop.

    desktop icon for a file 2

Chapter 2. Launching an application automatically on login

You can set applications to launch automatically on login using the Tweaks tool. Tweaks is a tool to customize the GNOME Shell environment for a particular user.

Prerequisites

  • You have installed gnome-tweaks on your system. For more details, see Installing software in GNOME
  • You have installed the application that you want to launch at login.

Procedure

  1. Open Tweaks. For more details see Launching applications in GNOME.
  2. Select Startup Applications in the left side bar.

    Select Startup Applications

  3. Click the plus sign button (+).

    Click plus sign button

  4. Select an application from the list of available applications and click Add.

    Add application

Verification

  1. Open Tweaks.
  2. Select Startup Applications in the left side bar.
  3. List of applications launched at start will be present in the center section.

    Select Startup Applications

Additional resources

Chapter 3. Restricting the session to a single application

You can start the GNOME session in single-application mode, also known as kiosk mode. In this session, GNOME displays only a full-screen window of the application that you have selected.

3.1. Single-application mode

Single-application mode is a modified GNOME session that reconfigures the Mutter window manager into an interactive kiosk. This session locks down certain behavior to make the standard desktop more restrictive. The user can interact only with a single application selected by the administrator.

You can set up single-application mode in a number of fields, from communication to entertainment or education, and use it as a self-serve machine, an event manager, a registration point, and so on.

The single-application mode configuration is available from the gnome-session-kiosk-session package.

3.2. Enabling single-application mode

This procedure installs and enables single-application mode, which restricts the GNOME session to a single application.

Procedure

  1. Install the gnome-session-kiosk-session package:

    # dnf install gnome-session-kiosk-session
  2. As the user that will open the single-application session, create the /home/user/.local/bin/redhat-kiosk file:

    [user]$ mkdir -p ~/.local/bin
    
    [user]$ touch ~/.local/bin/redhat-kiosk
  3. Edit the /home/user/.local/bin/redhat-kiosk file and enter the executable name of the application that you want to launch in single-application mode.

    For example, to launch the Firefox browser in single-application mode, enter the following content:

    #!/bin/sh
    
    while true; do
        firefox --kiosk https://example.org
    done

    The while true loop ensures that the application restarts if it terminates for any reason.

  4. Make the file executable:

    [user]$ chmod +x ~/.local/bin/redhat-kiosk
  5. If you created the file or its containing directories as a different user than the single-application user, such as root, ensure that the file has the correct permissions:

    # chown -R user:group ~user/.local
  6. At the GNOME login screen, select the Kiosk session from the cogwheel button menu and log in as the single-application user.

Chapter 4. Displaying the system security classification

As an administrator of deployments where the user must be aware of the security classification of the system, you can set up a notification of the security classification. This can be either a permanent banner or a temporary notification, and it can appear on login screen, in the GNOME session, and on the lock screen.

4.1. Enabling system security classification banners

You can create a permanent classification banner to state the overall security classification level of the system. This is useful for deployments where the user must always be aware of the security classification level of the system that they are logged into.

The permanent classification banner can appear within the running session, the lock screen, and login screen, and customize its background color, its font, and its position within the screen.

This procedure creates a red banner with a white text placed on both the top and bottom of the login screen.

Procedure

  1. Install the gnome-shell-extension-classification-banner package:

    # dnf install gnome-shell-extension-classification-banner
  2. Create the 99-class-banner file at either of the following locations:

    • To configure a notification at the login screen, create /etc/dconf/db/gdm.d/99-class-banner.
    • To configure a notification in the user session, create /etc/dconf/db/local.d/99-class-banner.
  3. Enter the following configuration in the created file:

    [org/gnome/shell]
    enabled-extensions=['classification-banner@gnome-shell-extensions.gcampax.github.com']
    
    [org/gnome/shell/extensions/classification-banner]
    background-color='rgba(200,16,46,0.75)'
    message='TOP SECRET'
    top-banner=true
    bottom-banner=true
    system-info=true
    color='rgb(255,255,255)'
    Warning

    This configuration overrides similar configuration files that also enable an extension, such as Notifying of the system security classification.

    To enable multiple extensions, specify all of them in the enabled-extensions list. For example:

    enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com']
  4. Update the dconf database:

    # dconf update
  5. Reboot the system.

Troubleshooting

  • If the classification banners are not displayed for an existing user, log in as the user and enable the Classification banner extension using the Extensions application.

4.2. Notifying of the system security classification

You can set up a notification that contains a predefined message in an overlay banner. This is useful for deployments where the user is required to read the security classification of the system before logging in.

Depending on your configuration, the notification can appear at the login screen, after logging in, on the lock screen, or after a longer time with no user activity. You can always dismiss the notification when it appears.

Procedure

  1. Install the gnome-shell-extension-heads-up-display package:

    # dnf install gnome-shell-extension-heads-up-display
  2. Create the 99-hud-message file at either of the following locations:

    • To configure a notification at the login screen, create /etc/dconf/db/gdm.d/99-hud-message.
    • To configure a notification in the user session, create /etc/dconf/db/local.d/99-hud-message.
  3. Enter the following configuration in the created file:

    [org/gnome/shell]
    enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com']
    
    [org/gnome/shell/extensions/heads-up-display]
    message-heading="Security classification title"
    message-body="Security classification description"
    # The following options control when the notification appears:
    show-when-locked=true
    show-when-unlocking=true
    show-when-unlocked=true

    Replace the following values with text that describes the security classification of your system:

    Security classification title
    A short heading that identifies the security classification.
    Security classification description
    A longer message that provides additional details, such as references to various guidelines.
    Warning

    This configuration overrides similar configuration files that also enable an extension, such as Enabling system security classification banners.

    To enable multiple extensions, specify all of them in the enabled-extensions list. For example:

    enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com']
  4. Update the dconf database:

    # dconf update
  5. Reboot the system.

Troubleshooting

  • If the notifications are not displayed for an existing user, log in as the user and enable the Heads-up display message extension using the Extensions application.

Legal Notice

Copyright © 2022 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.