Topic: Introduction to the Interface and Features of Linux OS
Purpose of the Work: Gaining practical skills in working with Linux OS and mobile OS environments – including their graphical interface, logging in and out of the system, familiarizing with the desktop structure, and learning the basic operations and settings for working within the system.
1.1 Choose a Graphical Shell for a Linux OS to Review. Examine the structure of the user workspace and describe its main components.
- Main menu. The main menu in KDE, called Kickoff, is in the bottom-left corner by default. It provides access to installed applications, system settings, and recent files. Users can browse applications by category or use the search function to find what they need quickly. KDE also offers alternatives like the Application Dashboard, which presents a full-screen launcher, and Simple Menu, which offers a more minimalistic approach.
- Quick access. KDE uses a taskbar to display open applications, allowing users to switch between them easily. It supports grouping, window previews, and pinning frequently used applications.
- Search. Main search system is KRunner. Activated by pressing Alt + Space, KRunner allows users to launch applications, open files, perform calculations, search online, and execute commands.
- Virtual desktops creation. KDE supports multiple virtual desktops, allowing users to organize their workspace efficiently. Users can switch between them using keyboard shortcuts (Ctrl + F1 to Ctrl + F4 by default) or via the desktop switcher widget. Or by using Activities.
- Via quick access
- Via search
- Via widget
- Changing user to
root
- System restart and shutdown (via main menu)
The main menu of iOS is the Home Screen, which features a grid-based graphical interface. It uses a touch-friendly UI with app icons arranged in rows and columns. The interface is gesture-driven, allowing users to swipe between pages, tap icons to open apps, and use drag-and-drop for customization. The Dock%20at%20the bottom provides quick access to frequently used apps. iOS uses a flat design with smooth animations and transparency effects, following Apple’s Human Interface Guidelines.
The Settings menu in iOS provides access to various system and hardware configurations. It has a list-based interface with categorized sections. Key components include:
- Wi-Fi & Bluetooth – Manage wireless connections
- Cellular – Control mobile data usage
- Sounds & Haptics – Adjust volume, ringtones, and vibration
- Display & Brightness – Configure screen brightness, text size, and dark mode
- Battery – View battery usage and enable Low Power Mode
- Privacy & Security – Manage app permissions and data access
- General – System settings, software updates, and device information Each section has submenus for detailed customization
On iOS, you can use keyboard shortcuts when a physical keyboard is connected (e.g., via Bluetooth or Magic Keyboard). Some common shortcuts include:
- ⌘ + H – Go to the Home Screen
- ⌘ + Space – Open Spotlight search
- ⌘ + Tab – Switch between open apps
- ⌘ + Shift + 3 – Take a ./attachments/Screenshot
- ⌘ + Shift + 4 – Take a ./attachments/Screenshot and open Markup
- ⌘ + Option + D – Show or hide the Dock Many apps, like Safari and Notes, support additional shortcuts for navigation and text editing
To log in to an iOS device, press the Side button or the Home button on older models and use Face ID, Touch ID, or enter a passcode. To shut down the device, go to Settings, then General, and select Shut Down, or hold the Side button along with a Volume button until the power slider appears, then slide to turn off.
Battery power settings in iOS include options for monitoring battery health and charging, enabling Low Power Mode to reduce background activity, and viewing battery usage by app. The system also features Optimized Battery Charging, which slows down charging%20at%20night to extend battery lifespan. Additionally, users can manage Background App Refresh to control which apps update in the background, helping to save power.
1. Give examples of Linux server applications for database servers, messaging servers, and file sharing.
For database servers, common Linux applications include MySQL, PostgreSQL, and MariaDB for relational databases, while MongoDB and Redis handle NoSQL and caching needs. Messaging servers often use Postfix or Exim for email, with Dovecot managing mailbox access, and RabbitMQ or Kafka handling message queuing. For file sharing, Samba enables Windows compatibility, NFS supports Linux/Unix systems, and solutions like Nextcloud provide cloud-based storage.
The Bourne shell (sh) is a simple, widely compatible scripting shell. The C shell (csh) introduced C-like syntax and job control but had weaker scripting. Bash improved on sh with better interactivity and scripting. Tcsh enhanced csh with auto-completion and editing. The Korn shell (ksh) combined sh’s reliability with advanced features. Zsh is the most feature-rich, offering customization, auto-completion, and scripting improvements.
A package manager automates the installation, updating, and removal of software on a Linux system, handling dependencies to ensure smooth operation. Common Linux package managers include APT (Debian, Ubuntu), DNF/YUM (Fedora, RHEL), Zypper (openSUSE), and Pacman (Arch Linux). There are also universal package managers like Flatpak, Snap, and AppImage for cross-distribution applications.
There're a lot
- User and Group Permissions – Controls access to files and directories using read, write, and execute permissions
- Mandatory Access Control (MAC) – Systems like SELinux and AppArmor enforce stricter security policies
- Pluggable Authentication Modules (PAM) – Manages authentication, authorization, and password policies
- Firewall (iptables/nftables) – Controls network traffic and prevents unauthorized access
- File Encryption – Tools like LUKS and eCryptfs provide disk encryption
- Kernel Security Modules – Prevents exploits and enforces security policies (SELinux, AppArmor)
- Address Space Layout Randomization (ASLR) – Protects against memory-based attacks
- Audit Framework – Monitors system activity and logs security events
- Chroot and Namespaces – Isolate processes for security (used in containers)
Virtualization has become crucial in today's computing landscape primarily due to the increasing demands for efficient resource use and flexible computing solutions. Organizations can now run multiple virtual environments on single physical servers, dramatically cutting costs and improving hardware utilization. This technology has become especially vital with the rise of cloud computing and remote work, where businesses need to provide secure, accessible computing environments regardless of physical location. It's also become indispensable for software development and disaster recovery, while helping organizations reduce their environmental impact through more efficient use of computing resources. The ability to create, move, and manage virtual environments has fundamentally transformed how modern computing infrastructure is deployed and managed.
Containerization is a lightweight virtualization approach that bundles an application with everything it needs to run. Unlike full virtual machines that include an entire operating system, containers share the host system's OS kernel and carry only essential components. It's similar to shipping containers - standardized boxes that can transport any cargo consistently across different vessels. This technology gained widespread adoption through platforms like Docker, primarily because containers are both portable and efficient. Since each container holds all necessary dependencies, applications run consistently across any environment, solving many traditional deployment challenges developers face.
Open source software offers significant benefits through its transparency and community-driven development, allowing organizations to inspect, modify, and improve code while avoiding licensing fees. The global developer community often provides rapid security fixes and continuous improvements. However, this comes with certain drawbacks - organizations may struggle with inconsistent technical support, documentation quality, and the risk of project abandonment. While the software itself is free, companies need to invest in skilled personnel who can effectively implement and maintain it. The decision between open source and proprietary solutions ultimately depends on an organization's specific needs and technical capabilities.
8. How many active virtual consoles (terminals) can be present in a Linux process by default. How to call them and switch between them? What are some examples?
In a typical Linux system, there are 6 virtual consoles (tty1 through tty6) available by default, with tty7 often reserved for the graphical interface (X server or Wayland).
You can access these virtual consoles using Ctrl + Alt + F1 through F6
or using the command chvt
followed by the terminal number (e.g., chvt 2
)
To see which virtual console you're currently using, you can use the tty command. For example:
$ tty
/dev/tty2
This feature proves especially useful when troubleshooting system issues – for instance, if the graphical interface freezes, you can switch to a text console, log in, and resolve the problem.
On most Linux distributions, the graphical session resides on virtual console 7 (TTY7) by default. It might be otherwise, however, depending on system configuration. Virtual consoles may be switched between using Ctrl + Alt + F1 to Ctrl + Alt + F6 for the text consoles and Ctrl + Alt + F7 (sometimes F2-F8) for the graphical session.
10. Is it possible to log in multiple times under the same system username in Linux? What advantages does this provide?
Yes, Linux does allow simultaneous logins using the same username, whether through multiple virtual consoles, SSH sessions, or GUI sessions.
Advantages:
- Allows a user to run multiple tasks in separate sessions without interfering with each other.
- Easy for remote use, as it enables users to log on from different places.
- Allows multitasking in server administration and development environments.
But some of GUI DM doesn't support logging in single user (usually X11/Xorg ones).
During the laboratory work, we explored the interface and capabilities of the Linux operating system, including graphical environments and the command line. We learned to perform basic operations such as launching applications, switching between virtual consoles, changing users, and shutting down the system.