4-decade long MS command line and Windows user learning Ubuntu. Please ELI actually 5: GNOME. I’m yet to find a Linux person who explain it simply.

1.04K views

Terminal and all that other shit, I follow you. Command lines. Fine. I don’t know what the Linux terms mean, but I understand command lines etc… But GNOME… what the fuck is it? Is it a suite? an environment? Every Linux user explains things like I’ve already been a user for a few years and all of them have forgotten what being NEW actually is.

Ironically, the WORST place to find Linux environments explained simply and clearly from the bottom up: The Internet.

This is where I remind and beg: Like. I’m. FIVE.

In: 81

27 Answers

Anonymous 0 Comments

There is a lot of stuff that needs to be run on top of the OS kernel to make what you would recognise as a desktop operating system, and there are multiple ways of achieving the same things. In Windows all the choices are made for you, e.g. you have dwm.exe which handles windowing, explorer.exe for file browsing, various programs that let you configure settings etc. This is your ‘desktop environment’ (DE).

On Linux, there are a lot more options, and GNOME is one of these options. It’s basically a small software suite that provides a uniform experience for common system operations.

Ubuntu has decided to run the GNOME desktop environment as part of its distro, other distros use other DEs like KDE.

Feel free to ask more questions in the replies and I will answer as best I can.

Anonymous 0 Comments

GNOME is a desktop environment. On Windows people have a single desktop environment with a few things they can configure, while on Linux they have many like GNOME, KDE, Xfce …

With KDE you can configure something that would be very close to the Windows desktop with lots of menus, while with GNOME the approach is different, the desktop is only secondary and in the basic GNOME configuration it’s pretty empty, the windows have a minimal set of buttons, etc. Other environments have their uses too, for example Xfce is lightweight and might be more suitable for older computers.

Anonymous 0 Comments

Edit, a short and simple explanation.

For all practical purposes, GNOME is the graphical parts of Ubuntu operating system. This means, among other things, a collection of all the key system applications (like file explorer).

Original explanation starts here:

GNOME is one of the desktop environments running between the lower graphics layers and your user inputs. That is, for handling the graphical user interface (GUI), including applications to manage all settings of the GUI.

There are two big desktop environments (KDE is the other), and a pile of smaller desktop environments for specific purposes like one optimised for slower system, or for minimalism for sake of minimalism.

Of the two big ones, GNOME likes to keep things simple whereas KDE wants to allow the user to customise everything should they so wish. These two approaches seem to divide the Linux users into two stable camps. You usually either swear by GNOME or by KDE and wonder why anyone would use the other (as both are for all practical purposes good enough to just work for all normal use cases).

Anonymous 0 Comments

As a very rough analogy, think about early Windows. When you booted, it loaded msdos then started a graphical interface (wn 3.1). When you boot a Linux system, it loads a graphical environment like gnome. There are other environments like KDE, they work the same way but have a different look and feel

Anonymous 0 Comments

Windows has everything of its own. Its own booting process, file system, terminal emulator (command prompt) and the Desktop Environment (the Desktop, My Documents,the media player, image previews, the Windows theme, icons and sounds, Recycle Bin, etc)

In linux based operating sysyems (or better GNU/linux), you can use different Desktop Environments (DE) talking to internals (the famous Linux Kernel)

You can switch using them as you prefer. They come with a set of tools and utilities.

Gnome and KDE are 2 popular Desktop Env that can be used with other parts to make a full working “distribution”, ready to be installed and used.

The choice of DEs is mostly esthetics (but many many people will strongly disagree with that 🙂

Anonymous 0 Comments

It’s a desktop environment. One of many that you could use instead.

They don’t all do the same things, but generally speaking they provide you with a desktop, program icons, a task bar, a start menu, a system tray, window decorations (like the bar on top, the minimize/close/etc. buttons, a border, etc.), drag and drop functionality and windows management (so you can switch between them, move them around, resize them, maybe snap them to the half of the screen or such).

Essentially it does everything you need to _intuitively_ interact with your computer through a GUI. Without it, you could essentially only display one graphical application at a time and all the (comfort) functionality you expect of the graphical interface of your PC would not exist.

Anonymous 0 Comments

If you’ve been using Ms command line and windows for 40 years, you’d remember that there was Ms dos and windows. They were separate things. You would use windows to graphically interact with the file system and see the desktop, etc. There were some basic games in windows that you could load like paint, but for heavy games like doom, you had to exit out of windows and run them through Ms dos. Windows ran on top of Ms dos.

Gnome is like that version of windows — a graphical way to interact with the file system and nontext programs. There is Ubuntu which is a flavor of the Linux file system and then there is gnome which is a way to graphically display menus, your desktop, the little clock, applications written to work with gnome, etc.

Since computer resources have increased drastically, you don’t need to exit out of the desktop, it can run in the background.

Anonymous 0 Comments

OK, the fact that you’re used to using the command line / terminal is actually going to be quite helpful here!

My explanation will maybe be a bit longer-winded than others, but you did say “from the bottom up” so here goes. Also of note, I’m going to gloss over and oversimplify some things for the sake of getting the spirit right. Folks who know more detail, don’t come at me, ok? Splitting hairs usually leads to less understanding.

Way back in the early, early days of computers, earlier than, and leading through, the punch-card era, the program being run off the punch cards or storage media *was* often the one and only program run on the computer. There wasn’t an operating system, per se, the computer would just sit idle until an operator loaded the stack of cards and hit the go button, at which point the computer would just churn through that one program until it completed, either with a success or an error. You would submit a program to be run to this operator and they would (often overnight) feed various programs from you and your peers through the computer, then you’d pick up the results in the morning.

Along the way, someone had the idea to automate this running of programs. Instead of a person feeding in the one and only program at a time, what if you had a separate supervisor program… and this program was responsible for running *other* programs, which would then return to the supervising program when they were done.

This is the first, basic role of the **operating system**: it’s a program that runs other programs. Notably, one of its main roles is to handle scheduling: so what program runs for how long and when. So a *scheduler* is one of the fundamental parts of the operating system. It’s integral to the core of the OS, which is called the *kernel*.

Over time the operating system was expanded to handle more jobs that just seem very fundamentally tied into how to allocate hardware resources: by abstracting the idea that programs running within this supervisor might want to read and write data, for instance, we get a “filesystem” where the program asks the OS to create a file in a virtual location / folder; the OS will know how to interface with the hardware of the computer, but the program only has to know how to read and write to this abstract file object, not how to control, say, the magnetic head to write a specific sequence of north/south poles into a rotating drum. The part of the OS that translates between the abstract idea of functionality (like a file) and the hardware is called a **driver**. This is also generally considered to be part of the operating system, but isn’t (usually) considered part of the *kernel*; instead, it’s more like a plugin that the kernel can defer to when one of the running programs wants to store or read information.

What parts of all these units fit into the kernel, and what parts are separate, are all part of the design of the operating system. Linux, Windows, Mac OS, Unix (etc…) all make separate choices here.

Finally, to the point of your question, there are basic programs that run in “user space” (not part of the protected kernel, but are programs that are being run *by* the kernel) and these programs often feel so fundamental to the operation of the computer that they are often confused with being part of the operating system. One such framework is the *desktop environment*. It is not part of the kernel, nor part of the OS, but is a very low-level fundamental framework that is present on many, many installations of the OS.

It is quite possible to run Linux with no desktop environment. A lot of embedded Linux installs don’t have one at all. It’s the same operating system, for the most part, but there’s no graphical interface. Instead, users have other ways of handling interaction. If it’s a full computer with mouse and keyboard, it might have a terminal emulator – only text and blinking cursors, no windows. If it’s an embedded Linux install it might not even have this, and it might just run some version of Linux on just the hardware at hand, be it a chip in a car, a wearable device, what have you.

Point being: the desktop environment is not part of Linux; rather, there are a few very popular programs that all run on Linux to give you the windows / desktop / file browser / start menu / etc, that sort of thing.

In general, one of the strengths of Linux is that the “layers” of what are thought about with regards to the OS are more split out and can be mixed and matched. If you run Windows, you get the Windows kernel and the Windows windowing system. They’re not the same thing, but you really only have the one choice, so it feels like it’s all part of the same thing, even if it’s not (you can still run the Windows kernel just from the command line with no GUI and interact with it in a DOS-like way).

On Linux, you have GNOME, KDE, xfce, etc… as options for the desktop environment that runs on top of the Linux kernel, and they all have a little bit different idioms, look and feel, etc…

OK. With me so far?

If you have a different desktop environment, generally any GUI app will be built to use that environment’s libraries. Programs that are built using GNOME will use GDK libraries, have GNOME-looking windows, fonts, that sort of thing. KDE will use KDE libraries and Qt for handling the GUI, bringing up windows for the UI, etc… So using a different desktop environment will look and feel different, and have different programs. There will be a GNOME program for graphically showing attached drives and for formatting them, and KDE will have a different program for the same purpose.

Last part of confusion, if you have the right libraries installed, you can usually run a different desktop environment’s programs if you really want to. You can run KDE’s drive manager on GNOME so long as you *also* have all the KDE libraries installed as well. For the most part, through, this feels like using a strange sibling program that has slightly different, say, menu structures, so people often stick to the programs using their main desktop environment.

So the desktop environment controls the look and feel of your windows, start menus, etc… but is not technically part of the OS kernel. If you use a different environment you will usually get different programs that are built for that environment.

Anonymous 0 Comments

Windows and Mac OS look very different. The buttons are not the same, the colors are not the same. The design is not the same. Its the visible part of a system.

GNOME is one too. You can replace it with another complete system appearance

Anonymous 0 Comments

First, a history lesson:

AT&T made an operating system called UNIX. AT&T had a monopoly on the phone system, so the US government split them into many companies. Each company took UNIX and continued with on their own, so there were many versions of UNIX. These companies then licensed it to other companies and Universities and it became a big old mess. See the UNIX family tree: https://en.wikipedia.org/wiki/History_of_Unix#/media/File:Unix_history-simple.svg. Through the 70s, 80s and 90s a lot of high end computers and servers used some form of UNIX.

UNIX was expensive, so there were several groups working independently to creating a free version of UNIX. The Free Software Foundation (FSF) thought the first thing that should be done was a C complier and the command line tools. So they started working on that.

About 5 years later Linux Torvalds came along and wanted a free version of UNIX too. He thought he should start with the Kernel (the part of the OS that talks to the hardware). He named his kernel Linux.

Other people came along and saw all these parts and said there is enough here for a complete operating system. Lets bundle them all together and make an OS. Many people have done this including Slackware, Ubuntu, Debian, Gentoo, Redhat, etc. These are called Linux Distributions, or Distros for short. There were lots of arguments about the name, should it really be called Linux when that is only a small part of the entire system.

Then people wanted a Graphical User Interface for the OS. MIT started the XWindow System, which again there were many versions of, the one most Linux users used at the time was XFree86. But XWindows was very basic, and this was about the time Windoows 95 was getting popular and people on Linux wanted a better GUI. They wanted it to be more like Windows with all the standard tools built in.

So a group called KDE started a ‘desktop environment’. This would be everything people expected from a modern OS. A web browser, a media player, a calculator, a work processor. All the stuff people now expected to come with an OS. However, MS Windows was moving fast and they needed to catch up. They figured they didn’t have to to write it all themselves, so they based KDE on Qt, commercial software they could use without cost, but wasn’t free-software/open-source.

There were another group of Linux users who found this unacceptable. Commercial software should not be required to use Linux. So they started another Desktop Environment called Gnome. It was a duplication of all the stuff in KDE.

So when you picked a Linux distribution you had to pick between KDE which had more stuff and Gnome which had more freedom.

Now Qt is free software (LGPL or commercial license) and Gnome has all the stuff. I’m not really up to date on KDE vs Gnome anymore. Pick one, they are pretty much equivalent. That’s pretty much the story of Linux, there are multiple of everything, pick one and get on with things. Heck, you don’t even need to use Linux anymore, FSF has their own Kernel now (HURD) so you can run Debian Hurd.