Getting started with the GNOME desktop environment

Red Hat Enterprise Linux 9

Getting started with the GNOME desktop environment on Red Hat Enterprise Linux 9

Red Hat Customer Content Services

Abstract

This document describes how to use GNOME, which is the only desktop environment available in RHEL 9. It explains the basics of using GNOME Shell and certain GNOME applications.

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 feedback through Jira (account required)

  1. Log in to the Jira website.
  2. Click Create in the top navigation bar
  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 Create at the bottom of the dialogue.

Chapter 1. Overview of GNOME environments

You can switch between several user interfaces and graphics back ends in GNOME.

Important

To function properly, GNOME requires your system to support 3D acceleration. This includes bare metal systems, as well as hypervisor solutions such as VMWare.

If GNOME does not start or performs poorly on your VMWare virtual machine (VM), see the following solution: Why does the GUI fail to start on my VMware virtual machine?

1.1. GNOME environments, back ends, and display protocols

In RHEL 9, there are two available GNOME environments:

  • GNOME Standard
  • GNOME Classic

Both environments can use two different protocols as their graphical back ends:

  • The Wayland protocol, which uses GNOME Shell as the Wayland compositor and display server.

    This solution of display server is further referred as GNOME Shell on Wayland.

  • The X11 protocol, which uses X.Org as the display server.

The default combination in RHEL 9 is the GNOME Standard environment using GNOME Shell on Wayland as the display server. However, due to certain Wayland limitations, you might want to switch the graphics protocol stack to X11. You can also switch from GNOME Standard to GNOME Classic.

Thus, you can select from the following combinations of back ends and environments when logging in:

  • GNOME Shell on Wayland (the default combination in RHEL 9)
  • GNOME Shell on X11
  • GNOME Classic on Wayland
  • GNOME Classic on X11

Additional resources

1.2. GNOME Standard

The GNOME Standard user interface includes these major components:

Top bar
The horizontal bar at the top of the screen provides access to some of the basic functions of GNOME Standard, such as the Activities Overview, clock and calendar, system status icons, and the system menu.
System menu

System menu

The system menu is located in the upper-right corner, and provides the following functionality:

  • Updating settings
  • Controlling the sound volume
  • Accessing your Wi-Fi connection
  • Switching the user
  • Logging out
  • Turning off the computer
Activities Overview

The Activities Overview features windows and applications views that let you run applications and windows and switch between them.

The search entry at the top allows for searching various items available on the desktop, including applications, documents, files, and configuration tools.

The horizontal bar on the bottom contains a list of favorite and running applications. You can add or remove applications from the default list of favorites.

Message tray
The message tray provides access to pending notifications. The message tray shows when you press Super+M.

The GNOME Standard desktop

gnome standard 9

1.3. GNOME Classic

GNOME Classic represents a mode for users who prefer a more traditional desktop experience that is similar to the GNOME 2 environment used with RHEL 6. It is based on GNOME 3 technologies, and at the same time it includes multiple features similar to GNOME 2.

The GNOME Classic user interface consists of these major components:

Applications and Places

The Applications menu is displayed at the upper-left corner of the screen. It gives you access to applications organized into categories. If you enable window overview, you can also open the Activities Overview from that menu.

The Places menu is displayed next to the Applications menu on the top bar. It gives you quick access to important folders, for example Downloads or Pictures.

Taskbar

The taskbar is displayed at the bottom of the screen, and features:

  • A window list
  • A notification icon displayed next to the window list
  • A short identifier for the current workspace and total number of available workspaces displayed next to the notification icon
Four available workspaces
In GNOME Classic, the number of available workspaces is set to 4 by default.
Minimize and maximize buttons
Window title bars in GNOME Classic feature the minimize and maximize buttons that let you quickly minimize the windows to the window list, or maximize them to take up all of the space on the desktop.
A traditional Super+Tab window switcher
In GNOME Classic, windows in the Super+Tab window switcher are not grouped by application.
System menu

The system menu is located in the upper-right corner, and enables the following actions:

  • Updating settings
  • Controlling the sound volume
  • Accessing your Wi-Fi connection
  • Switching the user
  • Logging out
  • Turning off the computer

The GNOME Classic desktop with the Favorites submenu of the Applications menu

gnome classic 9

1.4. Enabling window overview in GNOME Classic

In GNOME Classic, the overview of open windows is not available by default. This procedure enables the window overview for all users on the system.

Important

Enabling the window overview by this procedure is not a permanent change. Each update of the gnome-classic-session package overwrites the configuration file to the default settings, which disable the window overview.

To keep the window overview enabled, apply the procedure after each update of gnome-classic-session.

Procedure

  1. Open the /usr/share/gnome-shell/modes/classic.json file as the root user.
  2. Find the following line in the file:

    "hasOverview": false
  3. Change the line to the following:

    "hasOverview": true
  4. Save changes, and close the /usr/share/gnome-shell/modes/classic.json file.
  5. Restart the user session.

Verification steps

  1. In your GNOME Classic session, open multiple windows.
  2. Press the Super key to open the window overview.
  3. In the overview, check that:

    • The Dash (the horizontal panel on the bottom of the screen) is displayed.
    • The bottom panel is not displayed.

    Window overview with "hasOverview": true

    Window overview with "hasOverview": true

    With the default settings ("hasOverview": false), the overview has the following features:

    • The Dash is not displayed.
    • The bottom panel is displayed. It includes the Window picker button in its left part and the workspace switcher in its right part.

    Window overview with "hasOverview": false

    Window overview with "hasOverview": false

1.5. Graphics back ends in RHEL 9

In RHEL 9, you can choose between two protocols to build a graphical user interface:

Wayland
The Wayland protocol uses GNOME Shell as its compositor and display server, which is further referred to as GNOME Shell on Wayland.
X11
The X11 protocol uses X.Org as the display server. Displaying graphics based on this protocol works the same way as in RHEL 7, where this was the only option.

New installations of RHEL 9 automatically select GNOME Shell on Wayland. However, you can switch to X.Org, or select the required combination of GNOME environment and display server.

X11 applications

Client applications need to be ported to the Wayland protocol or use a graphical toolkit that has a Wayland backend, such as GTK, to be able to work natively with the compositor and display server based on Wayland.

Legacy X11 applications that cannot be ported to Wayland automatically use Xwayland as a proxy between the X11 legacy clients and the Wayland compositor. Xwayland functions both as an X11 server and a Wayland client. The role of Xwayland is to translate the X11 protocol into the Wayland protocol and reversely, so that X11 legacy applications can work with the display server based on Wayland.

On GNOME Shell on Wayland, Xwayland starts automatically at login, which ensures that most X11 legacy applications work as expected when using GNOME Shell on Wayland. However, the X11 and Wayland protocols are different, and certain clients that rely on features specific to X11 might behave differently under Xwayland. For such specific clients, you can switch to the X.Org display server.

Input devices

RHEL 9 uses a unified input stack, libinput, which manages all common device types, such as mice, touchpads, touchscreens, tablets, trackballs and pointing sticks. This unified stack is used both by the X.Org and by the GNOME Shell on Wayland compositor.

GNOME Shell on Wayland uses libinput directly for all devices, and no switchable driver support is available. Under X.Org, libinput is implemented as the X.Org libinput driver, and you can optionally enable the legacy X.Org evdev driver if libinput does not support your input device.

Additional resources

  • You can find the current list of environments for which Wayland is not available in the /usr/lib/udev/rules.d/61-gdm.rules file.
  • For additional information about the Wayland project, see Wayland documentation.

1.6. Selecting GNOME environment and display protocol

The default desktop environment for RHEL 9 is GNOME Standard with GNOME Shell on Wayland as the display server. However, due to certain limitations of Wayland, you might want to switch the graphics protocol stack. You might also want to switch from GNOME Standard to GNOME Classic.

The change of GNOME environment and graphics protocol stack is persistent across user logouts, and also when powering off or rebooting the computer.

Procedure

  1. From the login screen (GDM), click the gear button in the right bottom corner of the screen.

    Note

    You cannot access this option from the lock screen. The login screen appears when you first start RHEL or when you log out of your current session.

    gnome environments 9

  2. From the drop-down menu that appears, select the option that you prefer.

    In the menu, the X.Org display server is also marked as X11.

1.7. Disabling Wayland for all users

You can disable the Wayland session for all users on the system, so that they always log in with the X11 session.

Procedure

  1. Open the /etc/gdm/custom.conf file as the root user.
  2. Locate the following line in the [daemon] section of the file:

    #WaylandEnable=false
  3. Uncomment the line by remove the # character. As a result, the line says:

    WaylandEnable=false
  4. Reboot the system.

Chapter 2. Launching applications in GNOME

You can launch installed applications using several different methods in the GNOME desktop environment.

2.1. Launching an application in the standard GNOME session

This procedure launches a graphical application in the GNOME desktop environment.

Prerequisites

  • You are using the standard GNOME session.

Procedure

  1. Open the Activities Overview screen using either of the following ways:

    • Click Activities in the top panel.
    • Press the Super key, which is usually labeled with the Windows logo, , or 🔍.
  2. Find the application using either of the following ways:

    • Click the Show Applications icon in the bottom horizontal bar.

      Applications overview in GNOME
    • Type the name of the required application in the search entry.
  3. Click the application in the displayed list.

2.2. Launching an application in GNOME Classic

This procedure launches a graphical application in the GNOME Classic desktop environment.

Prerequisites

  • You are using the GNOME Classic session.

Procedure

  1. Open the Applications menu in the top panel.
  2. Choose the required application from the available categories, which can include:

    • Favorites
    • Accessories
    • Graphics
    • Internet
    • Office
    • Sound & Video
    • System Tools
    • Utilities

2.3. Launching an application in GNOME using a command

This procedure launches a graphical application in GNOME by entering a command.

Prerequisites

  • You know the command that starts the application.

Procedure

  1. Open a command prompt using either of the following ways:

    • Open a terminal.
    • Press the Alt+F2 shortcut to open the Enter a Command screen.

      Enter a Command screen
  2. Type the application command in the command prompt.
  3. Confirm the command by pressing Enter.

2.4. 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. Disabling the hot corner functionality on GNOME Shell

The GNOME environment provides the hot corner functionality, which is enabled by default. This means that when you move the cursor to the area of the upper-left corner and push the cursor to the screen corner, the Activities Overview menu opens automatically.

However, you may want to disable this feature to not open Activities Overview unintentionally.

3.1. Disabling hot corner using Settings

To disable the hot corner functionality using the Settings application, follow this procedure.

Note

This procedure disables the hot corner functionality for a single user.

Procedure

  1. Open the Settings application by clicking the gear button.
  2. In the Settings application, go to Multitasking.
  3. In the General section, disable the Hot Corner button.

    Disabling hot corner using the Settings application

    disabling hot corner using settings

3.2. Disabling hot corner using gsettings

To disable the hot corner functionality using the gsettings command-line utility, follow this procedure.

Procedure

  • Disable the hot corner feature:

    $ gsettings set org.gnome.desktop.interface enable-hot-corners false

Verification steps

  • Optionally, verify that the hot corner feature is disabled:

    $ gsettings get org.gnome.desktop.interface enable-hot-corners
    
    false

3.3. Disabling the hot corner functionality for all users

To disable the hot corner functionality for all users, you need to create a dconf profile.

Procedure

  1. Create the user profile in the /etc/dconf/profile/user file.

    user-db:user
    system-db:local
  2. Create the /etc/dconf/db/local.d/locks/00-interface file with the following content.

    # Specify the dconf path
    [org/gnome/desktop/interface]
    
    # GSettings key names and their corresponding values
    enable-hot-corners='FALSE'
  3. Create a file in the /etc/dconf/db/local.d/locks directory, for example /etc/dconf/db/local.d/locks/00-interface, with the following content.

    # Prevent users from changing values for the following keys:
    /org/gnome/desktop/interface/enable-hot-corners

    The configuration file locks down the /org/gnome/desktop/interface/enable-hot-corners key for all users. This key controls whether the hot corner is enabled.

  4. Update the system databases for the changes to take effect.

    # dconf update
  5. Ensure that all users log out. The changes take effect when users log back in.

Chapter 4. Searching for files in GNOME

As a user in the GNOME environment, you can search for files using the Files application.

4.1. Performing a basic file search

You can search for files in GNOME. This basic search looks for files in your home directory and all folders in it, based on a file name.

Procedure

  1. Open the Files application.
  2. Press the Search button.
  3. In the text field, type the file name or a part of the file name that you are searching for.

    Basic search by file name
  4. The window now lists all files in your home directory that match the file name.

4.2. Performing an advanced file search

You can search for files in GNOME. This advanced search looks for files in a specific location, based on a file name, a time of access, a time of modification, or a file type.

Procedure

  1. Open the Files application.
  2. Navigate to the folder where you want to search for a file.

    The search recursively descends into all folders contained in this location.

  3. Press the Search button.
  4. Optionally, type the file name or a part of the file name that you are searching for in the text field.

    If you do not provide a file name, the search lists all files that match the other criteria, regardless of their file names.

    Basic search by file name
  5. Click the triangle button next to the text field.

    In this menu, you can select other search criteria.

    Search menu
  6. To specify the access or modification time, click Select dates… next to the When label. Enter a date or select a time point from the list.

    Below the time list, you can switch between Last modified and Last used.

    Time criteria
  7. To specify the file type, click Anything next to the What label. Select a file type from the list.

    File type criteria
  8. To switch between a search based on file content or file names, use the Full Text and File Name buttons, respectively.

    Note

    The full-text search only works in indexed locations. You can configure the indexed locations in the Search section of the Settings application.

  9. Click the triangle button next to the text field to hide the menu.
  10. The window now lists all files in the specified directory that match your search criteria.

Chapter 5. Bookmarking files and locations

In GNOME, applications and dialogs that manage files list bookmarks in the left side bar. You can add, remove, and edit the bookmarks.

5.1. Adding a bookmark

You can save a reference to a folder by bookmarking it in the Files application.

Prerequisite

  • Locate the folder in the Files application.

Procedure

  • Add the folder to bookmarks using either of the following methods:

    • By dragging:

      1. Drag the folder to the left side bar.
      2. Drop it over the New bookmark item.
    • Using a keyboard shortcut:

      1. Open the folder.
      2. Press Ctrl+D.
    • Using a menu:

      1. Open the folder.
      2. In the navigation bar at the top of the window, click the name of the folder.

        The bookmark menu
      3. Select Add to Bookmarks.

Verification

  • Check that the bookmark now appears in the side bar.

5.2. Removing a bookmark

You can delete an existing bookmark in the Files application.

Procedure

  1. Right-click the bookmark in the side bar.
  2. Select Remove from the menu.

    Remove bookmark menu

Verification

  • Check that the bookmark no longer appears in the side bar.

5.3. Renaming a bookmark

You can rename a bookmark to distinguish it from other bookmarks. If you have bookmarks to several folders that all share the same name, you can tell the bookmarks apart if you rename them.

Renaming the bookmark does not rename the folder.

Procedure

  1. Right-click the bookmark in the side bar.
  2. Select Rename….

    Rename bookmark menu
  3. In the Name field, enter the new name for the bookmark.

    Bookmark name field
  4. Click Rename.

Verification

  • Check that the side bar lists the bookmark under the new name.

    Renamed bookmark

5.4. Adding a bookmark for all users

As a system administrator, you can set a bookmark for several users at once so that file shares are easily accessible to all the users.

Procedure

  1. In the home directory of each existing user, edit the ~user/.config/gtk-3.0/bookmarks file.
  2. In the file, add a Uniform Resource Identifiers (URI) line that identifies the bookmark.

    For example, the following lines add bookmarks to the /usr/share/doc/ directory and to the GNOME FTP network share:

    file:///usr/share/doc/
    ftp://ftp.gnome.org/
  3. Optional: To also add the bookmarks for every newly created user on the system:

    1. Create the /etc/skel/.config/gtk-3.0/bookmarks file.
    2. Enter the bookmark URI lines in the file.

Chapter 6. Typing emoji characters

You can type emoji characters using several different methods in GNOME, depending on the type of the application.

6.1. Typing emoji characters in GTK applications

This procedure inserts an emoji character in an application that uses the GTK graphical toolkit, such as in native GNOME applications.

Prerequisites

  • Make sure that the application is built on the GTK toolkit.

Procedure

  1. Open a GTK application.
  2. Make sure that a text field is active.
  3. Press Ctrl+;.

    The emoji selection menu opens.

  4. Browse the emoji characters or type a keyword that identifies the emoji character that you want to insert, such as smile.

    For the full list of keywords associated with emoji characters, see the Other Keywords column on the Emoji List page.

  5. Click the selected character, or navigate to it using the cursor keys and press Enter.

Verification

  • Check that the intended emoji character now appears at your cursor.

6.2. Typing emoji characters in any applications

This procedure inserts an emoji character in any application, regardless of the graphical toolkit that the application uses.

Procedure

  1. Open an application.
  2. Make sure that a text field is active.
  3. Press Ctrl+..

    The underscored letter e appears at your cursor.

  4. Type a keyword that identifies the emoji character that you want to insert, such as smile.

    For the full list of keywords associated with emoji characters, see the Other Keywords column on the Emoji List page.

  5. Repeatedly press Space to browse the emoji characters that match your keyword.
  6. Confirm the selected emoji character by pressing Enter.

Verification

  • Check that the intended emoji character now appears at your cursor.

Chapter 7. Enabling Chinese, Japanese, or Korean text input

If you write with Chinese, Japanese, or Korean characters, you can configure RHEL to input text in your language.

7.1. Input methods

Certain scripts, such as Chinese, Japanese, or Korean, require keyboard input to go through an Input Method Engine (IME) to enter native text.

An input method is a set of conversion rules between the text input and the selected script. An IME is a software that performs the input conversion specified by the input method.

To input text in these scripts, you must set up an IME. If you installed the system in your native language and selected your language at the GNOME Initial Setup screen, the input method for your language is enabled by default.

7.2. Available input method engines

The following input method engines (IMEs) are available on RHEL from the listed packages:

Table 7.1. Available input method engines

LanguagesScriptsIME namePackage

Chinese

Simplified Chinese

Intelligent Pinyin

ibus-libpinyin

Chinese

Traditional Chinese

New Zhuyin

ibus-libzhuyin

Japanese

Kanji, Hiragana, Katakana

Anthy

ibus-anthy

Korean

Hangul

Hangul

ibus-hangul

Other

Various

M17N

ibus-m17n

7.3. Installing input method engines

This procedure installs input method engines (IMEs) that you can use to input Chinese, Japanese, and Korean text.

Procedure

  • Install all available input method packages:

    # dnf install @input-methods

7.4. Switching the input method in GNOME

This procedure sets up the input method for your script, such as for Chinese, Japanese, or Korean scripts.

Prerequisites

  • The input method packages are installed.

Procedure

  1. Go to the system menu, which is accessible from the top-right screen corner, and click Settings.

    System menu

  2. Select the Keyboard section.
  3. In the Input Sources list, review the currently enabled input methods.

    Input Sources
  4. If your input method is missing:

    1. Click the + button under the Input Sources list.

      Add an Input Source
    2. Select your language.

      Languages menu
      Note

      If you cannot find your language in the menu, click the three dots icon (More…) at the end of the menu.

    3. Select the input method that you want to use. A cog wheel icon marks all input methods to distinguish them from simple keyboard layouts.

      Input methods menu
    4. Confirm your selection by clicking Add.
  5. Switch the active input method using one of the following ways:

    • Click the input method indicator on the right side of the top panel and select your input method.

      Input methods indicator
    • Switch between the enabled input methods using the Super+Space keyboard shortcut.

Verification

  1. Open a text editor.
  2. Type text in your language.
  3. Verify that the text appears in your native script.

7.5. Additional resources

Chapter 8. GNOME Screen Recording

GNOME Screen Recording is a built-in feature in the GNOME desktop environment that allows users to record their desktop or specific application activities. The recordings are saved as video files in the WebM format.

Procedure

  1. To start the recording, press the Ctrl+Alt+Shift+R keyboard shortcut.

    Once the recording begins, a red circle indicator appears in the upper-right corner of the screen, indicating that the recording is active.

  2. To stop the recording, press the same Ctrl+Alt+Shift+R keyboard shortcut again.

    The red circle indicator disappears, signaling the end of the recording.

The recorded video files are saved in the ~/Videos directory. The filenames of recorded videos start with Screencast and include the date and time of the recording.

Chapter 9. Enabling authentication with enterprise credentials in GNOME

If your workplace uses a system called Active Directory or IPA, and you have an account there, you can use that account to log into the GNOME desktop environment.

Logging in using enterprise credentials provides centralized account management, streamlines access to work-related resources, and gives the convenience of Single Sign-On (SSO).

9.1. Configuring enterprise credentials in GNOME

You can configure your system to use enterprise credentials using Settings.

Procedure

  1. Open Settings.
  2. Click Online Accounts.
  3. Select Enterprise Login (Kerberos).
  4. In the Principal field, enter your domain username in the username@domain.com format.
  5. Click Connect.
  6. Enter your enterprise password and click Continue.

    Depending on the configuration of your domain, you might be asked for the domain administrator credentials.

9.2. Adding enterprise users in GNOME

You can add an enterprise user to GNOME using Settings.

Prerequisites

Procedure

  1. Open Settings.
  2. Click Users.
  3. Select the Unlock button and enter your password.
  4. Click Add User.
  5. Choose Enterprise Login
  6. Enter the domain, username, and password for your Enterprise account.
  7. Click Add.

    Depending on the domain configuration, you might need to enter administrator credentials.

9.3. Logging in to GNOME with enterprise credentials

If your network has an Active Directory or IPA domain available, and you have a domain account, you can log in to GNOME using your enterprise credentials.

Procedure

  • At the GNOME login prompt, type your domain username followed by an @ sign and then your domain name.

    username@domain.com

9.4. Additional resources

  • For troubleshooting, see the realm man page

Chapter 10. Remotely accessing the desktop as a single user

You can remotely connect to the desktop on a RHEL server using graphical GNOME applications. Only a single user can connect to the desktop on the server at a given time.

10.1. Enabling desktop sharing on the server using GNOME

This procedure configures a RHEL server to enable a remote desktop connection from a single client.

Prerequisites

  • The GNOME Remote Desktop service is installed:

    # dnf install gnome-remote-desktop

Procedure

  1. Configure a firewall rule to enable VNC access to the server:

    # firewall-cmd --permanent --add-service=vnc-server
    success
  2. Reload firewall rules:

    # firewall-cmd --reload
    success
  3. Open Settings in GNOME.
  4. Navigate to the Sharing menu:

    screen sharing 0

  5. Click Screen Sharing.

    The screen sharing configuration opens:

    screen sharing 1 off

  6. Click the switch button in the window header to enable screen sharing:

    screen sharing 2 on highlight

  7. Select the Allow connections to control the screen check box.
  8. Under Access Options, select the Require a password option.
  9. Set a password in the Password field.

    Remote clients must enter this password when connecting to the desktop on the server.

    screen sharing 4 password

10.2. Connecting to a shared desktop using GNOME

This procedure connects to a remote desktop session using the Connections application. It connects to the graphical session of the user that is currently logged in on the server.

Prerequisites

  • A user is logged into the GNOME graphical session on the server.
  • The desktop sharing is enabled on the server.

Procedure

  1. Install the Connections application on the client:

    # dnf install gnome-connections
  2. Launch the Connections application.
  3. Click the + button to open a new connection.

    gnome connections 1

  4. Enter the IP address of the server.

    gnome connections 2

  5. Choose the connection type based on the operating system you want to connect to.
  6. Click Connect.

Verification steps

  1. On the client, check that you can see the shared server desktop.
  2. On the server, a screen sharing indicator appears on the right side of the top panel:

    screen sharing indicator 9

    You can control the screen sharing in the system menu.

10.3. Disabling encryption in GNOME VNC

You can disable encryption in the GNOME remote desktop solution. This enables VNC clients that do not support the encryption to connect to the server.

Procedure

  1. As the server user, set the encryption key of org.gnome.desktop.remote-desktop.vnc GSettings schema to ['none'].

    $ gsettings set org.gnome.desktop.remote-desktop.vnc encryption "['none']"
  2. Optional: Red Hat recommends that you tunnel the VNC connection over SSH to your VNC port. As a result, the SSH tunnel keeps the connection encrypted.

    For example:

    1. On the client, configure the port forwarding.

      # ssh -N -T -L 5901:server-ip-address:5901 user@server-ip-address
    2. Connect to the VNC session on the localhost:5901 address.

Chapter 11. Remotely accessing the desktop as multiple users

You can remotely connect to the desktop on a RHEL server and open multiple sessions as different users at the same time.

Prerequisites

  • Install the VNC server:

    # dnf install tigervnc-server
  • Install the VNC client:

    # dnf install tigervnc

11.1. The mapping of port and display numbers to users in VNC

With VNC, the client can connect to the desktop sessions of different users on the server. A display number and a TCP port number are attached to each server user that exports a VNC session. The client uses the port number to specify which server user it connects to.

If several clients connect using the same port number, they all open a VNC session to the same server user.

You must configure a mapping for each server user that exports a VNC session. For every such user, you must pick a unique port and display number.

The recommended mapping

Red Hat recommends that you start with port number 5902 and display number 2 for the first user, and increment the numbers by one for each additional server user.

Port number 5900 and display number 0 represent the server user that is currently logged into the graphical session. You cannot start a VNC server for the user who is already logged into the graphical session.

Table 11.1. Port and display number pairs

Port numberDisplay numberNote

5900

0

The logged-in user

5901

1

 

5902

2

The first recommended VNC user

5903

3

 

 
Important

Red Hat recommends that you do not configure the root user to export a VNC session. A root VNC session is unsafe and certain elements of the session might not work as expected.

Firewall rules

You must open the selected ports in your firewall configuration. Allowing the vnc-server service in your firewall opens ports from 5900 to 5903. If you need to enable access to additional server users, you must open ports above 5903 by manually specifying the port numbers.

11.2. VNC server configuration files

Several configuration files affect the behavior of the VNC server. You can configure the user mapping and various global options.

General options

You can configure general options of the VNC server in the /etc/tigervnc/vncserver-config-defaults configuration file. The file uses the following format:

option1=value
option2

For example:

session=gnome
alwaysshared
securitytypes=vncauth,tlsvnc
desktop=sandbox
geometry=2000x1200

The priority of configuration files

The VNC server reads the following files for general options, in order from most important to least important:

  1. /etc/tigervnc/vncserver-config-mandatory

    This file replaces the default configuration and has a higher priority than the per-user configuration. It is intended for system administrators who want to enforce particular VNC options.

  2. $HOME/.vnc/config

    Individual users can override the default VNC configuration in this file.

  3. /etc/tigervnc/vncserver-config-defaults

    This file stores the default VNC configuration.

User mapping

You can configure the mapping between users and their associated port and display numbers in the /etc/tigervnc/vncserver.users configuration file. The file uses the following format:

:number=user

For example:

:2=test
:3=vncuser

Additional resources

  • For a list of available configuration options, see the Xvnc(1) man page.

11.3. Enabling multi-user VNC access on the server

This procedure configures a RHEL server so that multiple users can open VNC sessions on it at the same time.

Prerequisites

  • If you previously configured VNC using systemd unit files, remove any outdated VNC configuration:

    [root]# rm /etc/systemd/system/vncserver@.service

Procedure

  1. Map users to display and port numbers.

    In the /etc/tigervnc/vncserver.users configuration file, add a line for each server user that will export a VNC session:

    :user-number=user-name
    • Replace user-number with the port and display number mapped to the selected existing user.
    • Replace user-name with the user name of the selected existing user.

    For example:

    :2=vncuser
  2. Open TCP ports 5900 to 5903 in the firewall:

    [root]# firewall-cmd --permanent --add-service=vnc-server
  3. Reload the firewall rules:

    [root]# firewall-cmd --reload
  4. Add the following lines to the /etc/tigervnc/vncserver-config-defaults configuration file:

    session=gnome
    alwaysshared

    This configuration has the following effects:

    • The VNC server starts the GNOME session when a remote user logs in.
    • Multiple users can connect to the VNC server at the same time.
  5. As each server user that exports a VNC session, set the VNC password for the user:

    [regular-user]$ vncpasswd

    Remote clients must enter this password when connecting to the desktop on the server.

  6. If you previously configured VNC for the user, ensure that the configuration files have the correct SELinux context:

    [regular-user]$ restorecon -RFv ~/.vnc
  7. Enable and start the VNC server unit for the regular user:

    [root]# systemctl enable --now vncserver@:user-number
  8. If the server uses the proprietary Nvidia driver, disable Wayland:

    1. Uncomment the WaylandEnable=False line in the /etc/gdm/custom.conf configuration file.
    2. Add the DefaultSession=gnome-xorg.desktop option to the [daemon] section of the configuration file.
    3. Reboot the server.

Additional resources

11.4. Connecting to the VNC server as multiple users

This procedure connects to a remote desktop session using the vncviewer application. You can open multiple connections to the remote desktop at the same time.

Prerequisites

Procedure

  • Connect to the VNC server:

    $ vncviewer --shared server-ip:display
    • Replace server-ip with the IP address of the server that you are connecting to.
    • Replace display with the display number where the server user exports the VNC session.

Chapter 12. Remotely accessing an X11-based application

You can remotely launch a graphical X11-based application on a RHEL server and use it from the remote client using X11 forwarding.

Note

This procedure works for legacy X11 applications, that is, applications that support the X11 display protocol.

12.1. Enabling X11 forwarding on the server

Configure a RHEL server so that remote clients can use graphical applications on the server over SSH.

Procedure

  1. Install basic X11 packages:

    # dnf install xorg-x11-xauth xorg-x11-fonts-\* xorg-x11-utils dbus-x11
    Note

    Your applications might rely on additional graphical libraries.

  2. Enable the X11Forwarding option in the /etc/ssh/sshd_config configuration file:

    X11Forwarding yes

    The option is disabled by default in RHEL.

  1. Restart the sshd service:

    # systemctl restart sshd.service

12.2. Launching an application remotely using X11 forwarding

Access a graphical application on a RHEL server from a remote client using SSH.

Prerequisites

Procedure

  1. Log in to the server using SSH:

    [local-user]$ ssh -X -Y remote-server
    The authenticity of host 'remote-server (192.168.122.120)' can't be established.
    ECDSA key fingerprint is SHA256:uYwFlgtP/2YABMHKv5BtN7nHK9SHRL4hdYxAPJVK/kY.
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
  2. Confirm that a server key is valid by checking its fingerprint.

    Note

    If you plan to log in to the server on a regular basis, add the user’s public key to the server using the ssh-copy-id command.

  3. Continue connecting by typing yes.

    Warning: Permanently added 'remote-server' (ECDSA) to the list of known hosts.
  4. When prompted, type the server password.

    local-user's password:
    [local-user ~]$
  5. Launch the application from the command line:

    [remote-user]$ application-binary
Tip

To skip the intermediate terminal session, use the following command:

$ ssh user@server -X -Y -C binary_application

12.3. Additional resources

Chapter 13. Remotely accessing a Wayland-based application

You can remotely launch a graphical Wayland-based application on a RHEL server and use it from the remote client on Wayland using waypipe.

Note

The desktop applications shipped with RHEL 9 support both the Wayland and X11 display protocols. However, Wayland is the preferred option when both are available.

13.1. Enabling waypipe on the client and server

To be able to launch an individual application on Wayland, you need to install the waypipe package.

Prerequisite

  • Both the client and server use the RHEL 9 operating system.

Procedure

  1. Install the waypipe package on the local system.

    # dnf install waypipe
  2. Install the waypipe package on the remote system.

    # dnf install waypipe

13.2. Launching an application remotely using waypipe

You can accesses a graphical application on Wayland on a RHEL server from a remote client using SSH and waypipe.

Note

This procedure does not work for legacy X11 applications. For X11 applications, see Remotely accessing an individual application on X11.

Prerequisites

  • A Wayland display server is running on your system. On RHEL 9, GNOME as a Wayland compositor is the default.
  • The waypipe package is installed on both the client and the remote system.
  • The application is capable of running natively on Wayland.

Procedure

  1. Launch the application remotely through waypipe and SSH.

    [local-user]$ waypipe -c lz4=9 ssh remote-server application-binary
    
    The authenticity of host 'remote-server (192.168.122.120)' can't be established.
    ECDSA key fingerprint is SHA256:uYwFlgtP/2YABMHKv5BtN7nHK9SHRL4hdYxAPJVK/kY.
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
  2. Confirm that a server key is valid by checking its fingerprint.
  3. Continue connecting by typing yes.

    Warning: Permanently added 'remote-server' (ECDSA) to the list of known hosts.
  4. When prompted, type the server password.

    remote-user's password:
    [remote-user]$

13.3. Additional resources

Chapter 14. Browsing files on a network share

You can connect to a network share provided by a server and browse the files on the server like local files. You can download or upload files using the file browser.

14.1. GVFS URI format for network shares

GNOME uses the GVFS URI format to refer to network shares and files on them. When you connect to a network share from GNOME, you provide the address to the network share in the following format.

A URL, or uniform resource locator, is a form of address that refers to a location or file on a network. The address is formatted like this:

The basic GVFS URI format takes the following syntax:

protocol://server.example.com/folder/file

The scheme specifies the protocol or type of server. The example.com portion of the address is called the domain name. If a username is required, it is inserted before the server name:

You can also specify the user name or the port number to the network share:

protocol://user@server.example.com:port/folder/file

Table 14.1. Common network share protocols

ProtocolGVFS URI example

SSH

ssh://user@server.example.com/path

NFS

nfs://server/path

Windows SMB

smb://server/Share

WebDAV

dav://example.server.com/path

Public FTP

ftp://ftp.example.com/path

Authenticated FTP

ftp://user@ftp.example.com/path

14.2. Mounting a storage volume in GNOME

You can manually mount a local storage volume or a network share in the Files application.

Procedure

  1. Open the Files application.
  2. Click Other Locations in the side bar.

    The window lists all connected storage volumes and all network shares that are publicly available on your local area network.

    If you can see the volume or network share in this list, mount it by clicking the item.

    If you want to connect to a different network share, use the following steps.

  3. Enter the GVFS URI string to the network share in the Connect to Server field.
  4. Press Connect.
  5. If the dialog asks you for login credentials, enter your name and password into the relevant fields.
  6. When the mounting process finishes, you can browse the files on the volume or network share.

14.3. Unmounting a storage volume in GNOME

You can unmount a storage volume, a network share, or another resource in the Files application.

Procedure

  1. Open the Files application.
  2. In the side bar, click the Unmount (⏏) icon next to the chosen mount.
  3. Wait until the mount disappears from the side bar or a notification about the safe removal appears.

14.4. Additional resources (or Next steps)

Chapter 15. Storing user settings over NFS

If you use GNOME on a system with NFS home directories, you must set the keyfile back end for the dconf database. Otherwise, dconf might not work correctly. With this configuration, dconf stores settings in the ~/.config/dconf-keyfile/user file.

Procedure

  1. Create or edit the /etc/dconf/profile/user file on every client.
  2. At the very beginning of the /etc/dconf/profile/user file, add the following line:

    service-db:keyfile/user
  3. Users must log out and log back in.

    dconf polls the keyfile back end to determine whether updates have been made, so settings might not be updated immediately.

Legal Notice

Copyright © 2024 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.