Install GNOME on Rocky Linux 10 Using ISO (Offline)

Rocky Linux 10 installs as a minimal text-only server by default, and if you need a graphical desktop, you have to add GNOME yourself, and this guide shows you exactly how to do that, with or without internet access.

If you chose the Minimal Install option during the Rocky Linux 10 installation, your system includes only the essential packages needed to run without any desktop environment, which means no graphical login screen and no GUI applications.

This setup is ideal for servers because it’s lightweight and uses fewer system resources. However, if you’re using your system as a workstation, a virtual machine, or simply prefer working with a graphical interface, you’ll probably want to install GNOME.

This guide covers two installation methods.

  • The first uses DNF to install GNOME from the online repositories, which is the easiest option if your system has internet access.
  • The second shows how to install GNOME offline using the Rocky Linux 10 DVD ISO as a local package repository, which is useful for air-gapped systems, secure lab environments, or machines without internet access.

This tutorial was tested on a minimal installation of Rocky Linux 10, but the same installation instructions also work on AlmaLinux 10 and RHEL 10.

TecMint Weekly Newsletter
Get the Learn Linux 7 Days Crash Course free when you join 34,000+ Linux professionals reading every Thursday.
Check your email for a magic link to get started.
Something went wrong. Please try again.

What You’ll Need

Before you begin, make sure you have the following:

To check how much free disk space you have, run:

df -h /

Example output:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        40G  3.2G   37G   8% /

Look at the Avail column. If you have at least 3 GB of free space, you’re ready to continue.

Method 1: Install GNOME Online (With Internet Access)

If your Rocky Linux 10 system has an internet connection, you can use the dnf command to download all the required packages directly from the official Rocky Linux repositories.

Step 1: Update Your System

Before installing new software, it’s a good idea to update your existing packages, which ensures you’re installing the latest versions and helps avoid dependency issues.

sudo dnf update -y

The sudo command runs the update with administrative privileges, while the -y option automatically answers yes to any prompts. Depending on the number of available updates and your internet speed, this process may take a few minutes.

Step 2: Install the GNOME Desktop

Rocky Linux groups related packages together, so instead of installing hundreds of individual packages, you can install the complete GNOME desktop with a single command.

sudo dnf group install "Server with GUI" -y

This installs everything needed for a full graphical desktop, including:

  • GNOME Shell
  • GDM (GNOME Display Manager)
  • Wayland
  • Desktop utilities and supporting libraries

Tip: If you prefer a smaller desktop installation without the extra server-related tools, install the GNOME group instead:

sudo dnf group install "GNOME" -y

Note: If you receive a No match for group error, list the available package groups first:

sudo dnf group list

Then use the group name shown on your system.

If you want to go deeper on DNF package management and group installs, the 100+ Essential Linux Commands course on Pro TecMint covers it end-to-end.

Step 3: Set Graphical Boot as Default

Installing GNOME doesn’t automatically change the system’s default boot mode, because a minimal Rocky Linux installation starts in multi-user.target, which is command-line mode.

First, check the current default target:

sudo systemctl get-default

Example output:

multi-user.target

Now change it to graphical mode:

sudo systemctl set-default graphical.target

You should see output similar to:

Removed "/etc/systemd/system/default.target".
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.

This tells systemd to start the graphical desktop automatically every time the system boots.

Step 4: Start the GUI Without Rebooting

There’s no need to reboot immediately. You can start the graphical login screen right away by starting the GDM service:

sudo systemctl start gdm

After a few seconds, the GNOME login screen should appear, so sign in using the same username and password you use to log into the terminal or SSH.

If the graphical login screen doesn’t appear, check the GDM logs for any errors:

sudo journalctl -u gdm -n 50

On virtual machines, startup problems are often caused by missing graphics drivers or integration tools:

  • VirtualBox: Install VirtualBox Guest Additions.
  • VMware: Install VMware Tools or Open VM Tools.
  • KVM/QEMU: Use the virtio or QXL display adapter for the best compatibility.

Step 5: Reboot and Confirm

Finally, reboot the system to make sure it starts directly in graphical mode.

sudo reboot

After the system restarts, you should see the GNOME login screen automatically. Once you’ve logged in, open a terminal by pressing Ctrl+Alt+T and verify that GNOME is installed:

gnome-shell --version

Example output:

GNOME Shell 47.x

If you see the installed GNOME version, the installation was successful, and your Rocky Linux 10 system is now ready to use with a full graphical desktop.

If this got your GNOME desktop up and running, who’s been staring at a Rocky Linux text prompt wondering where the GUI went.

Method 2: Install GNOME Offline

If your Rocky Linux 10 system doesn’t have internet access, you can install GNOME directly from the Rocky Linux 10 DVD ISO. Instead of downloading packages from online repositories, DNF reads them from the mounted ISO.

Important: Use the Rocky Linux 10 DVD ISO, not the Minimal or Boot ISO, because the DVD image contains the BaseOS and AppStream repositories required to install GNOME.

Step 1: Get the ISO onto the Machine

First, make the DVD ISO available on your system.

If you’re using a virtual machine, attach the ISO as a virtual DVD drive from your hypervisor.

If you’re using a physical server, copy the ISO to the machine. For example:

scp /path/to/Rocky-10-latest-x86_64-dvd.iso user@your-server-ip:/tmp/

Replace:

  • user with your login username.
  • your-server-ip with the IP address of your Rocky Linux system.

Once the copy finishes, verify that the ISO is present:

ls -lh /tmp/Rocky-10-latest-x86_64-dvd.iso

Step 2: Mount the ISO

Create a directory that will serve as the mount point:

sudo mkdir -p /mnt/rocky10-iso

Now mount the ISO:

sudo mount -o loop /tmp/Rocky-10-latest-x86_64-dvd.iso /mnt/rocky10-iso

You may see a message like this:

mount: /mnt/rocky10-iso: WARNING: source write-protected, mounted read-only.

Next, verify that the mount was successful:

ls /mnt/rocky10-iso/

Example output:

AppStream BaseOS EFI LICENSE RPM-GPG-KEY-Rocky-10 images isolinux media.repo

Make sure you can see both BaseOS and AppStream directories, because these contain all the packages required for the installation.

If they’re missing, you’ve probably mounted the Minimal or Boot ISO instead of the DVD ISO.

Step 3: Create a Local DNF Repo

Create a new DNF repository file:

sudo nano /etc/yum.repos.d/rocky10-local.repo

Paste the following configuration:

[rocky10-baseos-local]
name=Rocky Linux 10 - BaseOS (Local ISO)
baseurl=file:///mnt/rocky10-iso/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///mnt/rocky10-iso/RPM-GPG-KEY-Rocky-10

[rocky10-appstream-local]
name=Rocky Linux 10 - AppStream (Local ISO)
baseurl=file:///mnt/rocky10-iso/AppStream
enabled=1
gpgcheck=1
gpgkey=file:///mnt/rocky10-iso/RPM-GPG-KEY-Rocky-10

Save the file and exit the editor.

Now disable the online repositories so DNF won’t try to connect to the internet:

sudo dnf config-manager --disable \* 2>/dev/null
sudo dnf config-manager --enable rocky10-baseos-local rocky10-appstream-local

Verify that DNF can see the local repositories:

sudo dnf repolist

Example output:

repo id                         repo name
rocky10-appstream-local         Rocky Linux 10 - AppStream (Local ISO)
rocky10-baseos-local            Rocky Linux 10 - BaseOS (Local ISO)

If the repositories don’t appear, double-check:

  • The ISO is mounted correctly.
  • The baseurl paths match the mount location.
  • There are no typing mistakes in the .repo file.

You can also verify that the package directories exist:

ls /mnt/rocky10-iso/BaseOS 
ls /mnt/rocky10-iso/AppStream

Step 4: Install GNOME from the Local Repo

Once the local repositories are working, install GNOME just as you would on an online system:

sudo dnf group install "Server with GUI" -y

DNF will install all required packages directly from the mounted DVD ISO without accessing the internet. Depending on your storage device, the installation usually takes 5 to 10 minutes.

Step 5: Set Graphical Boot and Start GDM

After the installation finishes, configure the system to boot into the graphical interface:

sudo systemctl set-default graphical.target

Start the GNOME Display Manager without rebooting:

sudo systemctl start gdm

The GNOME login screen should appear after a few seconds, so sign in using your normal user account.

Finally, reboot the system to confirm that it starts directly in the graphical desktop:

sudo reboot

Optional: Mount the ISO Automatically at Boot

By default, the ISO is mounted only for the current session. After a reboot, you’ll need to mount it again if you want to install more packages from it.

To mount it automatically during boot, add the following entry to /etc/fstab:

/tmp/Rocky-10-latest-x86_64-dvd.iso  /mnt/rocky10-iso  iso9660  loop,ro  0 0

Before rebooting, verify that the entry is correct:

sudo mount -a

If the command completes without errors, the mount is configured correctly.

Warning: If you move or delete the ISO file after adding it to /etc/fstab, the system may pause during boot while trying to mount it. If you no longer need the ISO, remove the corresponding /etc/fstab entry before deleting or relocating the file.

Got GNOME running on a machine with no internet? who manages air-gapped Linux boxes and has been putting it off.

Switching Back to Text Mode

If you no longer need the graphical desktop, you can configure Rocky Linux to boot back into command-line mode.

First, change the default boot target to multi-user, stop the graphical login manager, and then reboot the system:

sudo systemctl set-default multi-user.target
sudo systemctl stop gdm
sudo reboot

After the reboot, the system will start in text mode and display the login prompt instead of the GNOME login screen.

If you want to switch back to the graphical desktop later, set the default target back to graphical.target and reboot:

sudo systemctl set-default graphical.target
sudo reboot

Alternatively, if you’re currently logged into the command line and don’t want to reboot, you can start the graphical login screen immediately:

sudo systemctl start gdm
If this guide saved you time, who’s still wondering why their Rocky Linux server won’t show a desktop.
Conclusion

You’ve now learned two ways to install the GNOME desktop on Rocky Linux 10. If your system has internet access, installing GNOME with DNF is the quickest and easiest option. If you’re working in an offline or restricted environment, you can use the Rocky Linux 10 DVD ISO as a local repository to install the same desktop without downloading any packages.

Whichever method you choose, you’ll end up with a fully functional GNOME desktop running on a minimal Rocky Linux 10 installation. You also learned how to configure the system to boot into graphical mode by default, switch back to text mode when needed, and troubleshoot common issues during the installation.

If you run into any problems during the installation, such as package errors, GDM failing to start, or display issues inside a virtual machine, leave a comment below with your setup and the exact error message. I’ll be happy to help you troubleshoot the issue.

If this article helped, with someone on your team.

TecMint Weekly Newsletter
Get the Learn Linux 7 Days Crash Course free when you join 34,000+ Linux professionals reading every Thursday.
Check your email for a magic link to get started.
Something went wrong. Please try again.
TecMint has been free for 14 years. Help keep it that way.
Google AI Overviews and tools like ChatGPT have cut into search traffic for independent tech sites like TecMint. Running this site costs over $2,000 every month for hosting, infrastructure, and paying authors to keep the content accurate and tested.

If this article helped you solve a problem, consider buying a coffee. It helps keep TecMint free, supports the authors, and keeps the project going.
☕ Buy Me a Coffee
Ravi Saive
I'm Ravi Saive, an award-winning entrepreneur and founder of several successful 5-figure online businesses, including TecMint.com, GeeksMint.com, UbuntuMint.com, and the premium learning hub Pro.Tecmint.com.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

34 Comments

Leave a Reply
  1. Hello

    I am new to Cent OS, so my questions may look very basic, but need help to move forward

    Installed Cent OS 7 (32 Bit) on Oracle VM, when installing – used Cent OS Everything iso and selected Server with GUI as Base Environment and all the add-ons (it was a long list)

    Version check result –
    centos-release-7-3.1611.el7.centos.i686
    GNOME version 3.14.0

    But where is the GUI Package manager Yumex, it is no seen where to find it or install it

    Thank you

    Reply
  2. Hi Ravi, I had no luck with the repo as [centos7] but when I changed it to[centos7dvd] the packages downloaded but I ran into another problem with the public key file. Here is the final output:
    ================================================================================
    Transaction Summary: Install 288 Packages (+705 Dependent packages)
    Total Download size: 721 M
    Installed size: 2.1 G
    Is this ok [y/d/N]: y
    Downloading Packages:
    # warning: /mnt/cdrom/Packages/GConf2-3.2.6-8.e17.x86_64.rpm: Header V3 RSA/SHA256
    Signature, key ID f4a80eb5: NOKEY
    Public Key for GConf2-3.2.6-8.e17.x86_64.rpm is not installed
    —————————————————————————————————————-
    Total 7.3 MB/s | 721 MB 01:38
    Retrieving key from file: ///etc/pki/rpm-gpg/RPM-GPG-KEY-centOS-7
    GPG key retrieval failed: [Errno 14] curl#37 – “Couldn’t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-centOS-7”
    Do have any suggestions I can try?

    Reply
      • Thanks Ravi, I found the problem, I had a lower case “c” for the PGP= statement instead of “CentOS-7”

        I made that change and then ran:

        # yum –disablerepo=* --enablerepo=centos7dvd groupinstall “GNOME Desktop”
        

        and all 993 packages were installed & verified. I then unmounted the cdrom by typing:

        # umount /mnt/cdrom
        

        but the message said nothing mounted.
        I typed in the GUI target switch as follows:

        # ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
        

        There were no errors, just went to the root prompt again. When I rebooted, it went to the normal Centos 7 command line login.

        I logged in as root and typed

        # init 5
        

        and it then started the GUI.

        I repeated this process once more and now it boots to the GUI.

        Happy Days!!! Thanks for all you good instructions and patience.

        Reply
        • @Optimxr,

          Yeah, that’s great to know, you finally install GUI i.e Gnome Desktop on CentOS 7. I hope you learned few things today..

          Reply
  3. When clearing the yum I get this message;
    [root@localhost~]# yum clear all
    loaded plugins: fastestmirror
    No such command: clear. please use /bin/yum –help

    I am not sure what I need to do with –help menu, any suggestions?

    Reply
      • Thanks Ravi for responding so quickly. A silly mistake on my part. It cleans successfully now.
        However, when I do the repolist I do not see centos7 in red and I see enabled: 0 . Could this be due to no network connection( it did not appear when I did the core installation)?

        Reply
  4. I did every thing right. it said an successful installation. also run the last command to boot with GUI. but it went to usual centos 7 core mode

    Reply
    • @Wathsala,

      Have you executed the following command without any errors?

      # ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
      

      What you will getting after reboot? is the server booted into GUI mode or not? or it remains in same server mode? if yes, try init 5 command to switch to GUI mode.

      # init 5
      
      Reply
  5. Please I have this error:
    after to type: mount /dev/cdrom /mnt/cdrom
    mount /dev/sr0 is write-protected. mounting read-only
    sorry but What is means??
    Thanks a lot

    Reply
    • @Fherpie,

      That means your CD-Rom is mounted as read-only mode, you can’t write to this drive, but you can copy/view the content of cdrom.

      Reply
  6. For anyone tring this out, i recommend naming the repo as centos7dvd for the file, the bracket and name. Should get you around the repodata error on CentOS 7

    Reply
  7. I have Problem i do everything, but when i do the install i have these message: ” Cannot find a valid base url for repo: base/y/x86_64

    Reply
    • @Diego,
      Try adding following DNS nameservers entries to /etc/resolv.conf file and try again…

      nameserver 8.8.8.8
      nameserver 8.8.4.4
      
      Reply
  8. Thank you!
    I test it on RedHat 7.1 minimal installation, but I receive an error:

    Error downloading packages:
    gnome-settings-daemon-3.8.6.1-12.el7.x86_64: [Errno 256] No more mirrors to try.

    Any idea?
    Thank!

    Reply
  9. My centos 7 installation automatically mounts the iso at a different mountpoint, but your procedure works like a charm after making this change in the .repo file. Many thanks.

    Reply
    • @Yair,
      No you cannot these instructions only works on RedHat/CentOS based systems, but you can still install Gnome under Debian using following commands.

      # apt-get install aptitude tasksel
      # tasksel install gnome-desktop --new-install
      OR
      # apt-get install gnome
      
      Reply
  10. This is totally wrong instruction.
    yum –disablerepo=* –enablerepo=rhel7 groupinstall “Server with GUI” will never work.
    Please dont give wrong instruction.

    Reply
    • @Linux,
      The given instructions are practically tested on CentOS 7 and worked 100% percentage, if it’s not worked for you, that means you’re doing wrong…the correct command is:

      # yum --disablerepo=* --enablerepo=rhel7 groupinstall “Server with GUI”
      
      Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.

Free Course
Get a free Linux course before you go.
Subscribe to TecMint Weekly and get the Learn Linux 7 Days Crash Course free. Read by 34,000+ Linux professionals every Thursday.
Something went wrong. Please try again.
Check your email for a magic link to get started.