You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ubuntu-desktop/explanation/what-ubuntu-is-made-from.md
+28-28Lines changed: 28 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,61 +1,56 @@
1
1
# What is Ubuntu Desktop made of?
2
2
3
3
Ubuntu Desktop has millions of users today. As a new user, you might be curious to know what Ubuntu Desktop is made of.
4
-
Not necessarily a deep technical explanation, but a great overview of what it is. This is what this guide addresses.
5
-
It explains what a desktop environment is, what applications are, how package managers work, and more.
4
+
This guide explains the Ubuntu desktop environment, the types of applications it runs, how package managers work, and more.
6
5
7
6
## Desktop environment
8
7
9
8
The Ubuntu Desktop environment provides a Graphical User Interface (GUI) for interacting with Ubuntu.
10
-
Think of it like a theme but with more in-depth customization. Several desktop environments exist, and some are memory-intensive and others aren't.
11
-
Ubuntu Desktop ships with the GNOME desktop environment by default. Other alternative environments are:
9
+
The GUI determines the visual appearance of the desktop and the user experience of interacting with its tools and applications.
10
+
Ubuntu Desktop ships with the GNOME desktop environment by default. Other alternative desktop environments include:
12
11
13
12
- KDE Plasma
14
13
- XFCE
15
14
- LXQt
16
15
- MATE
17
-
- Budgie, etc.
16
+
- Budgie
18
17
19
18
Interestingly, Ubuntu Desktop comes in [different flavors](https://ubuntu.com/desktop/flavours), each with its desktop environment.
20
19
For example, the Kubuntu flavor supports the KDE Plasma desktop environment.
21
20
22
-
A desktop environment consists of different independent components that are customizable.
23
-
Sometimes, a Linux user may choose to run only one component rather than the entire desktop environment to save memory. Anyway, some of these components are:
21
+
A desktop environment consists of different independent components, including:
24
22
25
23
-**Windows manager**: This manages a window that pops up when you open a terminal or any application at all.
26
24
-**User app**: These are default applications in the desktop environment.
27
25
-**File manager**: This is a UI environment for interacting with files.
28
26
29
27
## Applications
30
28
31
-
This comprises of system and user applications.
29
+
These are comprised of system and user applications.
32
30
33
-
-**System application**: The system applications interact with the operating system. Examples are App Center, Terminal, etc.
34
-
-**User applications**: They perform day-to-day activities and have permissions to the operating system restricted. One example is Firefox.
31
+
-**System application**: The system applications interact with the operating system. Examples are the App Center and GNOME Terminal.
32
+
-**User applications**: They are used to perform day-to-day activities and have permissions to the operating system restricted. Examples are Firefox and Calculator.
35
33
36
34
## Package manager
37
35
38
-
A package manager is used to manage your application lifecycle; install, upgrade, remove, etc. You can do this using a GUI or command line.
36
+
A package manager is used to manage your application lifecycle, including install, upgrade, update and remove. You can do this using a GUI applications or with the command line.
39
37
40
-
-**The GUI**: Ubuntu Desktop comes pre-installed with an application store called App Center or Snap Store. For example, you open it, search for an application, and install it.
41
-
-**Command line**: This is the backend version of the GUI application store. It uses `apt` or `snap`, and the applications are downloaded from a repository; this may be one maintained by Canonical or a third party.
42
-
-**apt (Advanced Package Tool)**: This isn't Ubuntu-specific, but is used on all Debian-based systems like Ubuntu.
43
-
-**snap**: This is developed by Canonical.
38
+
-**The GUI**: Ubuntu Desktop comes pre-installed with an application store called the App Center. It provides a graphical interface that allows you to search for apps and install them.
39
+
-**Command line**: Packages can be installed from the terminal using `apt` or `snap` commands:
40
+
-**apt (Advanced Package Tool)**: This is the default package manager on all Debian-based systems like Ubuntu.
41
+
-**snap**: Another built-in package management tool on Ubuntu, which includes all dependencies in a contained environment called a "snap".
44
42
45
43
## Display server
46
44
47
-
This ensures that GUI applications can communicate with graphics-related hardware and input devices like the keyboard, mouse, touchscreen, etc.
45
+
This ensures that GUI applications can communicate with graphics-related hardware and input devices, including the keyboard, mouse, and touchscreen.
48
46
49
-
For example, the Ubuntu Server doesn't ship with a GUI; it runs in headless mode, with no GUI. But it can [install a GUI](https://documentation.ubuntu.com/aws/aws-how-to/instances/launch-ubuntu-desktop/#install-ubuntu-desktop-and-the-snap-store),
50
-
and this is possible if your hardware supports graphics components.
51
-
When the GUI is installed using `sudo apt-get install -y ubuntu-desktop`, it comes pre-installed with a display server, [desktop environment](#desktop-environment), etc.
52
47
53
48
The display server consists of a communication protocol and a display server.
54
49
55
-
- Protocol: Enables communication between the GUI applications and the display server. Examples are [X11](https://en.wikipedia.org/wiki/X_Window_System_core_protocol), [Wayland](https://wayland.freedesktop.org/docs/html/), etc.
56
-
- Display server: Implements the protocol. Examples are [X.Org](https://www.x.org/wiki/), [Weston](https://wayland.pages.freedesktop.org/weston/), etc.
50
+
- Protocol: Enables communication between the GUI applications and the display server. Examples are [X11](https://en.wikipedia.org/wiki/X_Window_System_core_protocol) and [Wayland](https://wayland.freedesktop.org/docs/html/).
51
+
- Display server: Implements the protocol. Examples are [X.Org](https://www.x.org/wiki/) and [Weston](https://wayland.pages.freedesktop.org/weston/).
57
52
58
-
Your choice of display server depends on your requirements. For example, you need smoother graphics rendering when gaming or running a modern GPU card.
53
+
Users of Ubuntu Desktop can currently choose between X11 and Wayland.
A shell is a command-line interface, a non-graphical way to interact with the operating system. You can access it by launching
74
69
a Terminal application.
75
70
76
-
For example, to see your working directory, run `pwd`. To list files in your current directory, you run `ls`.
71
+
For example, you can run the following:
72
+
73
+
-`pwd`: Shows your working directory.
74
+
-`ls`: Lists files in your current directory.
77
75
See [The Linux command line for beginners](https://ubuntu.com/tutorials/command-line-for-beginners#1-overview) for more information about Linux commands.
78
76
79
-
A shell ends with `$` for non-root users and `#` for root users.
77
+
The terminal prompt ends with `$` for non-root users and `#` for root users.
80
78
81
-
There are several types of shells available:
79
+
There are several types of shells available, including:
82
80
83
-
- Bourne Again Shell (bash):
84
-
- shell (sh), etc.
81
+
- sh
82
+
- bash
83
+
- fish
84
+
- zsh
85
85
86
86
You can automate tasks in a shell. To do that, define your task in a shell script that ends with a `.sh` file type. Then, make the script executable and run it.
87
87
For example, you can write a script that greets you with hello and displays the time.
@@ -97,7 +97,7 @@ You can check the path to where the Ubuntu Desktop kernel binary is stored by ru
97
97
ls /boot/vmlinuz-$(uname -r)
98
98
```
99
99
100
-
There are several use cases of a kernel:
100
+
Examples of processes involving the kernel include:
101
101
102
102
- When a display server is launched, its protocol communicates with the kernel, which then directs the request to the GUI-related hardware (GPU, frame buffer, etc.).
103
103
- Storage and CPU resources can be allocated to a launched application running [outside the kernel](https://en.wikipedia.org/wiki/User_space_and_kernel_space).
0 commit comments