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
+53Lines changed: 53 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,8 +44,61 @@ A package manager is used to manage your application lifecycle; install, upgrade
44
44
45
45
## Display server
46
46
47
+
This ensures that GUI applications can communicate with graphics-related hardware and input devices like the keyboard, mouse, touchscreen, etc.
48
+
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
+
53
+
The display server consists of a communication protocol and a display server.
54
+
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.
57
+
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.
59
+
47
60
## Services
48
61
62
+
These are system applications running in the background. They often automatically start when Ubuntu Desktop boots. You can
63
+
manage them using the `systemctl` command-line tool. These applications manage your Wi-Fi, Bluetooth, File System, and other settings.
64
+
65
+
To list all your services, run:
66
+
67
+
```shell
68
+
systemctl list-units --all --type=service
69
+
```
70
+
49
71
## Shell
50
72
73
+
A shell is a command-line interface, a non-graphical way to interact with the operating system. You can access it by launching
74
+
a Terminal application.
75
+
76
+
For example, to see your working directory, run `pwd`. To list files in your current directory, you run `ls`.
77
+
See [The Linux command line for beginners](https://ubuntu.com/tutorials/command-line-for-beginners#1-overview) for more information about Linux commands.
78
+
79
+
A shell ends with `$` for non-root users and `#` for root users.
80
+
81
+
There are several types of shells available:
82
+
83
+
- Bourne Again Shell (bash):
84
+
- shell (sh), etc.
85
+
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
+
For example, you can write a script that greets you with hello and displays the time.
88
+
51
89
## Kernel
90
+
91
+
This ensures that the Ubuntu operating system can communicate with the entire hardware. It's stored in a disk drive and loaded into RAM when Ubuntu Desktop boots.
92
+
93
+
Since Ubuntu Desktop is often run as a virtual machine, it means the host system has its own kernel, and so does Ubuntu Desktop.
94
+
You can check the path to where the Ubuntu Desktop kernel binary is stored by running:
95
+
96
+
```bash
97
+
ls /boot/vmlinuz-$(uname -r)
98
+
```
99
+
100
+
There are several use cases of a kernel:
101
+
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
+
- 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).
104
+
- An application can be loaded to run inside the kernel using [Extended Berkeley Packet Filter (eBPF)](https://documentation.ubuntu.com/server/explanation/intro-to/ebpf/).
0 commit comments